Files
the-custodian/workplans/CUST-WP-0019-dashboard-ux-polish.md
tegwick 2dfbb19a8f feat(workplans): CUST-WP-0018/0019/0020 — API hardening, dashboard UX polish, test suite
Consolidates all open technical debt into three workplans:
- CUST-WP-0018: API hardening & code quality (TD-006–019 medium/high items)
- CUST-WP-0019: Dashboard UX polish (Repos nav restructure, config.js cleanup,
  todo filter fix for new suggestion workflow statuses)
- CUST-WP-0020: pytest test suite with real DB (TD-014)

Also fixes todo.md Suggestions filter: was checking status===open but new
suggestions enter with status=submitted; now excludes terminal statuses only.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 01:55:37 +01:00

2.5 KiB

id, type, title, domain, status, owner, topic_slug, created, updated
id type title domain status owner topic_slug created updated
CUST-WP-0019 workplan State Hub Dashboard — UX Polish custodian active custodian custodian 2026-03-18 2026-03-18

State Hub Dashboard — UX Polish

Summary

Targeted UX improvements to the Observable Framework dashboard. These are all small, self-contained changes with high visible impact. Tasks are ordered by priority; each is independently deliverable.

Sources

  • Submitted UI suggestion c2fc284a (Repos nav restructure)
  • TD-CUST-002 residual (remaining inline API/POLL in non-main pages)

Tasks

T01 — Repos nav: rename to "Repository" section with sub-pages

id: CUST-WP-0019-T01
status: todo
priority: high

User suggestion: rename the "Repos" nav link to "Repository" and restructure it as a collapsible section containing the three repo-related pages as sub-items.

Location: state-hub/dashboard/observablehq.config.js (pages array)

Target nav structure:

Repository
  ├── Repo Sync   (/repos)
  ├── SBOM        (/sbom)
  └── Tech Debt   (/techdept)

Implementation: in observablehq.config.js replace the flat Repos page entry with a section group containing three children. Update any hardcoded /repos or /sbom or /techdept links in other pages if they break.


T02 — Centralize remaining inline API/POLL constants

id: CUST-WP-0019-T02
status: todo
priority: low

TD-CUST-002 residual: policy/workstream-dod.md still has a hard-coded const API = "http://127.0.0.1:8000". Migrate to import from config.js. (Note: contributions.md and goals.md use intentionally different POLL values — leave as-is or add named exports like POLL_SLOW = 30_000 to config.js if preferred.)

Location: state-hub/dashboard/src/policy/workstream-dod.md:6


T03 — UI Feedback page: mark suggestion as submitted in todo filter

id: CUST-WP-0019-T03
status: todo
priority: low

todo.md Suggestions section filters with t.status === "open" but new suggestions now enter with status: "submitted" (workflow redesign from CUST-WP session). Update filter to include submitted, analyse, plan, implement, test, review — i.e. any non-terminal status.

Location: state-hub/dashboard/src/todo.md:41

Current: .filter(t => t.debt_type === "dashboard-improvement" && t.status === "open") Target: .filter(t => t.debt_type === "dashboard-improvement" && !["finished","wont_fix","resolved","deferred"].includes(t.status))