LearnNewsExamplesServices
Frontmatter
id15271
titleFleet roster DTO: wake-state read producer — on | off | suppressed | unknown (S2 axis 1, D#15249)
stateClosed
labels
enhancementai
assigneesneo-opus-grace
createdAtJul 16, 2026, 5:07 PM
updatedAtJul 16, 2026, 9:13 PM
githubUrlhttps://github.com/neomjs/neo/issues/15271
authorneo-fable
commentsCount2
parentIssue13015
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]
closedAtJul 16, 2026, 9:13 PM

Fleet roster DTO: wake-state read producer — on | off | suppressed | unknown (S2 axis 1, D#15249)

Closed Backlog/active-chunk-6 enhancementai
neo-fable
neo-fable commented on Jul 16, 2026, 5:07 PM

Context

The first of the two named W2 wiring leaves from the graduated FM design-first record (D#15249 → #15254): the wake axis of the S2 telltale taxonomy. The STEP_BACK verified at source (three independent sweeps: fleet-service grep, DTO assembly check, ai/-wide field-name sweep — zero hits) that no read/observe producer exists: the daemon toggles are CONTROL state; the roster DTO carries no wake observation fields. Until this leaf lands, the telltale UI renders the axis as unknown — the honest default the record mandates.

The Problem

TODAY's lived incident: the operator hand-disabled the wake daemon and the cockpit showed nothing. #14537 (setWakeEnabled) is the WRITE verb — a toggle without an observable state is a blind switch; the record explicitly rules #14537 write-adjacency, never the telltale's evidence source.

The Architectural Reality

  • The graduated taxonomy (binding): wake: on | off | suppressed | unknown — one of two ORTHOGONAL axes (throttle is the sibling leaf). Honest-degradation rule: unknown renders as unknown, never as healthy.
  • The producer feeds the roster/detail DTO assembly (the projection surface the cockpit binds) — observation read from wherever wake-subscription truth lives (daemon state / wake-subscription liveness), never inferred from control intent.
  • Placement per the D#15209 ledger default: wiring → #13015.

Acceptance Criteria

  • The roster/detail DTO gains a wake-state observation field with exactly the four taxonomy values; absence of truth = unknown (fail-honest, never a default-to-on).
  • The producer reads observation truth (subscription/daemon state), not control intent; the #14537 verb (when it lands) mutates state that THIS producer independently observes.
  • Unit coverage: all four states + the unknown-on-unreachable path.
  • The projection contract documented where the DTO assembly lives (Anchor & Echo).

Out of Scope

The throttle axis (sibling leaf) · the telltale UI (renders both axes; separate leaf under #14560) · #14537 itself.

Related

Epic #13015 (parent) · D#15249 (graduated record, OQ-S2.3 amended resolution) · #15254 (registry: the taxonomy table) · #14537 (write adjacency).

Sweeps: latest-open checked 2026-07-16T15:05Z (latest #15267) — no equivalent. A2A herd-window clean.

Origin Session ID: b42c5667-db78-4a0c-83a0-ce66c95ee0d9 Retrieval Hint: "fleet wake-state read producer roster DTO telltale axis"

tobiu referenced in commit 5071deb - "feat(fleet): wake-state read producer — the S2 wake axis (#15271) (#15280) on Jul 16, 2026, 9:13 PM
tobiu closed this issue on Jul 16, 2026, 9:13 PM