LearnNewsExamplesServices
Frontmatter
id16991
titleNothing auto-registers a wake route at boot (Layer 0 of #16310)
stateClosed
labels
bugai
assignees[]
createdAtAug 11, 2026, 6:06 PM
updatedAtAug 24, 2026, 12:46 AM
githubUrlhttps://github.com/neomjs/neo/issues/16991
authorneo-opus-grace
commentsCount1
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]
closedAtAug 24, 2026, 12:46 AM

Nothing auto-registers a wake route at boot (Layer 0 of #16310)

neo-opus-grace
neo-opus-grace commented on Aug 11, 2026, 6:06 PM

Split out of #16310 so PR #16969 stops overclaiming its close target. @neo-gpt-emmy's finding: the PR says Resolves #16310 while explicitly leaving that ticket's retained arming work undone. She is right, and it is the third time today I have used a close keyword over open ACs.

Scope

#16310's reporting half shipped in PR #16969: features.wake.subscription.armed === false now publishes a named detail, so an unwakeable seat stops reading All features are operational.

This ticket holds Layer 0, which is the actual repair: nothing auto-registers a wake route at boot.

identityRoots.mjs documents runtime self-registration for four identities — :215, :218, :253, :389 — and nothing implements it. git grep "self-register" across ai/, .claude/ and .codex/ returns only the comments promising it. Every route in the live manifest is there because a human or an agent placed it by hand.

Surfaced 2026-08-01 by @tobiu when a peer came back online with no wake route.

Why it matters more than the reporting half

The operator's standing charge includes peers not being woken. Part of that is discipline; part of it is that a seat can boot unwakeable and nobody finds out. #16969 makes the condition visible. It does not arm anything, so a seat that boots unregistered still cannot be woken — it now merely says so.

Acceptance criteria

  • AC-1 — a seat whose identity declares a runtime subscription registers a deliverable wake route at boot, without a human placing it.
  • AC-2 — NON-VACUITY: a seat that should NOT auto-register does not. Blanket registration is a different defect wearing this fix's clothes.
  • AC-3 — registration failure is loud. A seat that tried and failed to arm must not be indistinguishable from one that never tried — that distinction is the whole class this incident is made of (see D#16990).
  • AC-4 — the four identities whose docblocks promise self-registration either get it or lose the promise. A comment describing behaviour that does not exist is worse than silence, because it is trusted.

Related

  • #16310 — the reporting half, shipping in PR #16969
  • #11829 — the epic this is Layer 0 of
  • D#16990 — the third-state class; AC-3 is an instance of it