Skip to content

Show every Supply on the status page, quiet ones included - #795

Merged
xmap merged 1 commit into
mainfrom
worktree-supply-status-visibility
Sep 10, 2026
Merged

Show every Supply on the status page, quiet ones included#795
xmap merged 1 commit into
mainfrom
worktree-supply-status-visibility

Conversation

@xmap

@xmap xmap commented Sep 10, 2026

Copy link
Copy Markdown
Owner

Summary

A BLEPS cooling-water trip at 2-BM on 2026-09-10 08:16 CDT was recorded, pushed, and sitting in the relay's 24h buffer, yet was invisible to the operator watching the status page. Verified by connecting to /watch as a viewer: the event was the only activity event in the buffer, so this was never a plumbing problem.

Three things hid it, all on the render side:

  • the supplies lane was presence-gated, so it was absent on every quiet day and a viewer could not tell "still watching" from "not drawn"
  • SupplyMarkedUnavailable carried no EVENT_TIER, so a trip drew as the same faint dot as a routine registration
  • the snapshot side had no Supply at all, so the default view could not answer what a run's resources are resting in

Changes

  • _status_push.py: _drain_supplies plus a supplies snapshot field, threaded through _build_payload_fields / _push_loop / status_push_lifespan, wired in main.py
  • page.html: supply event tiers, supplies added to ALWAYS_ON, and a supplyLines panel naming each supply with status, reason and time
  • design/fixtures.js: a Supplies lane so the harness stops diverging from an always-on page
  • seed_status_publisher.py: docstring now says ten BCs, and drops a stale claim that reads are issued as SYSTEM_PRINCIPAL_ID (all 13 call sites pass the agent principal)

Two deliberate calls

The drain does not narrow to healthy rows, unlike every sibling drain here. A Supply earns its place on screen precisely when it is Unavailable, Recovering, or never observed; narrowing it the way the enclosure drain narrows to Active would empty the panel on the days it matters. Only terminal Decommissioned is dropped, in Python rather than by the query, because ListSupplies.status takes a single value.

STATUS_PUBLISHER_AGENT_DESCRIPTION is untouched even though it lists the BCs. seed_agent is create-only, so editing it would change only fresh deployments and silently diverge from arcturus's existing record.

Test plan

  • test_lifespan_pushes_unhealthy_supplies_and_drops_only_decommissioned guards the non-obvious invariant, and is mutation-checked: narrowing the drain to Available (the plausible wrong implementation) makes it fail
  • 87 status-push, 16 relay, 1059 api unit, 14178 unit, 37444 architecture tests green
  • pyright and ruff clean
  • Verify on the live 2-BM page after deploy that the cooling-water trip renders as a critical mark and the panel lists all five supplies

🤖 Generated with Claude Code

A BLEPS cooling-water trip on 2026-09-10 was recorded, pushed, and sat
in the relay's buffer, yet was invisible to the operator watching the
page. Three things hid it. The activity tail already carried the event
and page.html already mapped Supply onto a lane, but that lane was
presence-gated, so it was missing on every quiet day and a viewer could
not tell "still watching" from "not drawn". The event carried no tier,
so a trip rendered as the same faint dot as a routine registration. And
the snapshot side had no Supply at all, so the default view could not
answer what a run's resources are resting in.

The drain deliberately does not narrow to healthy rows, which is the one
place this departs from every sibling drain here. A Supply earns its
place on screen precisely when it is Unavailable, Recovering, or has
never been observed at all; narrowing it the way the enclosure drain
narrows to Active would empty the panel on the days it matters. Only
terminal Decommissioned is dropped, and in Python rather than by the
query, because ListSupplies.status takes a single value and "all but
one" is not expressible as a filter.

Recovering is tiered notable rather than routine even though it is the
good-news direction: it means a person still has to accept the supply
back. Drawn quietly it goes unnoticed, which is how one rested there for
a fortnight at 2-BM.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

Coverage report

Click to see where and how coverage changed

FileStatementsMissingCoverageCoverage
(new stmts)
Lines missing
  apps/api/src/cora/agent
  seed_status_publisher.py
  apps/api/src/cora/api
  _status_push.py
Project Total  

This report was generated by python-coverage-comment-action

@xmap
xmap merged commit b3b6710 into main Sep 10, 2026
19 checks passed
@xmap
xmap deleted the worktree-supply-status-visibility branch September 10, 2026 15:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant