---
name: checkpoint-commune-wave-built
description: "Checkpoint-commune wave SHIPPED — adapter v0.7.0 released + cplugs sptc 0.1.6 published (multi-line idle, checkpoint communes via --json-payload, psyche-download resume); only new-plugin-install dogfood E2Es remain."
metadata: 
  node_type: memory
  type: project
  originSessionId: ddb3691d-6635-4e91-bb00-3365d2fec908
---

Checkpoint-commune wave (operator-requested) — SHIPPED 2026-06-24 (perri). BUILT + VALIDATED on published spt-core v0.15.0 (counter 34) + doyle GATE-PASS + PUBLISHED both targets. Builds on the [[f019-idle-submit-and-v0142]] keystone. Adapter v0.7.0, min_spt_core 0.15.0, cplugs sptc 0.1.6.

**PUBLISHED (both ADR-0001 targets):**
- Adapter `.spt` -> GitHub release **v0.7.0** on SaberMage/spt-claude-code (asset `adapter.spt`, Latest, not draft). Fat archive both triples (floor 0.15.0), dogfood-proven pre-upload (extract+flatten+translate-proof fired normal framing AND checkpoint macro). Build: Windows native + Linux cross (cargo-zigbuild + zig 0.14.1 at `~/.sptc-zig/zig-x86_64-windows-0.14.1`, add to PATH). Pack: `sh ci/publish/package-adapter.sh --apply` -> dist/adapter.spt. Release: `gh release create v0.7.0 dist/adapter.spt#adapter.spt`.
- cplugs skeleton **0.1.6** -> SaberMage/cplugs main @ b14bb19 (structural bump: new PostToolUse hook). Stage: `sh ci/publish/package-skeleton.sh --apply` -> marketplace clone `~/.claude/plugins/marketplaces/cplugs/plugins/sptc` -> commit+push via `git -C`.
- NOTE: no `.github/workflows` in repo -> tag triggers NO docs-publish action (pre-existing gap; docs in-repo + llms.txt in sync). Pointer-flip (`claude plugin install sptc@cplugs` + session restart) is a per-node operator step, NOT auto-run (would disrupt the active session).

Commits on main: `211a5cc` doc-capture, `befa592` T1, `e27e0d3` T2, `38044e2` T3, `a9aa714` v0.15.0-publish, `5a1d744` watch-item, `50eac11` release-prep. Tag `v0.7.0`.

**What shipped (don't re-derive):**
- **T1 multi-line idle envelope** (REQ-DIST-IDLE-MULTILINE impl+unit+int). `frame_envelope` splits `<EVENT>` opening-tag/`\n`/body/`\n`/closing-tag after stray-CR/LF neutralize; degenerate fallback for non-`<EVENT>` (incl. EVENT-PART). CC soft-newlines a bare `\n` (empirically gated).
- **T2 checkpoint communes** (REQ-DIST-CHECKPOINT-COMMUNE doc+impl+unit+int). `!!checkpoint!!` write-trigger (single=default wake "Proceed with next steps"; PAIR brackets custom wake) -> PostToolUse(Write) hook `post-tool-use.sh` -> `api state idle` + self-send `spt send --json-payload '{"checkpoint":"v1","wake":...}'`. Binary parses the `json="..."` envelope ATTR -> xml-attr-unescape (`&amp;` LAST) -> serde -> `checkpoint=="v1"` -> clear+wake macro. Marker one-shot (core strips on ingest). Full-fat `/sptc:commune --checkpoint`.
- **T3 resume parity** (REQ-DIST-RESUME-CONTEXT impl+unit+int). `sptc_psyche_download` + `sptc_append_resume` in `session-start.sh` bind|boundary brief -> injects `spt api psyche-download <id>` stdout VERBATIM. Fires bind AND boundary (boundary = checkpoint re-seed path). Closes F-020.

**VALIDATED on-node (real spt 0.15.0):** T2 LIVE LOOPBACK (real --json-payload self-send drove a spt-hosted CC through /clear + wake turn, transcript-proven); T3 psyche-download 4-way contract (verb/NO-CONTEXT/AUTH/POSITIVE) via deterministic CI `ci/psyche-download/psyche-download-int.sh` (bind-creates a throwaway perch, no real CC; 8-poll window straddles the ~5s ingest pulse per doyle's watch-item).

**STILL OPEN — the two harness-glue dogfood E2Es** (doyle gate ruling: logged, NOT CI; CHECKPOINT-COMMUNE-PLAN.md §Deferred validations). Now UNBLOCKED by the publish: a node that installs sptc 0.1.6 + adapter v0.7.0 and spawns a fresh spt-hosted CC runs the NEW hooks -> dogfood (a) T2 PostToolUse write-detect (real `!!checkpoint!!` Write -> self-send), (b) T3 SessionStart injection (hook consuming psyche-download into live CC). Run once a node lands the new plugin.

**Recipe:** comms = legacy `$OWL send doyle perri` (new-spt `spt send doyle` = NO_PERCH); Bash tool for sends (PowerShell has no printf). Validation: swap installed `cc-spt-idle-translate.exe` (Harness Pointer at `AppData/Local/spt-core/adapters/_github/SaberMage-spt-claude-code/`), `spt endpoint run --adapter claude-spt --id <id> --create --start --subnet SPT_DEV`, perch session_id in `owlery/<id>/info.json` (the CC post_spawn uuid, NOT the endpoint-run session), transcript at `~/.claude/projects/<slug>/<cc-uuid>.jsonl`. Teardown: `spt endpoint purge <id> --force --yes` + restore binary.
