85 lines
2.7 KiB
Markdown
85 lines
2.7 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 Domain
|
||
|
|
|
||
|
|
A horizontal stacked bar chart showing every active workstream across all six
|
||
|
|
domains. 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 domain labels (one per group of workstreams). The `done/total`
|
||
|
|
count is printed to the right of each bar. Workstreams with no tasks yet show
|
||
|
|
a grey "— no tasks yet" label.
|
||
|
|
|
||
|
|
### 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 non-completed, non-archived 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**. 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.
|