diff --git a/memory/working/260224-wishlist-custodian.md b/memory/working/260224-wishlist-custodian.md index d29e0a1..6a8270f 100644 --- a/memory/working/260224-wishlist-custodian.md +++ b/memory/working/260224-wishlist-custodian.md @@ -187,6 +187,30 @@ whether the API is up, so the agent knows before trying to use the tools. --- +### W8 — First-class extension point entity in state hub schema (EP-CUST-001) + +**Problem:** Extension points are currently recorded as `progress_events` with +`event_type=extension_point` and structured `detail` JSON. This works for now +but lacks dedicated querying, filtering, dashboard views, and cross-project +aggregation. + +**Convention (current):** `EP-{PROJECT}-{NNN}` IDs, inline markers in spec docs, +`## Extension Points` summary section at doc end, recorded via `add_progress_event` +with `event_type=extension_point`. + +**Fix:** When the number of tracked EPs across projects grows enough to warrant it, +add a first-class `extension_points` table to the state-hub schema with fields: +`ep_id`, `topic_id`, `workstream_id`, `location`, `trigger`, `constraint`, +`current_approach`, `status` (open/resolved/superseded). + +**Constraint:** Must be backward-compatible — existing `progress_event` records +with `event_type=extension_point` should remain queryable or be migrated. + +**Trigger:** When cross-project EP aggregation is needed in the dashboard, or when +EPs need to be surfaced in `get_state_summary()`. + +--- + ## Priority Order | # | Item | Effort | Token Saving | Do When | @@ -198,3 +222,4 @@ whether the API is up, so the agent knows before trying to use the tools. | W5 | `TOOLS.md` reference card | 30 min | 2,500 / session | Next custodian session | | W4 | Topic IDs in canon charters | 20 min | 200 / registration | Low urgency | | W7 | SessionStart hook for API health | 30 min | Indirect | After W2 | +| W8 | First-class EP entity in state hub (EP-CUST-001) | 2–4 hr | Indirect | When EP count warrants it |