Files
state-hub/dashboard/src/docs/overview.md

91 lines
3.1 KiB
Markdown

---
title: Overview — Reference
---
# Overview — Reference
The Overview page is the operational home screen of the Custodian State Hub.
It shows the live health of the entire ecosystem at a glance — active work,
blocking decisions, and system-derived next-step suggestions.
---
## Sections
### Open Workstreams by Repository
A horizontal stacked bar chart showing workstreams grouped by domain and then
by repository. Each bar is broken into four task-status segments:
| Colour | Segment |
|--------|---------|
| green | done |
| blue | in progress |
| orange-red | blocked |
| light grey | todo |
The left axis shows the `domain / repository` label once per repository group.
The `done/total` count is printed to the right of each bar. Workstreams with no
tasks yet show a grey "— no tasks yet" label.
Hovering a bar shows the repository, domain, and backing workplan filename when
the workstream is file-backed. Clicking a bar or its label opens the workstream
drilldown page with the attached task list.
### Contribution & SBOM Health
Three summary cards linked to the Contributions and SBOM pages:
| Card | Shows |
|------|-------|
| **Contributions** | Total artifact count; orange warning if any are awaiting upstream response |
| **Licence Risk** | Count of SBOM packages with copyleft licences in direct dependencies |
| **SBOM** | Breakdown by contribution type (BR / FR / EP / UPR) |
### Status
Four metric cards:
| Card | Meaning |
|------|---------|
| **Active Workstreams** | Count of active/blocked execution workstreams |
| **Blocking Decisions** | Pending decisions with status `open` or `escalated` — orange border if > 0 |
| **Blocked Tasks** | Click to expand the list with blocking reasons |
| **Events Today** | Progress events created on today's date |
### What's next?
System-derived action suggestions from `GET /state/next_steps`. Suggestions are
generated when a decision is resolved or a workstream dependency is cleared, and
they point to the first open task in the relevant workstream. These are derived
on request and never persisted.
### Blocking Decisions
Inline resolution form for each pending decision. Expand a card, enter a
rationale and "decided by" name, and click **Record & close**. The decision is
resolved via `POST /decisions/{id}/resolve` and disappears from the list
without a page reload.
### Registered Projects
Table of projects registered with `make register-project`, sourced from
`milestone` progress events whose summary starts with
`"Project registered with State Hub:"`.
### Recent Activity
Last 20 progress events across all domains, showing time, event type, author,
and summary.
---
## Data source
Polls `GET /state/summary` every **15 seconds**. The workstream chart also polls
`GET /workstreams/`, `GET /tasks/?limit=2000`, `GET /topics/`, `GET /repos/`,
and `GET /workstreams/workplan-index` for repository grouping, task counts, and
workplan filename tooltips. Blocking decisions are fetched separately via
`GET /decisions/?decision_type=pending` and only re-fetched after a successful
resolve action — this prevents the inline form from being wiped on every poll.