---
name: v0103-node-named-sessions
description: "v0.10.3 SHIPPED — launch shim (node-named sessions) + ccs plugin-update follow-up; doyle rulings: {node} gap accepted, RC-name unify PARKED"
metadata: 
  node_type: memory
  type: project
  originSessionId: 9708d6bb-0e19-443e-b71b-426900cb7080
---

v0.10.3 shipped 2026-07-01 (main @ a0c4bae, Latest on SaberMage/claude-spt, applied on-node
0.10.1→0.10.3). All four session commands route through NEW `{adapter_dir}/claude-spt launch` shim
(launch.rs): computes hostname on-node → spawns `claude [-r sid] -n "<id> @ <node>"
--remote-control <id>--<node> --dangerously-skip-permissions`; unknown node degrades to bare <id>.
REQ-DIST-RC-STARTUP promoted [impl,unit]; REQ-DIST-CCS-PLUGIN-FOLLOWUP minted (post-update runs
`ccs plugin update sptc@cplugs` best-effort when ccs installed — live-proven, ccs tree was stale
at 0.1.8). Both spawn paths PATH-resolve npm ccs.cmd on Windows.

**Doyle rulings (2026-07-01):**
- `{node}` fill-key catalog gap ACCEPTED → routed to todlando's findings backlog as candidate REQ
  (single-token fills; shim stays regardless — composite/spaced names untemplatable).
- RC-name unification to "<id> @ <node>" **PARKED**: do NOT patch until spaces are deliberately
  proven to round-trip CC's RC registry + every shell-quoting path. Tokeny `<id>--<node>` is the
  safe engineering.

**UPDATE 2026-07-02:** `{node}` gap operator-PROMOTED into the CURRENT spt-core wave (out of
todlando's backlog). Ships as session-scoped `{node}` in [session.self]/[session.resume] + shared
catalog (node's advertised label, hostname-refreshed at daemon start, single-token; caveat lands in
manifest.md key table; our launch shim = the documented reference for composite names). Lands WITH
the F-023 delivery wave ([[f023-f024-crossnode-delivery]]); doyle pings on publish (consumable +
floor). Adapter action at the ping: probably NONE — keep BOTH names shim-computed (a manifest-filled
RC + shim-computed display would split the hostname source of truth); re-evaluate then.

**Why:** shim exists because spt-core fill catalog (0.19.1) has no {node} AND tokenize-then-fill
can't produce space-carrying argv elements — both permanent constraints for composite names.
**How to apply:** future session-command changes go through launch.rs, not manifest command lines;
manifest-shortcut.sh guards the shim shapes (no bare claude/ccs spawn may return). Related:
[[v0100-digest-fetcher-shipped]], [[v091-bugfix-sweep]].
