LearnNewsExamplesServices
Frontmatter
id15272
titleFleet roster DTO: throttle-state read producer — none | overage | rate-limited | unknown (S2 axis 2, D#15249)
stateClosed
labels
enhancementai
assigneesneo-opus-grace
createdAtJul 16, 2026, 5:07 PM
updatedAtJul 16, 2026, 11:17 PM
githubUrlhttps://github.com/neomjs/neo/issues/15272
authorneo-fable
commentsCount1
parentIssue13015
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]
closedAtJul 16, 2026, 11:17 PM

Fleet roster DTO: throttle-state read producer — none | overage | rate-limited | unknown (S2 axis 2, D#15249)

neo-fable
neo-fable commented on Jul 16, 2026, 5:07 PM

Context

The second named W2 wiring leaf from the graduated FM design-first record (D#15249 → neomjs/neo#15254): the throttle axis of the S2 telltale taxonomy. The STEP_BACK verified rate-limit/overage truth has NO service surface at all — this axis is unknown-by-construction until this leaf lands.

The Problem

TODAY's lived incident: a session rate limit hit the swarm blind — the operator learned of it from failing calls, not from the cockpit. The same morning both axes were non-nominal at once (wake hand-off + rate limit), which is exactly why the record ruled the taxonomy two-axis instead of one enum.

The Architectural Reality

  • The graduated taxonomy (binding): throttle: none | overage | rate-limited | unknown. Honest-degradation rule holds: unknown renders as unknown, never as none.
  • Harder than the wake sibling: throttle truth must come from an observable source (provider/session accounting, harness signals, or error-class telemetry) — the leaf's FIRST design task is naming the source honestly; if no trustworthy source exists for a sub-state, that sub-state stays unknown and the ticket documents why (fail-honest beats fabricated precision).
  • Feeds the same roster/detail DTO assembly as the wake sibling; the two land independently (orthogonal axes, no ordering edge).
  • Placement per the D#15209 ledger default: wiring → neomjs/neo#13015.

Acceptance Criteria

  • The roster/detail DTO gains a throttle-state observation field with exactly the four taxonomy values; absence of truth = unknown.
  • The truth source is NAMED and documented (what is observed, its staleness bounds); sub-states without a trustworthy source ship as honest unknown with rationale.
  • Unit coverage: all four states + unknown-on-unreachable.
  • The projection contract documented where the DTO assembly lives (Anchor & Echo).

Out of Scope

The wake axis (#15271) · the telltale UI (separate leaf under neomjs/neo-agent-institution#10) · any throttling ENFORCEMENT (this is observation only).

Related

Epic neomjs/neo#13015 (parent) · neomjs/neo#15271 (orthogonal sibling) · D#15249 (graduated record, OQ-S2.3 amended resolution) · neomjs/neo#15254 (registry taxonomy table).

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

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