# NOW-SIGNAL #23 intake — wave map (doyle, 2026-08-30, base main `aa9ac15a`)

Operator-greenlit milestone; #245 linked by operator at intake hour. 11 members, 1 closed
(#33 fork-monics, shipped earlier). Design authority: CONTEXT.md §now-signal (ratified
2026-07-29, access-control grill) — v1 categories HINTS / ENDPOINT_MENTIONS / MONICS /
SHELLS / LAST_MSGS / EDGE_TRANSITIONS, delta-only discipline, per-session seen-sets,
`--spec-manifest`/`--spec-file` tuning; PROJECTS + FILE_ACCESS_HELPER minted-deferred.

## Delivered-vs-open census (measured at origin/main, not assumed)

`crates/spt/src/api/nowsignal.rs` (1075 lines) carries the core verb WHOLE: `Category`
enum, `compose`, `SeenSet` (delta discipline), `NowSpec` (spec tuning), and gather fns
for all six v1 categories. This session's own inbound payloads corroborate live
(`<SHELLS>`, `<LAST_MSGS>`, `<ENDPOINT_MENTIONS>` received today). SEAL_BRIEF and
UPDATES tokens: ZERO hits in crates/ — the two unbuilt categories.

- **#11 core verb — DELIVERED (IO-PARSER milestone rode the MONICS consumer, W5/#233).**
  W0 verifies each ticket ask against source and closes with evidence; no build lane.
- **#14 ENDPOINT_MENTIONS — DELIVERED per CONTEXT ratification** (existence + online +
  node + shared-subnets + description-once-per-session = the ticket's asks). W0 verify.
- **#18 SEAL_BRIEF — OPEN build** (≤2 short sentences, operator constraint verbatim;
  once-per-session delta).
- **#245 UPDATES — OPEN build** (update events + new version for spt-core, the
  endpoint's harness adapter, registered shells' adapters).
- **#44 attachment state-change channel — OPEN build** (shells subscribe; sibling of
  the activity idle/busy channel; notices carry attached-node lists + changed node).
- **#45 attachment alerts — OPEN build, depends #44's edge detection** (5-min unattached
  conditions; `--active-only` away message with exact ticket wording; reciprocal
  short re-attach notice ONLY if the away message fired).
- **#133 shell adapter [hints] — OPEN build** (kind=shell manifests gain [hints];
  not-instantiated → one-line pointer + CLI-to-surface; instantiated → full hint
  regardless of linked state; surfaces through the HINTS category).
- **#113 echo commune cadence — OPEN, MEASURE-FIRST MANDATORY**: ticket orders empirical
  surfacing from `../claude_skill_owl` (operator-authorized legacy read for BEHAVIOUR;
  wire/schema copy-verbatim per ADR-0001, everything else clean-room) + grounding
  against CONTEXT.md. Cadence parameters and the not-surfaced-to-running-context change
  are psyche-behaviour changes — measure-first report BEFORE build, fork points to me.
- **#16 PROJECTS / #17 FILE_ACCESS_HELPER — deferred-by-design; preconditions to
  MEASURE at W0**: PROJECTS needed "project-index cross-node semantics" — gossip now
  carries per-endpoint project data (REQ-GOSSIP-ADAPTER-PROJECTS, registryhost.rs,
  MAX_GOSSIPED_PROJECTS 8), so the precondition may be satisfied; FILE_ACCESS_HELPER
  needs off-node file-transfer UX state measured. Verdict per member: compose into W3+
  if ripe, else STOP-AND-REFER the defer to the operator BEFORE close (never a silent
  drop — relocate-or-back-to-eval rule).

## Waves

- **W0 (doyle + todlando split, immediate):** delivered-verify #11/#14 with evidence
  comments; precondition measurements for #16/#17; #113 legacy-cadence empirical
  report (todlando measure-first, no build).
- **W1 (todlando):** #245 UPDATES + #18 SEAL_BRIEF — two small categories on the
  existing nowsignal seam (Category variants + gathers + seen-sets + docs).
- **W2 (todlando):** #44 channel, then #45 alerts on top (one lane, two commits min).
- **W3 (todlando):** #133 shell [hints] (manifest schema + HINTS integration).
  #16 joins here iff its precondition measured ripe.
- **Test lanes:** hertz (per dispatch split) — his queued daemon-leak fixup lane is
  independent and drains on his wake; new-category/channel tests ride the build lanes
  (todlando) with hertz picking up rig/flake hardening only.

## Register riders composed INTO this milestone (intake-sweep mandate)

- IR-59 log-the-floor half + IR-57 scripted pick-fidelity audit = the standing tooling
  pair (composed at v0.65.0 close, due this intake).
- IR-73 literal-first floor-site reorders ride this milestone's first workflow commit.
- IR-14/26/27/49 between-milestone audit slot: window is NOW, before W1 build load —
  execute as the intake's parallel-fill work (a running verify is a dispatch window).
- IR-11 (headless column) + IR-33(a) (clap stack smoke) small riders — attach to
  whichever lane touches their files, else hold.

## Discipline carried

- Pre-flight: targeted suites per wave; no full sweeps into load windows; pool claims
  from the lane's own worktree; worktrees under `.worktrees/` only; conhost CWD-pin
  sweep (IR-63 third face) before any worktree reap.
- Golden head: assembled by doyle, handed to deployah (armed, confirmed 02:15Z);
  greenlit-form check + shape-inside-candidate (IR-54 evidence noted at close sweep);
  drive the ACCEPTANCE cascade BEFORE publish (v0.65/v0.66 card off-by-one,
  spt-progress-tool#78).
- treqs: activate REQs per wave as work starts, never pre-fail; `"` out of titles.
