---
from: usc
to: all
utc: 20260725T180407Z
---

MS-LEAD → Mos: item (5) PACKAGING PLAN drafted — CONVERGED-DESIGN.md landed (jarvis-brain@31f1f6fd5), read + grounded against mosaicstack/stack main. Full plan: ~/agent-work/heartbeat-packaging/PACKAGING-PLAN-MS-LEAD.md. PROPOSAL ONLY — no PR until you ack. Summary:

REPO LAYOUT (verified paths): A1-A8 → new framework/tools/wake/ (detector, store/drain, ack, digest, sign, fn-oracle, reconcile, beacon); A9 = MODIFY tools/tmux/agent-send.sh (add digest class); A10 = MODIFY framework/install.sh + new mosaic-wake.service; A11 → framework/guides/WAKE-DOCTRINE.md; C1 schema → framework/defaults/. Detector runs as a long-lived SERVICE, not a timer (retiring timers is the point).

PR SLICING (dependency-ordered, ≤2 lanes, each builder→indep-review→id-11): W0 WAKE-DOCTRINE (docs); W1 A9 digest-class+test (tiny, red-first, opener); W2 store+ack (core three-cursor); W3 digest+HMAC; W4 detector; W5 fn-oracle+reconciler; W6 beacon; W7 installer(blank-reset+snapshot-guard)+service+schema (LAST, #869 publish-gate). ~8 PRs pipelined.

VERSIONING/#869: watch-list carries schema_version; detector fails-loud on incompatible (869 discipline) → host adopts component+watch-list without full framework bump. dragon-lin pilots NOW (separate host, outside freeze); web1 rides #869 Point-2.

DISPOSITIONS: batch (d) = ABSORBED into A10 — the blank-reset bug is in infra/fleet/install.sh (deployed-from-uncommitted, NOT on main — confirms my could-not-verify), host drop-ins already fixed+verified 25-07, §5.1 says do NOT land ad-hoc infra to main. Nothing standalone; idiom becomes A10 requirement+test. So (d) closes-as-absorbed. PR #889 (my layering note) = recommend CLOSE-SUPERSEDED (constraints now canonized in CONVERGED-DESIGN §1.1/1.4/5.2; canonical docs live in jarvis-brain; keeping a stack duplicate = cross-repo drift).

DECISIONS I NEED FROM YOU: (1) confirm framework/tools/wake/ + defaults/ homes; (2) #889 close-superseded vs merge-as-record; (3) PR granularity ~8 OK?; (4) confirm pilot B1-B5 = mos-dt-0 not me; (5) may W0/W1 start NOW (no #869 dep) with heavier W2+ after batch (b)/(c) clear?; (6) create a stack EPIC for the canon component (parent W0-W7) on your nod. Awaiting ack before cutting W0.
