Files
the-custodian/state-hub/dashboard/src/docs/overview.md
tegwick 235355eb58 feat(dashboard): nav restructure, full context-help coverage, 11 new ref docs
Navigation:
- New order: Overview · Todo · Domains · Repos · Workstreams (collapsible,
  open:false, with atomic sub-entries: Decisions, Tasks, Debt, Extends,
  Dependencies) · Contributions · SBOM · Progress · Reference (collapsible)
- Reference section gains path:/reference landing page; all 18 doc pages
  listed in nav (alphabetical) and in reference.md table

New pages:
- todo.md — Internal / Ecosystem / Third-party todo classification
- dependencies.md — dependency edge table derived from state/summary
- reference.md — Reference landing page with full doc index

New reference doc pages (11):
  contributions, debt, dependencies, domains, extensions, overview,
  repos, tasks, todo + reference (meta) already added previously

doc-overlay.js — lazy bubblehelp tooltip:
- _titleCache Map + _fetchDocTitle(docPath): on first hover of any ?
  button, fetches the target doc page, parses <h1>, sets btn.title
- Native browser tooltip appears exactly on the ? circle on subsequent hover

Context-help wired on all 14 dashboard pages:
- h1 withDocHelp added to: index, todo, domains, repos, tasks, techdept,
  extensions, dependencies (contributions/workstreams/decisions/sbom/
  progress/reference were already wired)
- domains.md + repos.md: added missing withDocHelp import and live-data link
- tasks/techdept/extensions: removed duplicate _h1 const that caused
  SyntaxError: Identifier '_h1' has already been declared

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 23:46:26 +01:00

2.7 KiB

title
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.