feat(legacy-meter): meter MCP aliases and fix brief workstream_id label (STATE-WP-0070 T03/T04)
T03: MCP alias retirement gate was unstartable — deprecation notices existed
but no mcp:* interfaces were ever registered or metered. Add
_meter_legacy_mcp() posting /legacy-meter/usage (kind mcp_tool, component
state-hub.mcp) from create_workstream, list_workstreams, update_workstream,
update_workstream_status, and state://workstreams/{topic_slug}; register all
five phase-3 backlog keys so zero-window streaks accrue from today.
T04: trace residual POST /progress/ workstream_id (3 calls/8h, unknown) to
.custodian-brief.md labelling workplans "workstream_id:"; brief generator now
prints "workplan_id:". Briefs refresh on each repo's next fix-consistency run.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
2943251c03
commit
b2640a1591
4 changed files with 58 additions and 1 deletions
|
|
@ -110,6 +110,15 @@ Remove `create_workstream`, `update_workstream`, `list_workstreams`,
|
|||
`update_workstream_status`, and `state://workstreams/{topic_slug}` when MCP
|
||||
procedure keys hit zero usage for seven windows. Keep `TOOLS.md` migration notes.
|
||||
|
||||
Progress 2026-07-10: gate was unstartable — MCP alias usage was never metered
|
||||
(deprecation notices only, no `mcp:*` interfaces registered). Fixed:
|
||||
`_meter_legacy_mcp()` in `mcp_server/server.py` posts `/legacy-meter/usage`
|
||||
(kind `mcp_tool`, component `state-hub.mcp`) from all four legacy tools and the
|
||||
legacy resource; all five backlog phase-3 keys registered on the meter, so
|
||||
zero-window streaks accrue from 2026-07-10. Note: `mcp:list_workstreams` shows
|
||||
1 verification call in the 2026-07-10 window — streak counts from the next
|
||||
window. Removal remains gated on 7 consecutive zero windows.
|
||||
|
||||
## Task: Internal dual-key and param alias cleanup
|
||||
|
||||
```task
|
||||
|
|
@ -123,6 +132,13 @@ state_hub_task_id: "18af98bf-c74e-47c8-948a-e713cff88bb8"
|
|||
- Remove `workstream_id` query/body aliases on preferred routes.
|
||||
- Retire `flows/workstream.yaml` when no callers remain.
|
||||
|
||||
Progress 2026-07-10: residual `POST /progress/ workstream_id` (3 calls/8h,
|
||||
`unknown`) traced to `.custodian-brief.md` files labelling workplans
|
||||
`workstream_id:` — agents copy the field name into session-close curl posts.
|
||||
Brief generator fixed (`consistency_check.py` → `workplan_id:`); briefs
|
||||
regenerate on each repo's next fix-consistency sweep. Expect this key to decay
|
||||
to zero once briefs refresh fleet-wide.
|
||||
|
||||
## Task: Closeout and fleet gate
|
||||
|
||||
```task
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue