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>
This commit is contained in:
92
workplans/CUST-WP-0019-dashboard-ux-polish.md
Normal file
92
workplans/CUST-WP-0019-dashboard-ux-polish.md
Normal file
@@ -0,0 +1,92 @@
|
||||
---
|
||||
id: CUST-WP-0019
|
||||
type: workplan
|
||||
title: "State Hub Dashboard — UX Polish"
|
||||
domain: custodian
|
||||
status: active
|
||||
owner: custodian
|
||||
topic_slug: custodian
|
||||
created: "2026-03-18"
|
||||
updated: "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
|
||||
|
||||
```task
|
||||
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
|
||||
|
||||
```task
|
||||
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
|
||||
|
||||
```task
|
||||
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))`
|
||||
Reference in New Issue
Block a user