docs(workplans): write files for 4 pre-ADR-001 orphan workstreams
Resolves all orphan-workstream FAIL findings from validate_repo_adr.
The custodian domain now passes 47/47 checks (0 warn, 0 fail).
Files written:
CUST-WP-0001 custodian-agent-runtime (2 tasks: 1 done, 1 todo)
CUST-WP-0002 contribution-tracking-sbom (15 tasks, v0.5 scope
reductions annotated inline)
CUST-WP-0003 whi-kpi-card (9 tasks)
CUST-WP-0004 ep-td-tracking (10 tasks: 4 done, 6 todo)
All files cross-reference state_hub_workstream_id and
state_hub_task_id for future sync reconciliation.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
157
workplans/CUST-WP-0004-ep-td-tracking.md
Normal file
157
workplans/CUST-WP-0004-ep-td-tracking.md
Normal file
@@ -0,0 +1,157 @@
|
||||
---
|
||||
id: CUST-WP-0004
|
||||
type: workplan
|
||||
title: "Extension Points & Technical Debt Tracking"
|
||||
domain: custodian
|
||||
status: active
|
||||
owner: custodian
|
||||
topic_slug: custodian
|
||||
state_hub_workstream_id: e84ecd70-b276-4a93-a298-1ef1299b7c22
|
||||
created: "2026-02-27"
|
||||
updated: "2026-02-28"
|
||||
---
|
||||
|
||||
# Extension Points & Technical Debt Tracking
|
||||
|
||||
## Summary
|
||||
|
||||
Adds structured tracking for extension points (known future enhancement
|
||||
opportunities) and technical debt (known quality compromises) across all
|
||||
project domains.
|
||||
|
||||
## Context
|
||||
|
||||
Phase 1 (infrastructure) is complete: DB tables (`extension_points`,
|
||||
`technical_debt`), API routers, MCP tools, and dashboard pages are live
|
||||
as of commit `2bf9523` (2026-02-27). Phase 2 populates the catalogue per
|
||||
domain. Phase 3 triages and resolves high-priority items.
|
||||
|
||||
## Tasks
|
||||
|
||||
### P1.1 — DB schema and API routers for EP and TD
|
||||
|
||||
```task
|
||||
id: CUST-WP-0004-T01
|
||||
state_hub_task_id: 539da477-b9ad-4e0b-a8a1-deab4afe9bc7
|
||||
status: done
|
||||
priority: high
|
||||
```
|
||||
|
||||
Created `extension_points` and `technical_debt` tables (migration
|
||||
`a3f1c2d4e5b6`). FastAPI routers at `/extension-points/` and
|
||||
`/technical-debt/` with full CRUD and soft-delete (status-based).
|
||||
|
||||
### P1.2 — MCP tools for EP and TD registration
|
||||
|
||||
```task
|
||||
id: CUST-WP-0004-T02
|
||||
state_hub_task_id: a35fa615-13a3-4168-9e25-98edbd8411da
|
||||
status: done
|
||||
priority: high
|
||||
```
|
||||
|
||||
Added 6 MCP tools to `server.py`: `register_extension_point`,
|
||||
`list_extension_points`, `update_ep_status`, `register_technical_debt`,
|
||||
`list_technical_debt`, `update_td_status`. Each write tool emits a
|
||||
progress event.
|
||||
|
||||
### P1.3 — Dashboard pages for EP and TD
|
||||
|
||||
```task
|
||||
id: CUST-WP-0004-T03
|
||||
state_hub_task_id: cd392ee9-9b65-48cb-8337-9fbe546ea9c3
|
||||
status: done
|
||||
priority: high
|
||||
```
|
||||
|
||||
Created `extensions.md` and `techdept.md` Observable pages with KPI
|
||||
sidebar, charts (by type, by severity/status), urgent items section, and
|
||||
filterable card lists. Added to nav in `observablehq.config.js`.
|
||||
|
||||
### P2.1 — Catalogue technical debt in custodian repo
|
||||
|
||||
```task
|
||||
id: CUST-WP-0004-T04
|
||||
state_hub_task_id: 76aa3932-9a06-45ae-8836-d766eb61b755
|
||||
status: done
|
||||
priority: high
|
||||
```
|
||||
|
||||
Automated assessment of state-hub codebase. Registered 19 items
|
||||
TD-CUST-001 to TD-CUST-019 (2 high, 10 medium, 7 low). Top priorities:
|
||||
TD-CUST-001 (hard-coded API URL), TD-CUST-004 (no max limit on list
|
||||
endpoints).
|
||||
|
||||
### P2.2 — Catalogue technical debt in railiance domain
|
||||
|
||||
```task
|
||||
id: CUST-WP-0004-T05
|
||||
state_hub_task_id: 00492d87-3bb7-4df9-8f12-a06da0307fbc
|
||||
status: todo
|
||||
priority: medium
|
||||
```
|
||||
|
||||
Assess railiance-bootstrap and related repos for technical debt.
|
||||
Register findings as `TD-RAIL-xxx` items via the `/technical-debt/` API.
|
||||
|
||||
### P2.3 — Catalogue extension points in custodian repo
|
||||
|
||||
```task
|
||||
id: CUST-WP-0004-T06
|
||||
state_hub_task_id: 3069aa1d-3d5f-4b9f-be8b-dfa0ffe690fe
|
||||
status: todo
|
||||
priority: medium
|
||||
```
|
||||
|
||||
Identify and register extension points in the state-hub codebase as
|
||||
`EP-CUST-xxx` items: API gaps, MCP tool gaps, dashboard gaps, schema
|
||||
gaps, integration opportunities.
|
||||
|
||||
### P2.4 — Catalogue extension points in railiance domain
|
||||
|
||||
```task
|
||||
id: CUST-WP-0004-T07
|
||||
state_hub_task_id: 3a355a74-237f-4572-af05-683eceb32694
|
||||
status: todo
|
||||
priority: low
|
||||
```
|
||||
|
||||
Identify and register extension points in railiance as `EP-RAIL-xxx` items.
|
||||
|
||||
### P3.1 — Address TD-CUST-001: extract API URL to config
|
||||
|
||||
```task
|
||||
id: CUST-WP-0004-T08
|
||||
state_hub_task_id: a9b5d39e-706b-4f71-8f5d-ce4f927b3e4c
|
||||
status: todo
|
||||
priority: high
|
||||
```
|
||||
|
||||
Replace hard-coded `const API = 'http://127.0.0.1:8000'` in all 7
|
||||
dashboard pages with a shared config module or Observable environment
|
||||
variable.
|
||||
|
||||
### P3.2 — Address TD-CUST-004: add max limit to list endpoints
|
||||
|
||||
```task
|
||||
id: CUST-WP-0004-T09
|
||||
state_hub_task_id: 7050eb96-964d-4c06-a9f5-6d49db6b9c98
|
||||
status: todo
|
||||
priority: high
|
||||
```
|
||||
|
||||
Add `Pydantic Field(le=1000)` to `limit` parameters on all list
|
||||
endpoints (progress, tasks, workstreams, decisions, extension_points,
|
||||
technical_debt) to prevent memory exhaustion.
|
||||
|
||||
### P3.3 — Extract shared dashboard CSS to common stylesheet
|
||||
|
||||
```task
|
||||
id: CUST-WP-0004-T10
|
||||
state_hub_task_id: c54553be-d947-4b8d-9c16-eb1a0e9ae3a0
|
||||
status: todo
|
||||
priority: medium
|
||||
```
|
||||
|
||||
Extract `.kpi-infobox`, `.filter-bar` and related CSS from all dashboard
|
||||
pages into a shared CSS file imported by each page. Addresses TD-CUST-003.
|
||||
Reference in New Issue
Block a user