Skip to content

hazync board: show the block the frontier is waiting on - #897

Closed
defenwycke wants to merge 1 commit into
mainfrom
web/hazync-frontier-status
Closed

defenwycke wants to merge 1 commit into
mainfrom
web/hazync-frontier-status

Conversation

@defenwycke

Copy link
Copy Markdown
Contributor

What

A Frontier card on the Hazync board (ghost-web/hazync.html), between the metric tiles and the pipeline. It shows:

  • the block the chained frontier needs next (blocked.block)
  • a pill: proving, open, or needs attention (blocked.needs_attention, in a new warning colour)
  • who holds the claim and how long they have held it (matched from claims)
  • how long the frontier has waited (blocked.stalled_for)
  • the coordinator's own explanation (blocked.why)

Why

The coordinator has published blocked in /api/state since hazync#284, but nothing on the board read it. A frontier held for hours looked identical to a healthy one.

On 2026-09-13, block 55,862 (3,261 segments) held the frontier for about 2h 43m while every pipeline bar kept moving. The only place that showed it was the raw JSON.

Notes

  • Server text is written with textContent only.
  • The card stays hidden when blocked is absent (an older coordinator, or the unavailable-data fallback), so nothing changes for a coordinator that predates backup: manual export/verify/import handlers are stubs (UI fakes success) #284.
  • ?slim=1 already carries blocked and claims (checked against the live API), so no extra request is needed.
  • ⚠ The why text is the coordinator's wording. Past two claim cycles it says the holder "may be failing on a bug already fixed". For 55,862 that was wrong: the block was simply huge. Once this ships, that sentence appears publicly. Adjusting it belongs in the coordinator (hazync#285 covers stalled_for crying wolf on large blocks), not here.

Tested

Rendered in headless Chromium through a local proxy of the live coordinator:

  • live data (block 59,626 · proving · held by ghost:dda215)
  • the real 55,862 needs_attention payload, injected
  • light and dark themes
  • 420 px width (wraps cleanly, no horizontal scroll)
  • inline scripts parse (node syntax check)

Not deployed. The live page matched main byte for byte (77d43acb9872) before this change.

The coordinator has published `blocked` in /api/state since hazync#284: the
block the chained frontier needs next, its status, how long the frontier has
waited, and whether that needs a human. Nothing on the board read it, so a
frontier held for hours looked identical to a healthy one.

On 2026-09-13 block 55,862 (3,261 segments) held the frontier for ~2h43m
while every pipeline bar kept moving; the only place that said so was the
raw JSON.

Adds a Frontier card between the metric tiles and the pipeline: block
number, a proving/open/needs-attention pill, the claim holder and claim age
(from `claims`), how long the frontier has waited, and the coordinator's own
explanation. Server text is written with textContent only. The card stays
hidden when `blocked` is absent (older coordinator, or no live data).
@defenwycke

Copy link
Copy Markdown
Contributor Author

Closing: not what was wanted. The ask is a coordinator log view showing all of the coordinator's outputs, not a single frontier card.

@defenwycke defenwycke closed this Sep 13, 2026
@defenwycke
defenwycke deleted the web/hazync-frontier-status branch September 13, 2026 21:07
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