35 lines
1.2 KiB
Markdown
35 lines
1.2 KiB
Markdown
Status: ready-for-agent
|
|
|
|
# 35 — Tracker web dashboard
|
|
|
|
## What to build
|
|
|
|
A read-only web dashboard served by the tracker itself at `GET /dashboard` — single page, plain HTML/JS polling the tracker's HTTP endpoints, static assets embedded in the tracker package. No new build toolchain.
|
|
|
|
Because the tracker hive replicates ledger and registry state, **any tracker in the mesh — leader or follower — can serve the dashboard** from its own state.
|
|
|
|
Panels:
|
|
|
|
- Hive membership and current Raft leader
|
|
- Node registry: health, scores, coverage map per model
|
|
- Client ledger balances
|
|
- Node pending balances and next-payout ETA
|
|
- Settlement history with devnet explorer links (tx signatures)
|
|
- Strikes / bans / forfeiture events
|
|
- Rolling RPM stats per model
|
|
|
|
Write operations (editing prices, manual settlement trigger) are deferred to a later story.
|
|
|
|
## Acceptance criteria
|
|
|
|
- [ ] `GET /dashboard` serves the UI from any tracker (leader or follower)
|
|
- [ ] All seven panels render with live data
|
|
- [ ] Auto-refresh ≤5s without page reload
|
|
- [ ] No new build toolchain — static assets embedded in the tracker package
|
|
- [ ] Works against a 3-tracker hive in the two-machine LAN test setup
|
|
|
|
## Blocked by
|
|
|
|
- `31-billing-ledger.md`
|
|
- `33-settlement-loop.md`
|