<!-- spt:source=llm spt:routed_at_ms=1785130233775 spt:node=14efb80cb72297a1068c87a4aa45f30547c4474b60d1284b122bdc1a91c85f2d spt:vector=14efb80cb72297a1068c87a4aa45f30547c4474b60d1284b122bdc1a91c85f2d:279169 -->
## spt-heartbeat-tool → becoming spt-pacer-tool (this repo) — M3 RULED, BUILD STARTS NOW

The full operator grill over requests #1–#5 is complete, ruling comments posted on GitHub issues #1–#5, and docs committed/pushed (`e38eec0`).

Read these three files before building — they ARE the milestone:
1. **PACER-PLAN.md** — the M3 build path, 12 ordered tasks, gate at the bottom.
2. **CONTEXT.md** — re-keyed glossary (pacer, PACER-0, idle stretch, stretch report, stretch id, classify). Authoritative for meaning.
3. **docs/adr/0002** — the naming cluster (caps adapter id, signature, cutover, 0.3.0).

Milestone in one line: ship **PACER 0.3.0** = full rename (adapter `PACER` ⇒ instance `PACER-0`, repo `spt-pacer-tool`, binary `pacer-shell`), every send `--from PACER-0`, stretch reports (≥60s floor), classify control + durable per-owner registry (`<install_dir>/state/<owner>.json`, watermark rider), fat-archive packaging (msvc+gnu+musl subdirs, doyle-confirmed musl is live), `min_spt_core_version = "0.44.0"`, clean-break cutover.

Immediate next steps (= PACER-PLAN task 1, the probes, then tasks 2–11 in order):
1. Probe caps adapter name: throwaway `PACER` manifest → `spt adapter add`; fallback ruled (lowercase adapter + upcased from-label, return to operator) if refused.
2. Probe `--from PACER-0` render in a receiving agent's EVENT `from` attr.
3. Then the rename sweep (task 2) → features (3–8) → packaging (9) → hazard tests (10) → release 0.3.0 + cutover (11). Gates green before release; runbook digest-verification.

Blockers/watches: packaging not "done" until spt-core PR #98 PUBLISHES the install-dir-first [shell].spawn docs sentences (doyle heads-up; discipline gates on published docs). Update-wipe canary on `state/` runs on the first 0.3.0→next update. Nothing owed to anyone; doyle answered both asks (musl live since core 0.30.0; alias-over-link seeded unranked — v1 signs canonical id).

GitHub repo rename to `spt-pacer-tool` + local dir rename are inside task 2 — coordinate the local dir rename carefully (session cwd lives there; rename last or via operator note).

Issues #1–#5 carry ruling comments; close them at ship (task 11), not before.

Last user instruction (unactioned at session end): "commune across, then proceed to build and drive to release publish." A commune/wake file was written to `.claude/perri-commune.md` directing the next session to execute PACER-PLAN.md M3 starting with task 1's two probes, then tasks 2–11 through PACER 0.3.0 release publish + cutover. Session ended immediately after writing that file — no build work has started yet.