---
name: v06x-w3-f017-v061
description: "2026-06-22 perri session — W3 psyche-lock validated, F-017 multi-subnet seed shipped, v0.6.1 fat-archive packaging shipped (F-014 dead)"
metadata: 
  node_type: memory
  type: project
  originSessionId: e2a44c8e-df24-4cba-8ede-fff02a618f5e
---

2026-06-22 live session (perri, legacy spt). spt-core now v0.13.2 (counter 29); claude-spt **v0.6.1** shipped; node clean. Three bodies of work, all closed with doyle:

**A — W3 psyche-lock fix VALIDATED on spt-core v0.13.2** (doyle ADR-0025). Ran my F-010×F-015 repro on real claude-spt: (1a) live psyche runs from `<perch>/.live-bin/claude-spt-psyche.exe` own-copy (NOT install dir); (1b) install-dir binary stays unlocked while live (tar-exit-1 precondition gone); (2) orphan psyche reaps on `spt endpoint stop` (1→0). **F-010×F-015 CLOSED both sides.** Live-bringup recipe on a multi-subnet node = `api seed` + persistent `api listen <id> --subnet SPT_DEV` (hook-path listen TAKES --subnet; only spt-hosted `endpoint run` lacks it = the F-017 gap).

**B — F-017 logged + regression seed shipped.** `ci/subnet/multi-subnet-bringup-int.sh` (3 cases, multi-subnet-gated; commit 62cfbe3, pushed). F-017 = REQ-RUN-MULTISUBNET-HOME (doyle ADRs 0026/0027, v0.14.0 milestone, todlando W6/PR#30). HOME_REFUSED pins through v0.13.2.

**C — packaging modernized, v0.6.1 shipped (F-014 DEAD).** Single MULTI-PLATFORM fat `adapter.spt` (ADR-0024 W1): shared manifest.toml+strings/ at root + per-triple binary subdirs (`x86_64-pc-windows-msvc/`, `x86_64-unknown-linux-gnu/` — the ONLY two spt-core recognizes; unrecognized triple silently flattens = footgun, packer guards it). Install classify+flattens this node's triple → install-dir root → bare-name resolves. **min_spt_core_version 0.9.0→0.13.2 (MANDATORY for a fat archive).** Replaces F-014 windows-copy stopgap + per-OS scheme. /sptc:setup simplified to bare `adapter add --release` (host-agnostic). cplugs sptc **0.1.5** pushed. Proof ints (translate/digest) simplified to v0.13.2 `--dir/--manifest` (F-011 W5; dropped the stale `adapter add/remove claude-spt` staging that soft-removed the real adapter). Commits 3ad54c0 + 934b79d (pushed). **Real-extract proven on-node**: `adapter add --release --tag v0.6.1` → spt-core fetch→classify→flatten win-triple → claude-spt 0.6.1, update UPTODATE, proofs green.

**FINDINGS this session:** F-018 (`spt adapter add --github` on an already-extracted gh_release Pointer is a destructive footgun — wipes install, os-error-2, F-011 sibling; doyle accepted, adapter-safety fast-follow). Multi-platform .spt authoring layout was published-docs-MISSING (only in spt-core CONTEXT.md) → doyle fixing in spt-core PR #31 (not separately logged, his call). `add --release` DEFERRED label = eager-extract + deferred-update-conduct, not lazy (doyle confirmed; label-clarity polish batched w/ F-018).

**NEXT (on doyle pings):** (1) v0.14.0 publish validation — re-run multi-subnet repro on real claude-spt when shipped (my committed deliverable); (2) F-018 + deferred-label-polish dispatch — watch. See [[prep4-v030-parity-closed]], [[psyche-sandbox-and-adr-leak]].
