The delivered slice of #16737's tier-degradation AC — split per the one-PR-resolvable rule (the #16787 precedent, same parent): this leaf carries exactly what its PR ships; the parent keeps the horizon-band vocabulary, wake-route health, and viewer-scoping ACs.
Context
Operator falsifier, live 2026-08-10 ~23:50 (evidence: #16737 comment IC_kwDODSospM8AAAABOLNxVg): the plane's who_is_online surface entered a degradation wave, the producer correctly emitted the degraded/none capability envelope (fleetPresenceStateAdapter.mjs:153-159), every card's presence band correctly vanished (absence of signal, never a verdict) — and the operator read the unnamed absence as "no one is online", a verdict. The naming half of the AC ("renders from tiers that ANSWERED and names them") was undelivered for the all-tiers-failed case: grep capabilities.presence apps/agentos/ → zero consumers; loadRoster destructured {rows} and dropped the envelope.
The Fix (as shipped)
FleetCockpit.loadRoster retains capabilities from the assembler DTO and plumbs capabilities.presence ?? null onto the grid on every ADMITTED snapshot (generation-fenced; recovery clears on the next poll — the polls already re-read, verified across two live degradation/recovery cycles).
FleetGrid gains the reactive presenceCapability_ config + a header chip (fleet-presence-cap, role=status) rendered by an idempotent applier: degraded → "presence unobservable · <producer's retained reason>"; wired renders nothing (bands speak); not-wired renders nothing (an expected-absent axis must not become another permanent line — the #16924 doctrine); a11y label mirrors the visible words.
- SCSS: one chip class riding existing tokens (idle-amber border — informational, below the wedged alarm register).
Acceptance Criteria
Out of Scope
Horizon bands, wake-route health, viewer scoping (parent #16737) · spine-banner verdicts (#16913, delivered) · the #16924 default-state partition (sibling PR).
Related
#16737 (parent) · #16787 (the split precedent) · #16924 / PR #16926 (sibling render doctrine).
Live latest-10 sweep 2026-08-10T22:05Z: no equivalent. A2A sweep: no overlapping claim.
Origin Session ID: ff94e740-acb8-4f25-a94b-b614bdd91ea1
Retrieval Hint: "presence capability envelope chip unobservable named degradation"
The delivered slice of
#16737's tier-degradation AC — split per the one-PR-resolvable rule (the#16787precedent, same parent): this leaf carries exactly what its PR ships; the parent keeps the horizon-band vocabulary, wake-route health, and viewer-scoping ACs.Context
Operator falsifier, live 2026-08-10 ~23:50 (evidence:
#16737commentIC_kwDODSospM8AAAABOLNxVg): the plane'swho_is_onlinesurface entered a degradation wave, the producer correctly emitted thedegraded/nonecapability envelope (fleetPresenceStateAdapter.mjs:153-159), every card's presence band correctly vanished (absence of signal, never a verdict) — and the operator read the unnamed absence as "no one is online", a verdict. The naming half of the AC ("renders from tiers that ANSWERED and names them") was undelivered for the all-tiers-failed case:grep capabilities.presence apps/agentos/→ zero consumers;loadRosterdestructured{rows}and dropped the envelope.The Fix (as shipped)
FleetCockpit.loadRosterretainscapabilitiesfrom the assembler DTO and plumbscapabilities.presence ?? nullonto the grid on every ADMITTED snapshot (generation-fenced; recovery clears on the next poll — the polls already re-read, verified across two live degradation/recovery cycles).FleetGridgains the reactivepresenceCapability_config + a header chip (fleet-presence-cap,role=status) rendered by an idempotent applier: degraded → "presence unobservable · <producer's retained reason>";wiredrenders nothing (bands speak);not-wiredrenders nothing (an expected-absent axis must not become another permanent line — the#16924doctrine); a11y label mirrors the visible words.Acceptance Criteria
wired/not-wired/nullrender nothing; recovery clears a previous claim.loadRosterplumbs the envelope on admitted snapshots and null when absent (fenced harness spec).Out of Scope
Horizon bands, wake-route health, viewer scoping (parent
#16737) · spine-banner verdicts (#16913, delivered) · the#16924default-state partition (sibling PR).Related
#16737(parent) ·#16787(the split precedent) ·#16924/ PR #16926 (sibling render doctrine).Live latest-10 sweep 2026-08-10T22:05Z: no equivalent. A2A sweep: no overlapping claim.
Origin Session ID: ff94e740-acb8-4f25-a94b-b614bdd91ea1
Retrieval Hint: "presence capability envelope chip unobservable named degradation"