diff --git a/docs/evidence/legacy-meter-weekly-review-20260810.json b/docs/evidence/legacy-meter-weekly-review-20260810.json new file mode 100644 index 0000000..e6cae93 --- /dev/null +++ b/docs/evidence/legacy-meter-weekly-review-20260810.json @@ -0,0 +1,1755 @@ +{ + "captured_at": "2026-08-10T14:00:05.121326+00:00", + "api_base": "http://127.0.0.1:8000", + "workplan": "STATE-WP-0070", + "retired_interfaces": [], + "weekly_review": { + "generated_at": "2026-08-10T14:00:05.109339Z", + "window_start": "2026-08-10T06:00:04.970698Z", + "window_end": "2026-08-10T14:00:04.970698Z", + "cadence": "weekly", + "activity_core_handoff": { + "activity_id": "statehub-legacy-interface-review", + "cadence": "weekly", + "source_endpoint": "/legacy-meter/weekly-review", + "state_owner": "state-hub", + "scheduler_owner": "activity-core" + }, + "interfaces": [ + { + "interface": { + "id": "8051fb40-66c9-4dc4-a413-13e8573e04a3", + "interface_key": "event_subject:org.statehub.workstream.completed", + "interface_kind": "event_subject", + "legacy_since": "2026-06-04T06:09:42.198193Z", + "replacement_ref": "org.statehub.workplan.completed", + "owner_component": "state-hub.events", + "status": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Retired by STATE-WP-0069 closeout", + "retired_at": "2026-07-08T21:38:52.773601Z", + "created_at": "2026-06-04T06:09:42.198193Z", + "updated_at": "2026-07-08T21:38:52.761243Z" + }, + "all_time": { + "calls": 255, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 255 + }, + "users": { + "unknown": 255 + }, + "components": { + "state-hub.events": 255 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T20:49:12.839383Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "interface": { + "id": "63ed90e3-42b4-431a-94db-e1254a52f9e2", + "interface_key": "mcp:create_workstream", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.205900Z", + "replacement_ref": "create_workplan", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.205900Z", + "updated_at": "2026-07-10T13:19:44.205900Z" + }, + "all_time": { + "calls": 2, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 2 + }, + "users": { + "unknown": 2 + }, + "components": { + "state-hub.mcp": 2 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T13:20:43.378546Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "b6a5fe44-fb85-4ef7-a273-78d09da777af", + "interface_key": "mcp:list_workstreams", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:26.075491Z", + "replacement_ref": "list_workplans", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-10T13:19:26.075491Z", + "updated_at": "2026-07-10T13:19:26.075491Z" + }, + "all_time": { + "calls": 2, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 2 + }, + "users": { + "unknown": 2 + }, + "components": { + "state-hub.mcp": 2 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T13:20:42.374940Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "53c3372b-307d-4d6a-8ea4-bc36cacdcaf2", + "interface_key": "mcp:update_workstream", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.255216Z", + "replacement_ref": "update_workplan", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.255216Z", + "updated_at": "2026-07-10T13:19:44.255216Z" + }, + "all_time": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": null, + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "bed4d08a-3471-48f5-9f0e-f9d550383a26", + "interface_key": "mcp:update_workstream_status", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.303612Z", + "replacement_ref": "update_workplan_status", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.303612Z", + "updated_at": "2026-07-10T13:19:44.303612Z" + }, + "all_time": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": null, + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "46900dc2-0893-405b-ba59-80f31fb6ebb1", + "interface_key": "state://workstreams/{topic_slug}", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.344493Z", + "replacement_ref": "state://workplans/{topic_slug}", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.344493Z", + "updated_at": "2026-07-10T13:19:44.344493Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "state-hub.mcp": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T13:20:34.491811Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "cd9342fd-27e7-4a46-a1be-d41499e106a3", + "interface_key": "rest_api:DELETE /workstreams/{workstream_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-06-06T17:28:13.052813Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-06T17:28:13.052813Z", + "updated_at": "2026-06-06T17:28:13.052813Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "unknown": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-06-06T17:28:13.047529Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "a4e0948c-cd4a-461e-8ae2-7fd7b51d04a7", + "interface_key": "rest_api:GET /decisions/?workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-09T23:07:53.093223Z", + "replacement_ref": "/decisions/?workplan_id=", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-09T23:07:53.093223Z", + "updated_at": "2026-07-09T23:07:53.093223Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "unknown": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-09T23:07:53.083299Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "70a9346e-e0ee-42ac-874f-f160580b54dd", + "interface_key": "rest_api:GET /progress/?workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-13T22:04:03.911449Z", + "replacement_ref": "/progress/?workplan_id=", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-13T22:04:03.911449Z", + "updated_at": "2026-07-13T22:04:03.911449Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "unknown": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-13T22:04:03.904998Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "be3cdcf8-250b-4bf0-801f-02ffd5f57e00", + "interface_key": "rest_api:GET /tasks/?workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-08T19:32:21.628513Z", + "replacement_ref": "/tasks/?workplan_id=", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-08T19:32:21.628513Z", + "updated_at": "2026-07-08T19:32:21.628513Z" + }, + "all_time": { + "calls": 589, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 589 + }, + "users": { + "unknown": 589 + }, + "components": { + "unknown": 589 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-31T16:25:32.181901Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "3e4a3d0b-08fa-45c3-91e2-4f514a914b97", + "interface_key": "rest_api:GET /workstreams/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T00:26:14.533764Z", + "replacement_ref": "/workplans/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T00:26:14.533764Z", + "updated_at": "2026-06-04T00:26:14.533764Z" + }, + "all_time": { + "calls": 144085, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 144085 + }, + "users": { + "unknown": 144085 + }, + "components": { + "unknown": 144085 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-05T13:01:38.000781Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "e4c140ec-7479-46f9-b185-4b533f19d639", + "interface_key": "rest_api:GET /workstreams/workplan-index", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T05:20:58.321869Z", + "replacement_ref": "/workplans/index", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T05:20:58.321869Z", + "updated_at": "2026-06-04T05:20:58.321869Z" + }, + "all_time": { + "calls": 30, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 30 + }, + "users": { + "unknown": 30 + }, + "components": { + "unknown": 30 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-03T05:20:34.534439Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "3a00b19e-e7db-4403-98aa-a77c9ab61ecc", + "interface_key": "rest_api:GET /workstreams/{workstream_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T00:25:59.014966Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T00:25:59.014966Z", + "updated_at": "2026-06-04T00:25:59.014966Z" + }, + "all_time": { + "calls": 511406, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 511406 + }, + "users": { + "unknown": 511406 + }, + "components": { + "unknown": 511406 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-31T16:25:32.004042Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "69e1a255-a8b9-4101-8a68-b1bed23abfda", + "interface_key": "rest_api:GET /workstreams/{workstream_id}/dependencies/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T00:25:59.291135Z", + "replacement_ref": "/workplans/{workplan_id}/dependencies/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T00:25:59.291135Z", + "updated_at": "2026-06-04T00:25:59.291135Z" + }, + "all_time": { + "calls": 255865, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 255865 + }, + "users": { + "unknown": 255865 + }, + "components": { + "unknown": 255865 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T21:14:12.747005Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "b1aae931-b51f-4a85-a723-865dd65f6132", + "interface_key": "rest_api:PATCH /workstreams/{workstream_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T06:09:41.901035Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T06:09:41.901035Z", + "updated_at": "2026-06-04T06:09:41.901035Z" + }, + "all_time": { + "calls": 571, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 571 + }, + "users": { + "unknown": 571 + }, + "components": { + "unknown": 571 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T20:49:12.335710Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "4aea9591-970b-4918-ac4a-4da95a0a1a8c", + "interface_key": "rest_api:POST /decisions/ workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-09T22:56:35.473130Z", + "replacement_ref": "POST /decisions/ with workplan_id", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-09T22:56:35.473130Z", + "updated_at": "2026-07-09T22:56:35.473130Z" + }, + "all_time": { + "calls": 3, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 3 + }, + "users": { + "unknown": 3 + }, + "components": { + "unknown": 3 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-09T22:57:05.912456Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "4a70583c-1e41-4ec1-99a9-728856a7d79c", + "interface_key": "rest_api:POST /progress/ workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-08T23:35:09.148333Z", + "replacement_ref": "POST /progress/ with workplan_id", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-08T23:35:09.148333Z", + "updated_at": "2026-07-08T23:35:09.148333Z" + }, + "all_time": { + "calls": 14, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 14 + }, + "users": { + "unknown": 14 + }, + "components": { + "unknown": 14 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T08:34:42.959724Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "6df4e443-7bf1-461a-923b-a6eb52fe7b07", + "interface_key": "rest_api:POST /tasks/ workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-08T22:38:29.405720Z", + "replacement_ref": "POST /tasks/ with workplan_id", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-08T22:38:29.405720Z", + "updated_at": "2026-07-08T22:38:29.405720Z" + }, + "all_time": { + "calls": 5, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 5 + }, + "users": { + "unknown": 5 + }, + "components": { + "state-hub.fix-consistency": 5 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T22:38:29.976918Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "ed6451c9-d2cc-4486-9afe-d3852782cabc", + "interface_key": "rest_api:POST /workstreams/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T07:40:24.168535Z", + "replacement_ref": "/workplans/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T07:40:24.168535Z", + "updated_at": "2026-06-04T07:40:24.168535Z" + }, + "all_time": { + "calls": 824, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 824 + }, + "users": { + "unknown": 824 + }, + "components": { + "unknown": 824 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T20:38:05.903144Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "281fd706-b192-4194-8055-2d8733c115f9", + "interface_key": "rest_api:POST /workstreams/{workstream_id}/dependencies/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T22:57:37.149207Z", + "replacement_ref": "/workplans/{workplan_id}/dependencies/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T22:57:37.149207Z", + "updated_at": "2026-06-04T22:57:37.149207Z" + }, + "all_time": { + "calls": 4971, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 4971 + }, + "users": { + "unknown": 4971 + }, + "components": { + "unknown": 4971 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-01T22:09:24.229011Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + } + ], + "retirement_candidates": [ + { + "interface": { + "id": "63ed90e3-42b4-431a-94db-e1254a52f9e2", + "interface_key": "mcp:create_workstream", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.205900Z", + "replacement_ref": "create_workplan", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.205900Z", + "updated_at": "2026-07-10T13:19:44.205900Z" + }, + "all_time": { + "calls": 2, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 2 + }, + "users": { + "unknown": 2 + }, + "components": { + "state-hub.mcp": 2 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T13:20:43.378546Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "b6a5fe44-fb85-4ef7-a273-78d09da777af", + "interface_key": "mcp:list_workstreams", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:26.075491Z", + "replacement_ref": "list_workplans", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-10T13:19:26.075491Z", + "updated_at": "2026-07-10T13:19:26.075491Z" + }, + "all_time": { + "calls": 2, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 2 + }, + "users": { + "unknown": 2 + }, + "components": { + "state-hub.mcp": 2 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T13:20:42.374940Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "53c3372b-307d-4d6a-8ea4-bc36cacdcaf2", + "interface_key": "mcp:update_workstream", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.255216Z", + "replacement_ref": "update_workplan", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.255216Z", + "updated_at": "2026-07-10T13:19:44.255216Z" + }, + "all_time": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": null, + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "bed4d08a-3471-48f5-9f0e-f9d550383a26", + "interface_key": "mcp:update_workstream_status", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.303612Z", + "replacement_ref": "update_workplan_status", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.303612Z", + "updated_at": "2026-07-10T13:19:44.303612Z" + }, + "all_time": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": null, + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "46900dc2-0893-405b-ba59-80f31fb6ebb1", + "interface_key": "state://workstreams/{topic_slug}", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.344493Z", + "replacement_ref": "state://workplans/{topic_slug}", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.344493Z", + "updated_at": "2026-07-10T13:19:44.344493Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "state-hub.mcp": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T13:20:34.491811Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "cd9342fd-27e7-4a46-a1be-d41499e106a3", + "interface_key": "rest_api:DELETE /workstreams/{workstream_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-06-06T17:28:13.052813Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-06T17:28:13.052813Z", + "updated_at": "2026-06-06T17:28:13.052813Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "unknown": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-06-06T17:28:13.047529Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "a4e0948c-cd4a-461e-8ae2-7fd7b51d04a7", + "interface_key": "rest_api:GET /decisions/?workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-09T23:07:53.093223Z", + "replacement_ref": "/decisions/?workplan_id=", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-09T23:07:53.093223Z", + "updated_at": "2026-07-09T23:07:53.093223Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "unknown": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-09T23:07:53.083299Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "70a9346e-e0ee-42ac-874f-f160580b54dd", + "interface_key": "rest_api:GET /progress/?workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-13T22:04:03.911449Z", + "replacement_ref": "/progress/?workplan_id=", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-13T22:04:03.911449Z", + "updated_at": "2026-07-13T22:04:03.911449Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "unknown": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-13T22:04:03.904998Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "be3cdcf8-250b-4bf0-801f-02ffd5f57e00", + "interface_key": "rest_api:GET /tasks/?workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-08T19:32:21.628513Z", + "replacement_ref": "/tasks/?workplan_id=", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-08T19:32:21.628513Z", + "updated_at": "2026-07-08T19:32:21.628513Z" + }, + "all_time": { + "calls": 589, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 589 + }, + "users": { + "unknown": 589 + }, + "components": { + "unknown": 589 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-31T16:25:32.181901Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "3e4a3d0b-08fa-45c3-91e2-4f514a914b97", + "interface_key": "rest_api:GET /workstreams/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T00:26:14.533764Z", + "replacement_ref": "/workplans/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T00:26:14.533764Z", + "updated_at": "2026-06-04T00:26:14.533764Z" + }, + "all_time": { + "calls": 144085, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 144085 + }, + "users": { + "unknown": 144085 + }, + "components": { + "unknown": 144085 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-05T13:01:38.000781Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "e4c140ec-7479-46f9-b185-4b533f19d639", + "interface_key": "rest_api:GET /workstreams/workplan-index", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T05:20:58.321869Z", + "replacement_ref": "/workplans/index", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T05:20:58.321869Z", + "updated_at": "2026-06-04T05:20:58.321869Z" + }, + "all_time": { + "calls": 30, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 30 + }, + "users": { + "unknown": 30 + }, + "components": { + "unknown": 30 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-03T05:20:34.534439Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "3a00b19e-e7db-4403-98aa-a77c9ab61ecc", + "interface_key": "rest_api:GET /workstreams/{workstream_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T00:25:59.014966Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T00:25:59.014966Z", + "updated_at": "2026-06-04T00:25:59.014966Z" + }, + "all_time": { + "calls": 511406, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 511406 + }, + "users": { + "unknown": 511406 + }, + "components": { + "unknown": 511406 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-31T16:25:32.004042Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "69e1a255-a8b9-4101-8a68-b1bed23abfda", + "interface_key": "rest_api:GET /workstreams/{workstream_id}/dependencies/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T00:25:59.291135Z", + "replacement_ref": "/workplans/{workplan_id}/dependencies/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T00:25:59.291135Z", + "updated_at": "2026-06-04T00:25:59.291135Z" + }, + "all_time": { + "calls": 255865, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 255865 + }, + "users": { + "unknown": 255865 + }, + "components": { + "unknown": 255865 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T21:14:12.747005Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "b1aae931-b51f-4a85-a723-865dd65f6132", + "interface_key": "rest_api:PATCH /workstreams/{workstream_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T06:09:41.901035Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T06:09:41.901035Z", + "updated_at": "2026-06-04T06:09:41.901035Z" + }, + "all_time": { + "calls": 571, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 571 + }, + "users": { + "unknown": 571 + }, + "components": { + "unknown": 571 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T20:49:12.335710Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "4aea9591-970b-4918-ac4a-4da95a0a1a8c", + "interface_key": "rest_api:POST /decisions/ workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-09T22:56:35.473130Z", + "replacement_ref": "POST /decisions/ with workplan_id", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-09T22:56:35.473130Z", + "updated_at": "2026-07-09T22:56:35.473130Z" + }, + "all_time": { + "calls": 3, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 3 + }, + "users": { + "unknown": 3 + }, + "components": { + "unknown": 3 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-09T22:57:05.912456Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "4a70583c-1e41-4ec1-99a9-728856a7d79c", + "interface_key": "rest_api:POST /progress/ workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-08T23:35:09.148333Z", + "replacement_ref": "POST /progress/ with workplan_id", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-08T23:35:09.148333Z", + "updated_at": "2026-07-08T23:35:09.148333Z" + }, + "all_time": { + "calls": 14, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 14 + }, + "users": { + "unknown": 14 + }, + "components": { + "unknown": 14 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T08:34:42.959724Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "6df4e443-7bf1-461a-923b-a6eb52fe7b07", + "interface_key": "rest_api:POST /tasks/ workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-08T22:38:29.405720Z", + "replacement_ref": "POST /tasks/ with workplan_id", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-08T22:38:29.405720Z", + "updated_at": "2026-07-08T22:38:29.405720Z" + }, + "all_time": { + "calls": 5, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 5 + }, + "users": { + "unknown": 5 + }, + "components": { + "state-hub.fix-consistency": 5 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T22:38:29.976918Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "ed6451c9-d2cc-4486-9afe-d3852782cabc", + "interface_key": "rest_api:POST /workstreams/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T07:40:24.168535Z", + "replacement_ref": "/workplans/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T07:40:24.168535Z", + "updated_at": "2026-06-04T07:40:24.168535Z" + }, + "all_time": { + "calls": 824, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 824 + }, + "users": { + "unknown": 824 + }, + "components": { + "unknown": 824 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T20:38:05.903144Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "281fd706-b192-4194-8055-2d8733c115f9", + "interface_key": "rest_api:POST /workstreams/{workstream_id}/dependencies/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T22:57:37.149207Z", + "replacement_ref": "/workplans/{workplan_id}/dependencies/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T22:57:37.149207Z", + "updated_at": "2026-06-04T22:57:37.149207Z" + }, + "all_time": { + "calls": 4971, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 4971 + }, + "users": { + "unknown": 4971 + }, + "components": { + "unknown": 4971 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-01T22:09:24.229011Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + } + ] + }, + "hours": 8 +} diff --git a/docs/evidence/legacy-meter-weekly-review-20260811.json b/docs/evidence/legacy-meter-weekly-review-20260811.json new file mode 100644 index 0000000..79e9d57 --- /dev/null +++ b/docs/evidence/legacy-meter-weekly-review-20260811.json @@ -0,0 +1,1755 @@ +{ + "captured_at": "2026-08-11T14:00:04.325774+00:00", + "api_base": "http://127.0.0.1:8000", + "workplan": "STATE-WP-0070", + "retired_interfaces": [], + "weekly_review": { + "generated_at": "2026-08-11T14:00:04.319529Z", + "window_start": "2026-08-11T06:00:04.248178Z", + "window_end": "2026-08-11T14:00:04.248178Z", + "cadence": "weekly", + "activity_core_handoff": { + "activity_id": "statehub-legacy-interface-review", + "cadence": "weekly", + "source_endpoint": "/legacy-meter/weekly-review", + "state_owner": "state-hub", + "scheduler_owner": "activity-core" + }, + "interfaces": [ + { + "interface": { + "id": "8051fb40-66c9-4dc4-a413-13e8573e04a3", + "interface_key": "event_subject:org.statehub.workstream.completed", + "interface_kind": "event_subject", + "legacy_since": "2026-06-04T06:09:42.198193Z", + "replacement_ref": "org.statehub.workplan.completed", + "owner_component": "state-hub.events", + "status": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Retired by STATE-WP-0069 closeout", + "retired_at": "2026-07-08T21:38:52.773601Z", + "created_at": "2026-06-04T06:09:42.198193Z", + "updated_at": "2026-07-08T21:38:52.761243Z" + }, + "all_time": { + "calls": 255, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 255 + }, + "users": { + "unknown": 255 + }, + "components": { + "state-hub.events": 255 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T20:49:12.839383Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "interface": { + "id": "63ed90e3-42b4-431a-94db-e1254a52f9e2", + "interface_key": "mcp:create_workstream", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.205900Z", + "replacement_ref": "create_workplan", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.205900Z", + "updated_at": "2026-07-10T13:19:44.205900Z" + }, + "all_time": { + "calls": 2, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 2 + }, + "users": { + "unknown": 2 + }, + "components": { + "state-hub.mcp": 2 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T13:20:43.378546Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "b6a5fe44-fb85-4ef7-a273-78d09da777af", + "interface_key": "mcp:list_workstreams", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:26.075491Z", + "replacement_ref": "list_workplans", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-10T13:19:26.075491Z", + "updated_at": "2026-07-10T13:19:26.075491Z" + }, + "all_time": { + "calls": 2, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 2 + }, + "users": { + "unknown": 2 + }, + "components": { + "state-hub.mcp": 2 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T13:20:42.374940Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "53c3372b-307d-4d6a-8ea4-bc36cacdcaf2", + "interface_key": "mcp:update_workstream", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.255216Z", + "replacement_ref": "update_workplan", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.255216Z", + "updated_at": "2026-07-10T13:19:44.255216Z" + }, + "all_time": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": null, + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "bed4d08a-3471-48f5-9f0e-f9d550383a26", + "interface_key": "mcp:update_workstream_status", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.303612Z", + "replacement_ref": "update_workplan_status", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.303612Z", + "updated_at": "2026-07-10T13:19:44.303612Z" + }, + "all_time": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": null, + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "46900dc2-0893-405b-ba59-80f31fb6ebb1", + "interface_key": "state://workstreams/{topic_slug}", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.344493Z", + "replacement_ref": "state://workplans/{topic_slug}", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.344493Z", + "updated_at": "2026-07-10T13:19:44.344493Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "state-hub.mcp": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T13:20:34.491811Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "cd9342fd-27e7-4a46-a1be-d41499e106a3", + "interface_key": "rest_api:DELETE /workstreams/{workstream_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-06-06T17:28:13.052813Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-06T17:28:13.052813Z", + "updated_at": "2026-06-06T17:28:13.052813Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "unknown": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-06-06T17:28:13.047529Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "a4e0948c-cd4a-461e-8ae2-7fd7b51d04a7", + "interface_key": "rest_api:GET /decisions/?workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-09T23:07:53.093223Z", + "replacement_ref": "/decisions/?workplan_id=", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-09T23:07:53.093223Z", + "updated_at": "2026-07-09T23:07:53.093223Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "unknown": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-09T23:07:53.083299Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "70a9346e-e0ee-42ac-874f-f160580b54dd", + "interface_key": "rest_api:GET /progress/?workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-13T22:04:03.911449Z", + "replacement_ref": "/progress/?workplan_id=", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-13T22:04:03.911449Z", + "updated_at": "2026-07-13T22:04:03.911449Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "unknown": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-13T22:04:03.904998Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "be3cdcf8-250b-4bf0-801f-02ffd5f57e00", + "interface_key": "rest_api:GET /tasks/?workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-08T19:32:21.628513Z", + "replacement_ref": "/tasks/?workplan_id=", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-08T19:32:21.628513Z", + "updated_at": "2026-07-08T19:32:21.628513Z" + }, + "all_time": { + "calls": 589, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 589 + }, + "users": { + "unknown": 589 + }, + "components": { + "unknown": 589 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-31T16:25:32.181901Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "3e4a3d0b-08fa-45c3-91e2-4f514a914b97", + "interface_key": "rest_api:GET /workstreams/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T00:26:14.533764Z", + "replacement_ref": "/workplans/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T00:26:14.533764Z", + "updated_at": "2026-06-04T00:26:14.533764Z" + }, + "all_time": { + "calls": 144086, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 144086 + }, + "users": { + "unknown": 144086 + }, + "components": { + "unknown": 144086 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-10T18:06:05.032338Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "e4c140ec-7479-46f9-b185-4b533f19d639", + "interface_key": "rest_api:GET /workstreams/workplan-index", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T05:20:58.321869Z", + "replacement_ref": "/workplans/index", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T05:20:58.321869Z", + "updated_at": "2026-06-04T05:20:58.321869Z" + }, + "all_time": { + "calls": 30, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 30 + }, + "users": { + "unknown": 30 + }, + "components": { + "unknown": 30 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-03T05:20:34.534439Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "3a00b19e-e7db-4403-98aa-a77c9ab61ecc", + "interface_key": "rest_api:GET /workstreams/{workstream_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T00:25:59.014966Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T00:25:59.014966Z", + "updated_at": "2026-06-04T00:25:59.014966Z" + }, + "all_time": { + "calls": 511406, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 511406 + }, + "users": { + "unknown": 511406 + }, + "components": { + "unknown": 511406 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-31T16:25:32.004042Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "69e1a255-a8b9-4101-8a68-b1bed23abfda", + "interface_key": "rest_api:GET /workstreams/{workstream_id}/dependencies/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T00:25:59.291135Z", + "replacement_ref": "/workplans/{workplan_id}/dependencies/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T00:25:59.291135Z", + "updated_at": "2026-06-04T00:25:59.291135Z" + }, + "all_time": { + "calls": 255865, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 255865 + }, + "users": { + "unknown": 255865 + }, + "components": { + "unknown": 255865 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T21:14:12.747005Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "b1aae931-b51f-4a85-a723-865dd65f6132", + "interface_key": "rest_api:PATCH /workstreams/{workstream_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T06:09:41.901035Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T06:09:41.901035Z", + "updated_at": "2026-06-04T06:09:41.901035Z" + }, + "all_time": { + "calls": 571, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 571 + }, + "users": { + "unknown": 571 + }, + "components": { + "unknown": 571 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T20:49:12.335710Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "4aea9591-970b-4918-ac4a-4da95a0a1a8c", + "interface_key": "rest_api:POST /decisions/ workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-09T22:56:35.473130Z", + "replacement_ref": "POST /decisions/ with workplan_id", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-09T22:56:35.473130Z", + "updated_at": "2026-07-09T22:56:35.473130Z" + }, + "all_time": { + "calls": 3, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 3 + }, + "users": { + "unknown": 3 + }, + "components": { + "unknown": 3 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-09T22:57:05.912456Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "4a70583c-1e41-4ec1-99a9-728856a7d79c", + "interface_key": "rest_api:POST /progress/ workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-08T23:35:09.148333Z", + "replacement_ref": "POST /progress/ with workplan_id", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-08T23:35:09.148333Z", + "updated_at": "2026-07-08T23:35:09.148333Z" + }, + "all_time": { + "calls": 14, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 14 + }, + "users": { + "unknown": 14 + }, + "components": { + "unknown": 14 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T08:34:42.959724Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "6df4e443-7bf1-461a-923b-a6eb52fe7b07", + "interface_key": "rest_api:POST /tasks/ workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-08T22:38:29.405720Z", + "replacement_ref": "POST /tasks/ with workplan_id", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-08T22:38:29.405720Z", + "updated_at": "2026-07-08T22:38:29.405720Z" + }, + "all_time": { + "calls": 5, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 5 + }, + "users": { + "unknown": 5 + }, + "components": { + "state-hub.fix-consistency": 5 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T22:38:29.976918Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "ed6451c9-d2cc-4486-9afe-d3852782cabc", + "interface_key": "rest_api:POST /workstreams/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T07:40:24.168535Z", + "replacement_ref": "/workplans/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T07:40:24.168535Z", + "updated_at": "2026-06-04T07:40:24.168535Z" + }, + "all_time": { + "calls": 824, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 824 + }, + "users": { + "unknown": 824 + }, + "components": { + "unknown": 824 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T20:38:05.903144Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "281fd706-b192-4194-8055-2d8733c115f9", + "interface_key": "rest_api:POST /workstreams/{workstream_id}/dependencies/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T22:57:37.149207Z", + "replacement_ref": "/workplans/{workplan_id}/dependencies/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T22:57:37.149207Z", + "updated_at": "2026-06-04T22:57:37.149207Z" + }, + "all_time": { + "calls": 4971, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 4971 + }, + "users": { + "unknown": 4971 + }, + "components": { + "unknown": 4971 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-01T22:09:24.229011Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + } + ], + "retirement_candidates": [ + { + "interface": { + "id": "63ed90e3-42b4-431a-94db-e1254a52f9e2", + "interface_key": "mcp:create_workstream", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.205900Z", + "replacement_ref": "create_workplan", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.205900Z", + "updated_at": "2026-07-10T13:19:44.205900Z" + }, + "all_time": { + "calls": 2, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 2 + }, + "users": { + "unknown": 2 + }, + "components": { + "state-hub.mcp": 2 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T13:20:43.378546Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "b6a5fe44-fb85-4ef7-a273-78d09da777af", + "interface_key": "mcp:list_workstreams", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:26.075491Z", + "replacement_ref": "list_workplans", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-10T13:19:26.075491Z", + "updated_at": "2026-07-10T13:19:26.075491Z" + }, + "all_time": { + "calls": 2, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 2 + }, + "users": { + "unknown": 2 + }, + "components": { + "state-hub.mcp": 2 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T13:20:42.374940Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "53c3372b-307d-4d6a-8ea4-bc36cacdcaf2", + "interface_key": "mcp:update_workstream", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.255216Z", + "replacement_ref": "update_workplan", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.255216Z", + "updated_at": "2026-07-10T13:19:44.255216Z" + }, + "all_time": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": null, + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "bed4d08a-3471-48f5-9f0e-f9d550383a26", + "interface_key": "mcp:update_workstream_status", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.303612Z", + "replacement_ref": "update_workplan_status", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.303612Z", + "updated_at": "2026-07-10T13:19:44.303612Z" + }, + "all_time": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": null, + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "46900dc2-0893-405b-ba59-80f31fb6ebb1", + "interface_key": "state://workstreams/{topic_slug}", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.344493Z", + "replacement_ref": "state://workplans/{topic_slug}", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.344493Z", + "updated_at": "2026-07-10T13:19:44.344493Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "state-hub.mcp": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T13:20:34.491811Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "cd9342fd-27e7-4a46-a1be-d41499e106a3", + "interface_key": "rest_api:DELETE /workstreams/{workstream_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-06-06T17:28:13.052813Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-06T17:28:13.052813Z", + "updated_at": "2026-06-06T17:28:13.052813Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "unknown": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-06-06T17:28:13.047529Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "a4e0948c-cd4a-461e-8ae2-7fd7b51d04a7", + "interface_key": "rest_api:GET /decisions/?workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-09T23:07:53.093223Z", + "replacement_ref": "/decisions/?workplan_id=", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-09T23:07:53.093223Z", + "updated_at": "2026-07-09T23:07:53.093223Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "unknown": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-09T23:07:53.083299Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "70a9346e-e0ee-42ac-874f-f160580b54dd", + "interface_key": "rest_api:GET /progress/?workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-13T22:04:03.911449Z", + "replacement_ref": "/progress/?workplan_id=", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-13T22:04:03.911449Z", + "updated_at": "2026-07-13T22:04:03.911449Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "unknown": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-13T22:04:03.904998Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "be3cdcf8-250b-4bf0-801f-02ffd5f57e00", + "interface_key": "rest_api:GET /tasks/?workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-08T19:32:21.628513Z", + "replacement_ref": "/tasks/?workplan_id=", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-08T19:32:21.628513Z", + "updated_at": "2026-07-08T19:32:21.628513Z" + }, + "all_time": { + "calls": 589, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 589 + }, + "users": { + "unknown": 589 + }, + "components": { + "unknown": 589 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-31T16:25:32.181901Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "3e4a3d0b-08fa-45c3-91e2-4f514a914b97", + "interface_key": "rest_api:GET /workstreams/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T00:26:14.533764Z", + "replacement_ref": "/workplans/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T00:26:14.533764Z", + "updated_at": "2026-06-04T00:26:14.533764Z" + }, + "all_time": { + "calls": 144086, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 144086 + }, + "users": { + "unknown": 144086 + }, + "components": { + "unknown": 144086 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-10T18:06:05.032338Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "e4c140ec-7479-46f9-b185-4b533f19d639", + "interface_key": "rest_api:GET /workstreams/workplan-index", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T05:20:58.321869Z", + "replacement_ref": "/workplans/index", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T05:20:58.321869Z", + "updated_at": "2026-06-04T05:20:58.321869Z" + }, + "all_time": { + "calls": 30, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 30 + }, + "users": { + "unknown": 30 + }, + "components": { + "unknown": 30 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-03T05:20:34.534439Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "3a00b19e-e7db-4403-98aa-a77c9ab61ecc", + "interface_key": "rest_api:GET /workstreams/{workstream_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T00:25:59.014966Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T00:25:59.014966Z", + "updated_at": "2026-06-04T00:25:59.014966Z" + }, + "all_time": { + "calls": 511406, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 511406 + }, + "users": { + "unknown": 511406 + }, + "components": { + "unknown": 511406 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-31T16:25:32.004042Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "69e1a255-a8b9-4101-8a68-b1bed23abfda", + "interface_key": "rest_api:GET /workstreams/{workstream_id}/dependencies/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T00:25:59.291135Z", + "replacement_ref": "/workplans/{workplan_id}/dependencies/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T00:25:59.291135Z", + "updated_at": "2026-06-04T00:25:59.291135Z" + }, + "all_time": { + "calls": 255865, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 255865 + }, + "users": { + "unknown": 255865 + }, + "components": { + "unknown": 255865 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T21:14:12.747005Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "b1aae931-b51f-4a85-a723-865dd65f6132", + "interface_key": "rest_api:PATCH /workstreams/{workstream_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T06:09:41.901035Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T06:09:41.901035Z", + "updated_at": "2026-06-04T06:09:41.901035Z" + }, + "all_time": { + "calls": 571, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 571 + }, + "users": { + "unknown": 571 + }, + "components": { + "unknown": 571 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T20:49:12.335710Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "4aea9591-970b-4918-ac4a-4da95a0a1a8c", + "interface_key": "rest_api:POST /decisions/ workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-09T22:56:35.473130Z", + "replacement_ref": "POST /decisions/ with workplan_id", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-09T22:56:35.473130Z", + "updated_at": "2026-07-09T22:56:35.473130Z" + }, + "all_time": { + "calls": 3, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 3 + }, + "users": { + "unknown": 3 + }, + "components": { + "unknown": 3 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-09T22:57:05.912456Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "4a70583c-1e41-4ec1-99a9-728856a7d79c", + "interface_key": "rest_api:POST /progress/ workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-08T23:35:09.148333Z", + "replacement_ref": "POST /progress/ with workplan_id", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-08T23:35:09.148333Z", + "updated_at": "2026-07-08T23:35:09.148333Z" + }, + "all_time": { + "calls": 14, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 14 + }, + "users": { + "unknown": 14 + }, + "components": { + "unknown": 14 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T08:34:42.959724Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "6df4e443-7bf1-461a-923b-a6eb52fe7b07", + "interface_key": "rest_api:POST /tasks/ workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-08T22:38:29.405720Z", + "replacement_ref": "POST /tasks/ with workplan_id", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-08T22:38:29.405720Z", + "updated_at": "2026-07-08T22:38:29.405720Z" + }, + "all_time": { + "calls": 5, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 5 + }, + "users": { + "unknown": 5 + }, + "components": { + "state-hub.fix-consistency": 5 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T22:38:29.976918Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "ed6451c9-d2cc-4486-9afe-d3852782cabc", + "interface_key": "rest_api:POST /workstreams/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T07:40:24.168535Z", + "replacement_ref": "/workplans/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T07:40:24.168535Z", + "updated_at": "2026-06-04T07:40:24.168535Z" + }, + "all_time": { + "calls": 824, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 824 + }, + "users": { + "unknown": 824 + }, + "components": { + "unknown": 824 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T20:38:05.903144Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "281fd706-b192-4194-8055-2d8733c115f9", + "interface_key": "rest_api:POST /workstreams/{workstream_id}/dependencies/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T22:57:37.149207Z", + "replacement_ref": "/workplans/{workplan_id}/dependencies/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T22:57:37.149207Z", + "updated_at": "2026-06-04T22:57:37.149207Z" + }, + "all_time": { + "calls": 4971, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 4971 + }, + "users": { + "unknown": 4971 + }, + "components": { + "unknown": 4971 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-01T22:09:24.229011Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + } + ] + }, + "hours": 8 +} diff --git a/docs/evidence/legacy-meter-weekly-review-20260812.json b/docs/evidence/legacy-meter-weekly-review-20260812.json new file mode 100644 index 0000000..02bab7c --- /dev/null +++ b/docs/evidence/legacy-meter-weekly-review-20260812.json @@ -0,0 +1,1677 @@ +{ + "captured_at": "2026-08-12T14:00:07.903081+00:00", + "api_base": "http://127.0.0.1:8000", + "workplan": "STATE-WP-0070", + "retired_interfaces": [], + "weekly_review": { + "generated_at": "2026-08-12T14:00:07.896335Z", + "window_start": "2026-08-12T06:00:07.827280Z", + "window_end": "2026-08-12T14:00:07.827280Z", + "cadence": "weekly", + "activity_core_handoff": { + "activity_id": "statehub-legacy-interface-review", + "cadence": "weekly", + "source_endpoint": "/legacy-meter/weekly-review", + "state_owner": "state-hub", + "scheduler_owner": "activity-core" + }, + "interfaces": [ + { + "interface": { + "id": "8051fb40-66c9-4dc4-a413-13e8573e04a3", + "interface_key": "event_subject:org.statehub.workstream.completed", + "interface_kind": "event_subject", + "legacy_since": "2026-06-04T06:09:42.198193Z", + "replacement_ref": "org.statehub.workplan.completed", + "owner_component": "state-hub.events", + "status": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Retired by STATE-WP-0069 closeout", + "retired_at": "2026-07-08T21:38:52.773601Z", + "created_at": "2026-06-04T06:09:42.198193Z", + "updated_at": "2026-07-08T21:38:52.761243Z" + }, + "all_time": { + "calls": 255, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 255 + }, + "users": { + "unknown": 255 + }, + "components": { + "state-hub.events": 255 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T20:49:12.839383Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "interface": { + "id": "63ed90e3-42b4-431a-94db-e1254a52f9e2", + "interface_key": "mcp:create_workstream", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.205900Z", + "replacement_ref": "create_workplan", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.205900Z", + "updated_at": "2026-07-10T13:19:44.205900Z" + }, + "all_time": { + "calls": 2, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 2 + }, + "users": { + "unknown": 2 + }, + "components": { + "state-hub.mcp": 2 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T13:20:43.378546Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "b6a5fe44-fb85-4ef7-a273-78d09da777af", + "interface_key": "mcp:list_workstreams", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:26.075491Z", + "replacement_ref": "list_workplans", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-10T13:19:26.075491Z", + "updated_at": "2026-07-10T13:19:26.075491Z" + }, + "all_time": { + "calls": 2, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 2 + }, + "users": { + "unknown": 2 + }, + "components": { + "state-hub.mcp": 2 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T13:20:42.374940Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "53c3372b-307d-4d6a-8ea4-bc36cacdcaf2", + "interface_key": "mcp:update_workstream", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.255216Z", + "replacement_ref": "update_workplan", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.255216Z", + "updated_at": "2026-07-10T13:19:44.255216Z" + }, + "all_time": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": null, + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "bed4d08a-3471-48f5-9f0e-f9d550383a26", + "interface_key": "mcp:update_workstream_status", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.303612Z", + "replacement_ref": "update_workplan_status", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.303612Z", + "updated_at": "2026-07-10T13:19:44.303612Z" + }, + "all_time": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": null, + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "46900dc2-0893-405b-ba59-80f31fb6ebb1", + "interface_key": "state://workstreams/{topic_slug}", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.344493Z", + "replacement_ref": "state://workplans/{topic_slug}", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.344493Z", + "updated_at": "2026-07-10T13:19:44.344493Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "state-hub.mcp": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T13:20:34.491811Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "cd9342fd-27e7-4a46-a1be-d41499e106a3", + "interface_key": "rest_api:DELETE /workstreams/{workstream_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-06-06T17:28:13.052813Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-06T17:28:13.052813Z", + "updated_at": "2026-06-06T17:28:13.052813Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "unknown": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-06-06T17:28:13.047529Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "a4e0948c-cd4a-461e-8ae2-7fd7b51d04a7", + "interface_key": "rest_api:GET /decisions/?workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-09T23:07:53.093223Z", + "replacement_ref": "/decisions/?workplan_id=", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-09T23:07:53.093223Z", + "updated_at": "2026-07-09T23:07:53.093223Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "unknown": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-09T23:07:53.083299Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "70a9346e-e0ee-42ac-874f-f160580b54dd", + "interface_key": "rest_api:GET /progress/?workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-13T22:04:03.911449Z", + "replacement_ref": "/progress/?workplan_id=", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-13T22:04:03.911449Z", + "updated_at": "2026-07-13T22:04:03.911449Z" + }, + "all_time": { + "calls": 2, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 2 + }, + "users": { + "unknown": 2 + }, + "components": { + "unknown": 2 + } + }, + "window": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "unknown": 1 + } + }, + "last_seen_at": "2026-08-12T08:55:33.912995Z", + "retirement_candidate": false, + "retirement_reason": "1 call(s) in review window" + }, + { + "interface": { + "id": "be3cdcf8-250b-4bf0-801f-02ffd5f57e00", + "interface_key": "rest_api:GET /tasks/?workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-08T19:32:21.628513Z", + "replacement_ref": "/tasks/?workplan_id=", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-08T19:32:21.628513Z", + "updated_at": "2026-07-08T19:32:21.628513Z" + }, + "all_time": { + "calls": 590, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 590 + }, + "users": { + "unknown": 590 + }, + "components": { + "unknown": 590 + } + }, + "window": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "unknown": 1 + } + }, + "last_seen_at": "2026-08-12T08:55:27.763102Z", + "retirement_candidate": false, + "retirement_reason": "1 call(s) in review window" + }, + { + "interface": { + "id": "3e4a3d0b-08fa-45c3-91e2-4f514a914b97", + "interface_key": "rest_api:GET /workstreams/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T00:26:14.533764Z", + "replacement_ref": "/workplans/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T00:26:14.533764Z", + "updated_at": "2026-06-04T00:26:14.533764Z" + }, + "all_time": { + "calls": 144086, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 144086 + }, + "users": { + "unknown": 144086 + }, + "components": { + "unknown": 144086 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-10T18:06:05.032338Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "e4c140ec-7479-46f9-b185-4b533f19d639", + "interface_key": "rest_api:GET /workstreams/workplan-index", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T05:20:58.321869Z", + "replacement_ref": "/workplans/index", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T05:20:58.321869Z", + "updated_at": "2026-06-04T05:20:58.321869Z" + }, + "all_time": { + "calls": 30, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 30 + }, + "users": { + "unknown": 30 + }, + "components": { + "unknown": 30 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-03T05:20:34.534439Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "3a00b19e-e7db-4403-98aa-a77c9ab61ecc", + "interface_key": "rest_api:GET /workstreams/{workstream_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T00:25:59.014966Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T00:25:59.014966Z", + "updated_at": "2026-06-04T00:25:59.014966Z" + }, + "all_time": { + "calls": 511406, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 511406 + }, + "users": { + "unknown": 511406 + }, + "components": { + "unknown": 511406 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-31T16:25:32.004042Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "69e1a255-a8b9-4101-8a68-b1bed23abfda", + "interface_key": "rest_api:GET /workstreams/{workstream_id}/dependencies/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T00:25:59.291135Z", + "replacement_ref": "/workplans/{workplan_id}/dependencies/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T00:25:59.291135Z", + "updated_at": "2026-06-04T00:25:59.291135Z" + }, + "all_time": { + "calls": 255865, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 255865 + }, + "users": { + "unknown": 255865 + }, + "components": { + "unknown": 255865 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T21:14:12.747005Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "b1aae931-b51f-4a85-a723-865dd65f6132", + "interface_key": "rest_api:PATCH /workstreams/{workstream_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T06:09:41.901035Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T06:09:41.901035Z", + "updated_at": "2026-06-04T06:09:41.901035Z" + }, + "all_time": { + "calls": 571, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 571 + }, + "users": { + "unknown": 571 + }, + "components": { + "unknown": 571 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T20:49:12.335710Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "4aea9591-970b-4918-ac4a-4da95a0a1a8c", + "interface_key": "rest_api:POST /decisions/ workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-09T22:56:35.473130Z", + "replacement_ref": "POST /decisions/ with workplan_id", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-09T22:56:35.473130Z", + "updated_at": "2026-07-09T22:56:35.473130Z" + }, + "all_time": { + "calls": 3, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 3 + }, + "users": { + "unknown": 3 + }, + "components": { + "unknown": 3 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-09T22:57:05.912456Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "4a70583c-1e41-4ec1-99a9-728856a7d79c", + "interface_key": "rest_api:POST /progress/ workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-08T23:35:09.148333Z", + "replacement_ref": "POST /progress/ with workplan_id", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-08T23:35:09.148333Z", + "updated_at": "2026-07-08T23:35:09.148333Z" + }, + "all_time": { + "calls": 14, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 14 + }, + "users": { + "unknown": 14 + }, + "components": { + "unknown": 14 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T08:34:42.959724Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "6df4e443-7bf1-461a-923b-a6eb52fe7b07", + "interface_key": "rest_api:POST /tasks/ workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-08T22:38:29.405720Z", + "replacement_ref": "POST /tasks/ with workplan_id", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-08T22:38:29.405720Z", + "updated_at": "2026-07-08T22:38:29.405720Z" + }, + "all_time": { + "calls": 5, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 5 + }, + "users": { + "unknown": 5 + }, + "components": { + "state-hub.fix-consistency": 5 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T22:38:29.976918Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "ed6451c9-d2cc-4486-9afe-d3852782cabc", + "interface_key": "rest_api:POST /workstreams/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T07:40:24.168535Z", + "replacement_ref": "/workplans/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T07:40:24.168535Z", + "updated_at": "2026-06-04T07:40:24.168535Z" + }, + "all_time": { + "calls": 824, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 824 + }, + "users": { + "unknown": 824 + }, + "components": { + "unknown": 824 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T20:38:05.903144Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "281fd706-b192-4194-8055-2d8733c115f9", + "interface_key": "rest_api:POST /workstreams/{workstream_id}/dependencies/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T22:57:37.149207Z", + "replacement_ref": "/workplans/{workplan_id}/dependencies/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T22:57:37.149207Z", + "updated_at": "2026-06-04T22:57:37.149207Z" + }, + "all_time": { + "calls": 4971, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 4971 + }, + "users": { + "unknown": 4971 + }, + "components": { + "unknown": 4971 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-01T22:09:24.229011Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + } + ], + "retirement_candidates": [ + { + "interface": { + "id": "63ed90e3-42b4-431a-94db-e1254a52f9e2", + "interface_key": "mcp:create_workstream", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.205900Z", + "replacement_ref": "create_workplan", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.205900Z", + "updated_at": "2026-07-10T13:19:44.205900Z" + }, + "all_time": { + "calls": 2, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 2 + }, + "users": { + "unknown": 2 + }, + "components": { + "state-hub.mcp": 2 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T13:20:43.378546Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "b6a5fe44-fb85-4ef7-a273-78d09da777af", + "interface_key": "mcp:list_workstreams", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:26.075491Z", + "replacement_ref": "list_workplans", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-10T13:19:26.075491Z", + "updated_at": "2026-07-10T13:19:26.075491Z" + }, + "all_time": { + "calls": 2, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 2 + }, + "users": { + "unknown": 2 + }, + "components": { + "state-hub.mcp": 2 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T13:20:42.374940Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "53c3372b-307d-4d6a-8ea4-bc36cacdcaf2", + "interface_key": "mcp:update_workstream", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.255216Z", + "replacement_ref": "update_workplan", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.255216Z", + "updated_at": "2026-07-10T13:19:44.255216Z" + }, + "all_time": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": null, + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "bed4d08a-3471-48f5-9f0e-f9d550383a26", + "interface_key": "mcp:update_workstream_status", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.303612Z", + "replacement_ref": "update_workplan_status", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.303612Z", + "updated_at": "2026-07-10T13:19:44.303612Z" + }, + "all_time": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": null, + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "46900dc2-0893-405b-ba59-80f31fb6ebb1", + "interface_key": "state://workstreams/{topic_slug}", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.344493Z", + "replacement_ref": "state://workplans/{topic_slug}", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.344493Z", + "updated_at": "2026-07-10T13:19:44.344493Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "state-hub.mcp": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T13:20:34.491811Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "cd9342fd-27e7-4a46-a1be-d41499e106a3", + "interface_key": "rest_api:DELETE /workstreams/{workstream_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-06-06T17:28:13.052813Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-06T17:28:13.052813Z", + "updated_at": "2026-06-06T17:28:13.052813Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "unknown": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-06-06T17:28:13.047529Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "a4e0948c-cd4a-461e-8ae2-7fd7b51d04a7", + "interface_key": "rest_api:GET /decisions/?workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-09T23:07:53.093223Z", + "replacement_ref": "/decisions/?workplan_id=", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-09T23:07:53.093223Z", + "updated_at": "2026-07-09T23:07:53.093223Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "unknown": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-09T23:07:53.083299Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "3e4a3d0b-08fa-45c3-91e2-4f514a914b97", + "interface_key": "rest_api:GET /workstreams/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T00:26:14.533764Z", + "replacement_ref": "/workplans/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T00:26:14.533764Z", + "updated_at": "2026-06-04T00:26:14.533764Z" + }, + "all_time": { + "calls": 144086, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 144086 + }, + "users": { + "unknown": 144086 + }, + "components": { + "unknown": 144086 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-10T18:06:05.032338Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "e4c140ec-7479-46f9-b185-4b533f19d639", + "interface_key": "rest_api:GET /workstreams/workplan-index", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T05:20:58.321869Z", + "replacement_ref": "/workplans/index", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T05:20:58.321869Z", + "updated_at": "2026-06-04T05:20:58.321869Z" + }, + "all_time": { + "calls": 30, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 30 + }, + "users": { + "unknown": 30 + }, + "components": { + "unknown": 30 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-03T05:20:34.534439Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "3a00b19e-e7db-4403-98aa-a77c9ab61ecc", + "interface_key": "rest_api:GET /workstreams/{workstream_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T00:25:59.014966Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T00:25:59.014966Z", + "updated_at": "2026-06-04T00:25:59.014966Z" + }, + "all_time": { + "calls": 511406, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 511406 + }, + "users": { + "unknown": 511406 + }, + "components": { + "unknown": 511406 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-31T16:25:32.004042Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "69e1a255-a8b9-4101-8a68-b1bed23abfda", + "interface_key": "rest_api:GET /workstreams/{workstream_id}/dependencies/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T00:25:59.291135Z", + "replacement_ref": "/workplans/{workplan_id}/dependencies/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T00:25:59.291135Z", + "updated_at": "2026-06-04T00:25:59.291135Z" + }, + "all_time": { + "calls": 255865, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 255865 + }, + "users": { + "unknown": 255865 + }, + "components": { + "unknown": 255865 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T21:14:12.747005Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "b1aae931-b51f-4a85-a723-865dd65f6132", + "interface_key": "rest_api:PATCH /workstreams/{workstream_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T06:09:41.901035Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T06:09:41.901035Z", + "updated_at": "2026-06-04T06:09:41.901035Z" + }, + "all_time": { + "calls": 571, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 571 + }, + "users": { + "unknown": 571 + }, + "components": { + "unknown": 571 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T20:49:12.335710Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "4aea9591-970b-4918-ac4a-4da95a0a1a8c", + "interface_key": "rest_api:POST /decisions/ workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-09T22:56:35.473130Z", + "replacement_ref": "POST /decisions/ with workplan_id", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-09T22:56:35.473130Z", + "updated_at": "2026-07-09T22:56:35.473130Z" + }, + "all_time": { + "calls": 3, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 3 + }, + "users": { + "unknown": 3 + }, + "components": { + "unknown": 3 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-09T22:57:05.912456Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "4a70583c-1e41-4ec1-99a9-728856a7d79c", + "interface_key": "rest_api:POST /progress/ workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-08T23:35:09.148333Z", + "replacement_ref": "POST /progress/ with workplan_id", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-08T23:35:09.148333Z", + "updated_at": "2026-07-08T23:35:09.148333Z" + }, + "all_time": { + "calls": 14, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 14 + }, + "users": { + "unknown": 14 + }, + "components": { + "unknown": 14 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T08:34:42.959724Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "6df4e443-7bf1-461a-923b-a6eb52fe7b07", + "interface_key": "rest_api:POST /tasks/ workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-08T22:38:29.405720Z", + "replacement_ref": "POST /tasks/ with workplan_id", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-08T22:38:29.405720Z", + "updated_at": "2026-07-08T22:38:29.405720Z" + }, + "all_time": { + "calls": 5, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 5 + }, + "users": { + "unknown": 5 + }, + "components": { + "state-hub.fix-consistency": 5 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T22:38:29.976918Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "ed6451c9-d2cc-4486-9afe-d3852782cabc", + "interface_key": "rest_api:POST /workstreams/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T07:40:24.168535Z", + "replacement_ref": "/workplans/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T07:40:24.168535Z", + "updated_at": "2026-06-04T07:40:24.168535Z" + }, + "all_time": { + "calls": 824, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 824 + }, + "users": { + "unknown": 824 + }, + "components": { + "unknown": 824 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T20:38:05.903144Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "281fd706-b192-4194-8055-2d8733c115f9", + "interface_key": "rest_api:POST /workstreams/{workstream_id}/dependencies/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T22:57:37.149207Z", + "replacement_ref": "/workplans/{workplan_id}/dependencies/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T22:57:37.149207Z", + "updated_at": "2026-06-04T22:57:37.149207Z" + }, + "all_time": { + "calls": 4971, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 4971 + }, + "users": { + "unknown": 4971 + }, + "components": { + "unknown": 4971 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-01T22:09:24.229011Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + } + ] + }, + "hours": 8 +} diff --git a/docs/evidence/legacy-meter-weekly-review-20260813.json b/docs/evidence/legacy-meter-weekly-review-20260813.json new file mode 100644 index 0000000..b0d585f --- /dev/null +++ b/docs/evidence/legacy-meter-weekly-review-20260813.json @@ -0,0 +1,1755 @@ +{ + "captured_at": "2026-08-13T14:00:04.924801+00:00", + "api_base": "http://127.0.0.1:8000", + "workplan": "STATE-WP-0070", + "retired_interfaces": [], + "weekly_review": { + "generated_at": "2026-08-13T14:00:04.918885Z", + "window_start": "2026-08-13T06:00:04.503934Z", + "window_end": "2026-08-13T14:00:04.503934Z", + "cadence": "weekly", + "activity_core_handoff": { + "activity_id": "statehub-legacy-interface-review", + "cadence": "weekly", + "source_endpoint": "/legacy-meter/weekly-review", + "state_owner": "state-hub", + "scheduler_owner": "activity-core" + }, + "interfaces": [ + { + "interface": { + "id": "8051fb40-66c9-4dc4-a413-13e8573e04a3", + "interface_key": "event_subject:org.statehub.workstream.completed", + "interface_kind": "event_subject", + "legacy_since": "2026-06-04T06:09:42.198193Z", + "replacement_ref": "org.statehub.workplan.completed", + "owner_component": "state-hub.events", + "status": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Retired by STATE-WP-0069 closeout", + "retired_at": "2026-07-08T21:38:52.773601Z", + "created_at": "2026-06-04T06:09:42.198193Z", + "updated_at": "2026-07-08T21:38:52.761243Z" + }, + "all_time": { + "calls": 255, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 255 + }, + "users": { + "unknown": 255 + }, + "components": { + "state-hub.events": 255 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T20:49:12.839383Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "interface": { + "id": "63ed90e3-42b4-431a-94db-e1254a52f9e2", + "interface_key": "mcp:create_workstream", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.205900Z", + "replacement_ref": "create_workplan", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.205900Z", + "updated_at": "2026-07-10T13:19:44.205900Z" + }, + "all_time": { + "calls": 2, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 2 + }, + "users": { + "unknown": 2 + }, + "components": { + "state-hub.mcp": 2 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T13:20:43.378546Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "b6a5fe44-fb85-4ef7-a273-78d09da777af", + "interface_key": "mcp:list_workstreams", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:26.075491Z", + "replacement_ref": "list_workplans", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-10T13:19:26.075491Z", + "updated_at": "2026-07-10T13:19:26.075491Z" + }, + "all_time": { + "calls": 2, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 2 + }, + "users": { + "unknown": 2 + }, + "components": { + "state-hub.mcp": 2 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T13:20:42.374940Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "53c3372b-307d-4d6a-8ea4-bc36cacdcaf2", + "interface_key": "mcp:update_workstream", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.255216Z", + "replacement_ref": "update_workplan", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.255216Z", + "updated_at": "2026-07-10T13:19:44.255216Z" + }, + "all_time": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": null, + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "bed4d08a-3471-48f5-9f0e-f9d550383a26", + "interface_key": "mcp:update_workstream_status", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.303612Z", + "replacement_ref": "update_workplan_status", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.303612Z", + "updated_at": "2026-07-10T13:19:44.303612Z" + }, + "all_time": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": null, + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "46900dc2-0893-405b-ba59-80f31fb6ebb1", + "interface_key": "state://workstreams/{topic_slug}", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.344493Z", + "replacement_ref": "state://workplans/{topic_slug}", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.344493Z", + "updated_at": "2026-07-10T13:19:44.344493Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "state-hub.mcp": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T13:20:34.491811Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "cd9342fd-27e7-4a46-a1be-d41499e106a3", + "interface_key": "rest_api:DELETE /workstreams/{workstream_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-06-06T17:28:13.052813Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-06T17:28:13.052813Z", + "updated_at": "2026-06-06T17:28:13.052813Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "unknown": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-06-06T17:28:13.047529Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "a4e0948c-cd4a-461e-8ae2-7fd7b51d04a7", + "interface_key": "rest_api:GET /decisions/?workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-09T23:07:53.093223Z", + "replacement_ref": "/decisions/?workplan_id=", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-09T23:07:53.093223Z", + "updated_at": "2026-07-09T23:07:53.093223Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "unknown": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-09T23:07:53.083299Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "70a9346e-e0ee-42ac-874f-f160580b54dd", + "interface_key": "rest_api:GET /progress/?workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-13T22:04:03.911449Z", + "replacement_ref": "/progress/?workplan_id=", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-13T22:04:03.911449Z", + "updated_at": "2026-07-13T22:04:03.911449Z" + }, + "all_time": { + "calls": 2, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 2 + }, + "users": { + "unknown": 2 + }, + "components": { + "unknown": 2 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-12T08:55:33.912995Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "be3cdcf8-250b-4bf0-801f-02ffd5f57e00", + "interface_key": "rest_api:GET /tasks/?workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-08T19:32:21.628513Z", + "replacement_ref": "/tasks/?workplan_id=", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-08T19:32:21.628513Z", + "updated_at": "2026-07-08T19:32:21.628513Z" + }, + "all_time": { + "calls": 590, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 590 + }, + "users": { + "unknown": 590 + }, + "components": { + "unknown": 590 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-12T08:55:27.763102Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "3e4a3d0b-08fa-45c3-91e2-4f514a914b97", + "interface_key": "rest_api:GET /workstreams/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T00:26:14.533764Z", + "replacement_ref": "/workplans/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T00:26:14.533764Z", + "updated_at": "2026-06-04T00:26:14.533764Z" + }, + "all_time": { + "calls": 144086, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 144086 + }, + "users": { + "unknown": 144086 + }, + "components": { + "unknown": 144086 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-10T18:06:05.032338Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "e4c140ec-7479-46f9-b185-4b533f19d639", + "interface_key": "rest_api:GET /workstreams/workplan-index", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T05:20:58.321869Z", + "replacement_ref": "/workplans/index", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T05:20:58.321869Z", + "updated_at": "2026-06-04T05:20:58.321869Z" + }, + "all_time": { + "calls": 30, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 30 + }, + "users": { + "unknown": 30 + }, + "components": { + "unknown": 30 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-03T05:20:34.534439Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "3a00b19e-e7db-4403-98aa-a77c9ab61ecc", + "interface_key": "rest_api:GET /workstreams/{workstream_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T00:25:59.014966Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T00:25:59.014966Z", + "updated_at": "2026-06-04T00:25:59.014966Z" + }, + "all_time": { + "calls": 511406, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 511406 + }, + "users": { + "unknown": 511406 + }, + "components": { + "unknown": 511406 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-31T16:25:32.004042Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "69e1a255-a8b9-4101-8a68-b1bed23abfda", + "interface_key": "rest_api:GET /workstreams/{workstream_id}/dependencies/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T00:25:59.291135Z", + "replacement_ref": "/workplans/{workplan_id}/dependencies/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T00:25:59.291135Z", + "updated_at": "2026-06-04T00:25:59.291135Z" + }, + "all_time": { + "calls": 255865, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 255865 + }, + "users": { + "unknown": 255865 + }, + "components": { + "unknown": 255865 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T21:14:12.747005Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "b1aae931-b51f-4a85-a723-865dd65f6132", + "interface_key": "rest_api:PATCH /workstreams/{workstream_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T06:09:41.901035Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T06:09:41.901035Z", + "updated_at": "2026-06-04T06:09:41.901035Z" + }, + "all_time": { + "calls": 571, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 571 + }, + "users": { + "unknown": 571 + }, + "components": { + "unknown": 571 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T20:49:12.335710Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "4aea9591-970b-4918-ac4a-4da95a0a1a8c", + "interface_key": "rest_api:POST /decisions/ workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-09T22:56:35.473130Z", + "replacement_ref": "POST /decisions/ with workplan_id", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-09T22:56:35.473130Z", + "updated_at": "2026-07-09T22:56:35.473130Z" + }, + "all_time": { + "calls": 3, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 3 + }, + "users": { + "unknown": 3 + }, + "components": { + "unknown": 3 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-09T22:57:05.912456Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "4a70583c-1e41-4ec1-99a9-728856a7d79c", + "interface_key": "rest_api:POST /progress/ workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-08T23:35:09.148333Z", + "replacement_ref": "POST /progress/ with workplan_id", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-08T23:35:09.148333Z", + "updated_at": "2026-07-08T23:35:09.148333Z" + }, + "all_time": { + "calls": 14, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 14 + }, + "users": { + "unknown": 14 + }, + "components": { + "unknown": 14 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T08:34:42.959724Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "6df4e443-7bf1-461a-923b-a6eb52fe7b07", + "interface_key": "rest_api:POST /tasks/ workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-08T22:38:29.405720Z", + "replacement_ref": "POST /tasks/ with workplan_id", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-08T22:38:29.405720Z", + "updated_at": "2026-07-08T22:38:29.405720Z" + }, + "all_time": { + "calls": 5, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 5 + }, + "users": { + "unknown": 5 + }, + "components": { + "state-hub.fix-consistency": 5 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T22:38:29.976918Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "ed6451c9-d2cc-4486-9afe-d3852782cabc", + "interface_key": "rest_api:POST /workstreams/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T07:40:24.168535Z", + "replacement_ref": "/workplans/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T07:40:24.168535Z", + "updated_at": "2026-06-04T07:40:24.168535Z" + }, + "all_time": { + "calls": 824, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 824 + }, + "users": { + "unknown": 824 + }, + "components": { + "unknown": 824 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T20:38:05.903144Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "281fd706-b192-4194-8055-2d8733c115f9", + "interface_key": "rest_api:POST /workstreams/{workstream_id}/dependencies/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T22:57:37.149207Z", + "replacement_ref": "/workplans/{workplan_id}/dependencies/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T22:57:37.149207Z", + "updated_at": "2026-06-04T22:57:37.149207Z" + }, + "all_time": { + "calls": 4971, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 4971 + }, + "users": { + "unknown": 4971 + }, + "components": { + "unknown": 4971 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-01T22:09:24.229011Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + } + ], + "retirement_candidates": [ + { + "interface": { + "id": "63ed90e3-42b4-431a-94db-e1254a52f9e2", + "interface_key": "mcp:create_workstream", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.205900Z", + "replacement_ref": "create_workplan", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.205900Z", + "updated_at": "2026-07-10T13:19:44.205900Z" + }, + "all_time": { + "calls": 2, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 2 + }, + "users": { + "unknown": 2 + }, + "components": { + "state-hub.mcp": 2 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T13:20:43.378546Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "b6a5fe44-fb85-4ef7-a273-78d09da777af", + "interface_key": "mcp:list_workstreams", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:26.075491Z", + "replacement_ref": "list_workplans", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-10T13:19:26.075491Z", + "updated_at": "2026-07-10T13:19:26.075491Z" + }, + "all_time": { + "calls": 2, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 2 + }, + "users": { + "unknown": 2 + }, + "components": { + "state-hub.mcp": 2 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T13:20:42.374940Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "53c3372b-307d-4d6a-8ea4-bc36cacdcaf2", + "interface_key": "mcp:update_workstream", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.255216Z", + "replacement_ref": "update_workplan", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.255216Z", + "updated_at": "2026-07-10T13:19:44.255216Z" + }, + "all_time": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": null, + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "bed4d08a-3471-48f5-9f0e-f9d550383a26", + "interface_key": "mcp:update_workstream_status", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.303612Z", + "replacement_ref": "update_workplan_status", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.303612Z", + "updated_at": "2026-07-10T13:19:44.303612Z" + }, + "all_time": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": null, + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "46900dc2-0893-405b-ba59-80f31fb6ebb1", + "interface_key": "state://workstreams/{topic_slug}", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.344493Z", + "replacement_ref": "state://workplans/{topic_slug}", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.344493Z", + "updated_at": "2026-07-10T13:19:44.344493Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "state-hub.mcp": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T13:20:34.491811Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "cd9342fd-27e7-4a46-a1be-d41499e106a3", + "interface_key": "rest_api:DELETE /workstreams/{workstream_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-06-06T17:28:13.052813Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-06T17:28:13.052813Z", + "updated_at": "2026-06-06T17:28:13.052813Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "unknown": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-06-06T17:28:13.047529Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "a4e0948c-cd4a-461e-8ae2-7fd7b51d04a7", + "interface_key": "rest_api:GET /decisions/?workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-09T23:07:53.093223Z", + "replacement_ref": "/decisions/?workplan_id=", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-09T23:07:53.093223Z", + "updated_at": "2026-07-09T23:07:53.093223Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "unknown": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-09T23:07:53.083299Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "70a9346e-e0ee-42ac-874f-f160580b54dd", + "interface_key": "rest_api:GET /progress/?workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-13T22:04:03.911449Z", + "replacement_ref": "/progress/?workplan_id=", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-13T22:04:03.911449Z", + "updated_at": "2026-07-13T22:04:03.911449Z" + }, + "all_time": { + "calls": 2, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 2 + }, + "users": { + "unknown": 2 + }, + "components": { + "unknown": 2 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-12T08:55:33.912995Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "be3cdcf8-250b-4bf0-801f-02ffd5f57e00", + "interface_key": "rest_api:GET /tasks/?workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-08T19:32:21.628513Z", + "replacement_ref": "/tasks/?workplan_id=", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-08T19:32:21.628513Z", + "updated_at": "2026-07-08T19:32:21.628513Z" + }, + "all_time": { + "calls": 590, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 590 + }, + "users": { + "unknown": 590 + }, + "components": { + "unknown": 590 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-12T08:55:27.763102Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "3e4a3d0b-08fa-45c3-91e2-4f514a914b97", + "interface_key": "rest_api:GET /workstreams/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T00:26:14.533764Z", + "replacement_ref": "/workplans/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T00:26:14.533764Z", + "updated_at": "2026-06-04T00:26:14.533764Z" + }, + "all_time": { + "calls": 144086, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 144086 + }, + "users": { + "unknown": 144086 + }, + "components": { + "unknown": 144086 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-10T18:06:05.032338Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "e4c140ec-7479-46f9-b185-4b533f19d639", + "interface_key": "rest_api:GET /workstreams/workplan-index", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T05:20:58.321869Z", + "replacement_ref": "/workplans/index", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T05:20:58.321869Z", + "updated_at": "2026-06-04T05:20:58.321869Z" + }, + "all_time": { + "calls": 30, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 30 + }, + "users": { + "unknown": 30 + }, + "components": { + "unknown": 30 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-03T05:20:34.534439Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "3a00b19e-e7db-4403-98aa-a77c9ab61ecc", + "interface_key": "rest_api:GET /workstreams/{workstream_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T00:25:59.014966Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T00:25:59.014966Z", + "updated_at": "2026-06-04T00:25:59.014966Z" + }, + "all_time": { + "calls": 511406, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 511406 + }, + "users": { + "unknown": 511406 + }, + "components": { + "unknown": 511406 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-31T16:25:32.004042Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "69e1a255-a8b9-4101-8a68-b1bed23abfda", + "interface_key": "rest_api:GET /workstreams/{workstream_id}/dependencies/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T00:25:59.291135Z", + "replacement_ref": "/workplans/{workplan_id}/dependencies/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T00:25:59.291135Z", + "updated_at": "2026-06-04T00:25:59.291135Z" + }, + "all_time": { + "calls": 255865, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 255865 + }, + "users": { + "unknown": 255865 + }, + "components": { + "unknown": 255865 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T21:14:12.747005Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "b1aae931-b51f-4a85-a723-865dd65f6132", + "interface_key": "rest_api:PATCH /workstreams/{workstream_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T06:09:41.901035Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T06:09:41.901035Z", + "updated_at": "2026-06-04T06:09:41.901035Z" + }, + "all_time": { + "calls": 571, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 571 + }, + "users": { + "unknown": 571 + }, + "components": { + "unknown": 571 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T20:49:12.335710Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "4aea9591-970b-4918-ac4a-4da95a0a1a8c", + "interface_key": "rest_api:POST /decisions/ workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-09T22:56:35.473130Z", + "replacement_ref": "POST /decisions/ with workplan_id", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-09T22:56:35.473130Z", + "updated_at": "2026-07-09T22:56:35.473130Z" + }, + "all_time": { + "calls": 3, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 3 + }, + "users": { + "unknown": 3 + }, + "components": { + "unknown": 3 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-09T22:57:05.912456Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "4a70583c-1e41-4ec1-99a9-728856a7d79c", + "interface_key": "rest_api:POST /progress/ workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-08T23:35:09.148333Z", + "replacement_ref": "POST /progress/ with workplan_id", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-08T23:35:09.148333Z", + "updated_at": "2026-07-08T23:35:09.148333Z" + }, + "all_time": { + "calls": 14, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 14 + }, + "users": { + "unknown": 14 + }, + "components": { + "unknown": 14 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T08:34:42.959724Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "6df4e443-7bf1-461a-923b-a6eb52fe7b07", + "interface_key": "rest_api:POST /tasks/ workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-08T22:38:29.405720Z", + "replacement_ref": "POST /tasks/ with workplan_id", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-08T22:38:29.405720Z", + "updated_at": "2026-07-08T22:38:29.405720Z" + }, + "all_time": { + "calls": 5, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 5 + }, + "users": { + "unknown": 5 + }, + "components": { + "state-hub.fix-consistency": 5 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T22:38:29.976918Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "ed6451c9-d2cc-4486-9afe-d3852782cabc", + "interface_key": "rest_api:POST /workstreams/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T07:40:24.168535Z", + "replacement_ref": "/workplans/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T07:40:24.168535Z", + "updated_at": "2026-06-04T07:40:24.168535Z" + }, + "all_time": { + "calls": 824, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 824 + }, + "users": { + "unknown": 824 + }, + "components": { + "unknown": 824 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T20:38:05.903144Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "281fd706-b192-4194-8055-2d8733c115f9", + "interface_key": "rest_api:POST /workstreams/{workstream_id}/dependencies/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T22:57:37.149207Z", + "replacement_ref": "/workplans/{workplan_id}/dependencies/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T22:57:37.149207Z", + "updated_at": "2026-06-04T22:57:37.149207Z" + }, + "all_time": { + "calls": 4971, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 4971 + }, + "users": { + "unknown": 4971 + }, + "components": { + "unknown": 4971 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-01T22:09:24.229011Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + } + ] + }, + "hours": 8 +} diff --git a/docs/evidence/legacy-meter-weekly-review-20260814.json b/docs/evidence/legacy-meter-weekly-review-20260814.json new file mode 100644 index 0000000..edc64d1 --- /dev/null +++ b/docs/evidence/legacy-meter-weekly-review-20260814.json @@ -0,0 +1,1755 @@ +{ + "captured_at": "2026-08-14T14:00:07.080388+00:00", + "api_base": "http://127.0.0.1:8000", + "workplan": "STATE-WP-0070", + "retired_interfaces": [], + "weekly_review": { + "generated_at": "2026-08-14T14:00:07.074501Z", + "window_start": "2026-08-14T06:00:07.012488Z", + "window_end": "2026-08-14T14:00:07.012488Z", + "cadence": "weekly", + "activity_core_handoff": { + "activity_id": "statehub-legacy-interface-review", + "cadence": "weekly", + "source_endpoint": "/legacy-meter/weekly-review", + "state_owner": "state-hub", + "scheduler_owner": "activity-core" + }, + "interfaces": [ + { + "interface": { + "id": "8051fb40-66c9-4dc4-a413-13e8573e04a3", + "interface_key": "event_subject:org.statehub.workstream.completed", + "interface_kind": "event_subject", + "legacy_since": "2026-06-04T06:09:42.198193Z", + "replacement_ref": "org.statehub.workplan.completed", + "owner_component": "state-hub.events", + "status": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Retired by STATE-WP-0069 closeout", + "retired_at": "2026-07-08T21:38:52.773601Z", + "created_at": "2026-06-04T06:09:42.198193Z", + "updated_at": "2026-07-08T21:38:52.761243Z" + }, + "all_time": { + "calls": 255, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 255 + }, + "users": { + "unknown": 255 + }, + "components": { + "state-hub.events": 255 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T20:49:12.839383Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "interface": { + "id": "63ed90e3-42b4-431a-94db-e1254a52f9e2", + "interface_key": "mcp:create_workstream", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.205900Z", + "replacement_ref": "create_workplan", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.205900Z", + "updated_at": "2026-07-10T13:19:44.205900Z" + }, + "all_time": { + "calls": 2, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 2 + }, + "users": { + "unknown": 2 + }, + "components": { + "state-hub.mcp": 2 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T13:20:43.378546Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "b6a5fe44-fb85-4ef7-a273-78d09da777af", + "interface_key": "mcp:list_workstreams", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:26.075491Z", + "replacement_ref": "list_workplans", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-10T13:19:26.075491Z", + "updated_at": "2026-07-10T13:19:26.075491Z" + }, + "all_time": { + "calls": 2, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 2 + }, + "users": { + "unknown": 2 + }, + "components": { + "state-hub.mcp": 2 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T13:20:42.374940Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "53c3372b-307d-4d6a-8ea4-bc36cacdcaf2", + "interface_key": "mcp:update_workstream", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.255216Z", + "replacement_ref": "update_workplan", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.255216Z", + "updated_at": "2026-07-10T13:19:44.255216Z" + }, + "all_time": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": null, + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "bed4d08a-3471-48f5-9f0e-f9d550383a26", + "interface_key": "mcp:update_workstream_status", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.303612Z", + "replacement_ref": "update_workplan_status", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.303612Z", + "updated_at": "2026-07-10T13:19:44.303612Z" + }, + "all_time": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": null, + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "46900dc2-0893-405b-ba59-80f31fb6ebb1", + "interface_key": "state://workstreams/{topic_slug}", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.344493Z", + "replacement_ref": "state://workplans/{topic_slug}", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.344493Z", + "updated_at": "2026-07-10T13:19:44.344493Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "state-hub.mcp": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T13:20:34.491811Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "cd9342fd-27e7-4a46-a1be-d41499e106a3", + "interface_key": "rest_api:DELETE /workstreams/{workstream_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-06-06T17:28:13.052813Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-06T17:28:13.052813Z", + "updated_at": "2026-06-06T17:28:13.052813Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "unknown": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-06-06T17:28:13.047529Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "a4e0948c-cd4a-461e-8ae2-7fd7b51d04a7", + "interface_key": "rest_api:GET /decisions/?workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-09T23:07:53.093223Z", + "replacement_ref": "/decisions/?workplan_id=", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-09T23:07:53.093223Z", + "updated_at": "2026-07-09T23:07:53.093223Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "unknown": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-09T23:07:53.083299Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "70a9346e-e0ee-42ac-874f-f160580b54dd", + "interface_key": "rest_api:GET /progress/?workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-13T22:04:03.911449Z", + "replacement_ref": "/progress/?workplan_id=", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-13T22:04:03.911449Z", + "updated_at": "2026-07-13T22:04:03.911449Z" + }, + "all_time": { + "calls": 2, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 2 + }, + "users": { + "unknown": 2 + }, + "components": { + "unknown": 2 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-12T08:55:33.912995Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "be3cdcf8-250b-4bf0-801f-02ffd5f57e00", + "interface_key": "rest_api:GET /tasks/?workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-08T19:32:21.628513Z", + "replacement_ref": "/tasks/?workplan_id=", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-08T19:32:21.628513Z", + "updated_at": "2026-07-08T19:32:21.628513Z" + }, + "all_time": { + "calls": 590, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 590 + }, + "users": { + "unknown": 590 + }, + "components": { + "unknown": 590 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-12T08:55:27.763102Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "3e4a3d0b-08fa-45c3-91e2-4f514a914b97", + "interface_key": "rest_api:GET /workstreams/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T00:26:14.533764Z", + "replacement_ref": "/workplans/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T00:26:14.533764Z", + "updated_at": "2026-06-04T00:26:14.533764Z" + }, + "all_time": { + "calls": 144086, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 144086 + }, + "users": { + "unknown": 144086 + }, + "components": { + "unknown": 144086 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-10T18:06:05.032338Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "e4c140ec-7479-46f9-b185-4b533f19d639", + "interface_key": "rest_api:GET /workstreams/workplan-index", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T05:20:58.321869Z", + "replacement_ref": "/workplans/index", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T05:20:58.321869Z", + "updated_at": "2026-06-04T05:20:58.321869Z" + }, + "all_time": { + "calls": 30, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 30 + }, + "users": { + "unknown": 30 + }, + "components": { + "unknown": 30 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-03T05:20:34.534439Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "3a00b19e-e7db-4403-98aa-a77c9ab61ecc", + "interface_key": "rest_api:GET /workstreams/{workstream_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T00:25:59.014966Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T00:25:59.014966Z", + "updated_at": "2026-06-04T00:25:59.014966Z" + }, + "all_time": { + "calls": 511406, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 511406 + }, + "users": { + "unknown": 511406 + }, + "components": { + "unknown": 511406 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-31T16:25:32.004042Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "69e1a255-a8b9-4101-8a68-b1bed23abfda", + "interface_key": "rest_api:GET /workstreams/{workstream_id}/dependencies/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T00:25:59.291135Z", + "replacement_ref": "/workplans/{workplan_id}/dependencies/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T00:25:59.291135Z", + "updated_at": "2026-06-04T00:25:59.291135Z" + }, + "all_time": { + "calls": 255865, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 255865 + }, + "users": { + "unknown": 255865 + }, + "components": { + "unknown": 255865 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T21:14:12.747005Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "b1aae931-b51f-4a85-a723-865dd65f6132", + "interface_key": "rest_api:PATCH /workstreams/{workstream_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T06:09:41.901035Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T06:09:41.901035Z", + "updated_at": "2026-06-04T06:09:41.901035Z" + }, + "all_time": { + "calls": 571, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 571 + }, + "users": { + "unknown": 571 + }, + "components": { + "unknown": 571 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T20:49:12.335710Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "4aea9591-970b-4918-ac4a-4da95a0a1a8c", + "interface_key": "rest_api:POST /decisions/ workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-09T22:56:35.473130Z", + "replacement_ref": "POST /decisions/ with workplan_id", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-09T22:56:35.473130Z", + "updated_at": "2026-07-09T22:56:35.473130Z" + }, + "all_time": { + "calls": 3, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 3 + }, + "users": { + "unknown": 3 + }, + "components": { + "unknown": 3 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-09T22:57:05.912456Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "4a70583c-1e41-4ec1-99a9-728856a7d79c", + "interface_key": "rest_api:POST /progress/ workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-08T23:35:09.148333Z", + "replacement_ref": "POST /progress/ with workplan_id", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-08T23:35:09.148333Z", + "updated_at": "2026-07-08T23:35:09.148333Z" + }, + "all_time": { + "calls": 14, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 14 + }, + "users": { + "unknown": 14 + }, + "components": { + "unknown": 14 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T08:34:42.959724Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "6df4e443-7bf1-461a-923b-a6eb52fe7b07", + "interface_key": "rest_api:POST /tasks/ workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-08T22:38:29.405720Z", + "replacement_ref": "POST /tasks/ with workplan_id", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-08T22:38:29.405720Z", + "updated_at": "2026-07-08T22:38:29.405720Z" + }, + "all_time": { + "calls": 5, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 5 + }, + "users": { + "unknown": 5 + }, + "components": { + "state-hub.fix-consistency": 5 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T22:38:29.976918Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "ed6451c9-d2cc-4486-9afe-d3852782cabc", + "interface_key": "rest_api:POST /workstreams/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T07:40:24.168535Z", + "replacement_ref": "/workplans/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T07:40:24.168535Z", + "updated_at": "2026-06-04T07:40:24.168535Z" + }, + "all_time": { + "calls": 824, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 824 + }, + "users": { + "unknown": 824 + }, + "components": { + "unknown": 824 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T20:38:05.903144Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "281fd706-b192-4194-8055-2d8733c115f9", + "interface_key": "rest_api:POST /workstreams/{workstream_id}/dependencies/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T22:57:37.149207Z", + "replacement_ref": "/workplans/{workplan_id}/dependencies/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T22:57:37.149207Z", + "updated_at": "2026-06-04T22:57:37.149207Z" + }, + "all_time": { + "calls": 4971, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 4971 + }, + "users": { + "unknown": 4971 + }, + "components": { + "unknown": 4971 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-01T22:09:24.229011Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + } + ], + "retirement_candidates": [ + { + "interface": { + "id": "63ed90e3-42b4-431a-94db-e1254a52f9e2", + "interface_key": "mcp:create_workstream", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.205900Z", + "replacement_ref": "create_workplan", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.205900Z", + "updated_at": "2026-07-10T13:19:44.205900Z" + }, + "all_time": { + "calls": 2, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 2 + }, + "users": { + "unknown": 2 + }, + "components": { + "state-hub.mcp": 2 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T13:20:43.378546Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "b6a5fe44-fb85-4ef7-a273-78d09da777af", + "interface_key": "mcp:list_workstreams", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:26.075491Z", + "replacement_ref": "list_workplans", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-10T13:19:26.075491Z", + "updated_at": "2026-07-10T13:19:26.075491Z" + }, + "all_time": { + "calls": 2, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 2 + }, + "users": { + "unknown": 2 + }, + "components": { + "state-hub.mcp": 2 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T13:20:42.374940Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "53c3372b-307d-4d6a-8ea4-bc36cacdcaf2", + "interface_key": "mcp:update_workstream", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.255216Z", + "replacement_ref": "update_workplan", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.255216Z", + "updated_at": "2026-07-10T13:19:44.255216Z" + }, + "all_time": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": null, + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "bed4d08a-3471-48f5-9f0e-f9d550383a26", + "interface_key": "mcp:update_workstream_status", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.303612Z", + "replacement_ref": "update_workplan_status", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.303612Z", + "updated_at": "2026-07-10T13:19:44.303612Z" + }, + "all_time": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": null, + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "46900dc2-0893-405b-ba59-80f31fb6ebb1", + "interface_key": "state://workstreams/{topic_slug}", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.344493Z", + "replacement_ref": "state://workplans/{topic_slug}", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.344493Z", + "updated_at": "2026-07-10T13:19:44.344493Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "state-hub.mcp": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T13:20:34.491811Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "cd9342fd-27e7-4a46-a1be-d41499e106a3", + "interface_key": "rest_api:DELETE /workstreams/{workstream_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-06-06T17:28:13.052813Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-06T17:28:13.052813Z", + "updated_at": "2026-06-06T17:28:13.052813Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "unknown": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-06-06T17:28:13.047529Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "a4e0948c-cd4a-461e-8ae2-7fd7b51d04a7", + "interface_key": "rest_api:GET /decisions/?workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-09T23:07:53.093223Z", + "replacement_ref": "/decisions/?workplan_id=", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-09T23:07:53.093223Z", + "updated_at": "2026-07-09T23:07:53.093223Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "unknown": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-09T23:07:53.083299Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "70a9346e-e0ee-42ac-874f-f160580b54dd", + "interface_key": "rest_api:GET /progress/?workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-13T22:04:03.911449Z", + "replacement_ref": "/progress/?workplan_id=", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-13T22:04:03.911449Z", + "updated_at": "2026-07-13T22:04:03.911449Z" + }, + "all_time": { + "calls": 2, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 2 + }, + "users": { + "unknown": 2 + }, + "components": { + "unknown": 2 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-12T08:55:33.912995Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "be3cdcf8-250b-4bf0-801f-02ffd5f57e00", + "interface_key": "rest_api:GET /tasks/?workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-08T19:32:21.628513Z", + "replacement_ref": "/tasks/?workplan_id=", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-08T19:32:21.628513Z", + "updated_at": "2026-07-08T19:32:21.628513Z" + }, + "all_time": { + "calls": 590, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 590 + }, + "users": { + "unknown": 590 + }, + "components": { + "unknown": 590 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-12T08:55:27.763102Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "3e4a3d0b-08fa-45c3-91e2-4f514a914b97", + "interface_key": "rest_api:GET /workstreams/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T00:26:14.533764Z", + "replacement_ref": "/workplans/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T00:26:14.533764Z", + "updated_at": "2026-06-04T00:26:14.533764Z" + }, + "all_time": { + "calls": 144086, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 144086 + }, + "users": { + "unknown": 144086 + }, + "components": { + "unknown": 144086 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-10T18:06:05.032338Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "e4c140ec-7479-46f9-b185-4b533f19d639", + "interface_key": "rest_api:GET /workstreams/workplan-index", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T05:20:58.321869Z", + "replacement_ref": "/workplans/index", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T05:20:58.321869Z", + "updated_at": "2026-06-04T05:20:58.321869Z" + }, + "all_time": { + "calls": 30, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 30 + }, + "users": { + "unknown": 30 + }, + "components": { + "unknown": 30 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-03T05:20:34.534439Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "3a00b19e-e7db-4403-98aa-a77c9ab61ecc", + "interface_key": "rest_api:GET /workstreams/{workstream_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T00:25:59.014966Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T00:25:59.014966Z", + "updated_at": "2026-06-04T00:25:59.014966Z" + }, + "all_time": { + "calls": 511406, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 511406 + }, + "users": { + "unknown": 511406 + }, + "components": { + "unknown": 511406 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-31T16:25:32.004042Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "69e1a255-a8b9-4101-8a68-b1bed23abfda", + "interface_key": "rest_api:GET /workstreams/{workstream_id}/dependencies/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T00:25:59.291135Z", + "replacement_ref": "/workplans/{workplan_id}/dependencies/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T00:25:59.291135Z", + "updated_at": "2026-06-04T00:25:59.291135Z" + }, + "all_time": { + "calls": 255865, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 255865 + }, + "users": { + "unknown": 255865 + }, + "components": { + "unknown": 255865 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T21:14:12.747005Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "b1aae931-b51f-4a85-a723-865dd65f6132", + "interface_key": "rest_api:PATCH /workstreams/{workstream_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T06:09:41.901035Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T06:09:41.901035Z", + "updated_at": "2026-06-04T06:09:41.901035Z" + }, + "all_time": { + "calls": 571, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 571 + }, + "users": { + "unknown": 571 + }, + "components": { + "unknown": 571 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T20:49:12.335710Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "4aea9591-970b-4918-ac4a-4da95a0a1a8c", + "interface_key": "rest_api:POST /decisions/ workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-09T22:56:35.473130Z", + "replacement_ref": "POST /decisions/ with workplan_id", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-09T22:56:35.473130Z", + "updated_at": "2026-07-09T22:56:35.473130Z" + }, + "all_time": { + "calls": 3, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 3 + }, + "users": { + "unknown": 3 + }, + "components": { + "unknown": 3 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-09T22:57:05.912456Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "4a70583c-1e41-4ec1-99a9-728856a7d79c", + "interface_key": "rest_api:POST /progress/ workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-08T23:35:09.148333Z", + "replacement_ref": "POST /progress/ with workplan_id", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-08T23:35:09.148333Z", + "updated_at": "2026-07-08T23:35:09.148333Z" + }, + "all_time": { + "calls": 14, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 14 + }, + "users": { + "unknown": 14 + }, + "components": { + "unknown": 14 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T08:34:42.959724Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "6df4e443-7bf1-461a-923b-a6eb52fe7b07", + "interface_key": "rest_api:POST /tasks/ workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-08T22:38:29.405720Z", + "replacement_ref": "POST /tasks/ with workplan_id", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-08T22:38:29.405720Z", + "updated_at": "2026-07-08T22:38:29.405720Z" + }, + "all_time": { + "calls": 5, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 5 + }, + "users": { + "unknown": 5 + }, + "components": { + "state-hub.fix-consistency": 5 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T22:38:29.976918Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "ed6451c9-d2cc-4486-9afe-d3852782cabc", + "interface_key": "rest_api:POST /workstreams/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T07:40:24.168535Z", + "replacement_ref": "/workplans/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T07:40:24.168535Z", + "updated_at": "2026-06-04T07:40:24.168535Z" + }, + "all_time": { + "calls": 824, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 824 + }, + "users": { + "unknown": 824 + }, + "components": { + "unknown": 824 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T20:38:05.903144Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "281fd706-b192-4194-8055-2d8733c115f9", + "interface_key": "rest_api:POST /workstreams/{workstream_id}/dependencies/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T22:57:37.149207Z", + "replacement_ref": "/workplans/{workplan_id}/dependencies/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T22:57:37.149207Z", + "updated_at": "2026-06-04T22:57:37.149207Z" + }, + "all_time": { + "calls": 4971, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 4971 + }, + "users": { + "unknown": 4971 + }, + "components": { + "unknown": 4971 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-01T22:09:24.229011Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + } + ] + }, + "hours": 8 +} diff --git a/docs/evidence/legacy-meter-weekly-review-20260815.json b/docs/evidence/legacy-meter-weekly-review-20260815.json new file mode 100644 index 0000000..767b8f2 --- /dev/null +++ b/docs/evidence/legacy-meter-weekly-review-20260815.json @@ -0,0 +1,1755 @@ +{ + "captured_at": "2026-08-15T14:00:07.598236+00:00", + "api_base": "http://127.0.0.1:8000", + "workplan": "STATE-WP-0070", + "retired_interfaces": [], + "weekly_review": { + "generated_at": "2026-08-15T14:00:07.592443Z", + "window_start": "2026-08-15T06:00:07.535715Z", + "window_end": "2026-08-15T14:00:07.535715Z", + "cadence": "weekly", + "activity_core_handoff": { + "activity_id": "statehub-legacy-interface-review", + "cadence": "weekly", + "source_endpoint": "/legacy-meter/weekly-review", + "state_owner": "state-hub", + "scheduler_owner": "activity-core" + }, + "interfaces": [ + { + "interface": { + "id": "8051fb40-66c9-4dc4-a413-13e8573e04a3", + "interface_key": "event_subject:org.statehub.workstream.completed", + "interface_kind": "event_subject", + "legacy_since": "2026-06-04T06:09:42.198193Z", + "replacement_ref": "org.statehub.workplan.completed", + "owner_component": "state-hub.events", + "status": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Retired by STATE-WP-0069 closeout", + "retired_at": "2026-07-08T21:38:52.773601Z", + "created_at": "2026-06-04T06:09:42.198193Z", + "updated_at": "2026-07-08T21:38:52.761243Z" + }, + "all_time": { + "calls": 255, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 255 + }, + "users": { + "unknown": 255 + }, + "components": { + "state-hub.events": 255 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T20:49:12.839383Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "interface": { + "id": "63ed90e3-42b4-431a-94db-e1254a52f9e2", + "interface_key": "mcp:create_workstream", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.205900Z", + "replacement_ref": "create_workplan", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.205900Z", + "updated_at": "2026-07-10T13:19:44.205900Z" + }, + "all_time": { + "calls": 2, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 2 + }, + "users": { + "unknown": 2 + }, + "components": { + "state-hub.mcp": 2 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T13:20:43.378546Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "b6a5fe44-fb85-4ef7-a273-78d09da777af", + "interface_key": "mcp:list_workstreams", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:26.075491Z", + "replacement_ref": "list_workplans", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-10T13:19:26.075491Z", + "updated_at": "2026-07-10T13:19:26.075491Z" + }, + "all_time": { + "calls": 2, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 2 + }, + "users": { + "unknown": 2 + }, + "components": { + "state-hub.mcp": 2 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T13:20:42.374940Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "53c3372b-307d-4d6a-8ea4-bc36cacdcaf2", + "interface_key": "mcp:update_workstream", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.255216Z", + "replacement_ref": "update_workplan", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.255216Z", + "updated_at": "2026-07-10T13:19:44.255216Z" + }, + "all_time": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": null, + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "bed4d08a-3471-48f5-9f0e-f9d550383a26", + "interface_key": "mcp:update_workstream_status", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.303612Z", + "replacement_ref": "update_workplan_status", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.303612Z", + "updated_at": "2026-07-10T13:19:44.303612Z" + }, + "all_time": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": null, + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "46900dc2-0893-405b-ba59-80f31fb6ebb1", + "interface_key": "state://workstreams/{topic_slug}", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.344493Z", + "replacement_ref": "state://workplans/{topic_slug}", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.344493Z", + "updated_at": "2026-07-10T13:19:44.344493Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "state-hub.mcp": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T13:20:34.491811Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "cd9342fd-27e7-4a46-a1be-d41499e106a3", + "interface_key": "rest_api:DELETE /workstreams/{workstream_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-06-06T17:28:13.052813Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-06T17:28:13.052813Z", + "updated_at": "2026-06-06T17:28:13.052813Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "unknown": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-06-06T17:28:13.047529Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "a4e0948c-cd4a-461e-8ae2-7fd7b51d04a7", + "interface_key": "rest_api:GET /decisions/?workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-09T23:07:53.093223Z", + "replacement_ref": "/decisions/?workplan_id=", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-09T23:07:53.093223Z", + "updated_at": "2026-07-09T23:07:53.093223Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "unknown": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-09T23:07:53.083299Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "70a9346e-e0ee-42ac-874f-f160580b54dd", + "interface_key": "rest_api:GET /progress/?workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-13T22:04:03.911449Z", + "replacement_ref": "/progress/?workplan_id=", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-13T22:04:03.911449Z", + "updated_at": "2026-07-13T22:04:03.911449Z" + }, + "all_time": { + "calls": 2, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 2 + }, + "users": { + "unknown": 2 + }, + "components": { + "unknown": 2 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-12T08:55:33.912995Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "be3cdcf8-250b-4bf0-801f-02ffd5f57e00", + "interface_key": "rest_api:GET /tasks/?workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-08T19:32:21.628513Z", + "replacement_ref": "/tasks/?workplan_id=", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-08T19:32:21.628513Z", + "updated_at": "2026-07-08T19:32:21.628513Z" + }, + "all_time": { + "calls": 590, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 590 + }, + "users": { + "unknown": 590 + }, + "components": { + "unknown": 590 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-12T08:55:27.763102Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "3e4a3d0b-08fa-45c3-91e2-4f514a914b97", + "interface_key": "rest_api:GET /workstreams/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T00:26:14.533764Z", + "replacement_ref": "/workplans/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T00:26:14.533764Z", + "updated_at": "2026-06-04T00:26:14.533764Z" + }, + "all_time": { + "calls": 144086, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 144086 + }, + "users": { + "unknown": 144086 + }, + "components": { + "unknown": 144086 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-10T18:06:05.032338Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "e4c140ec-7479-46f9-b185-4b533f19d639", + "interface_key": "rest_api:GET /workstreams/workplan-index", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T05:20:58.321869Z", + "replacement_ref": "/workplans/index", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T05:20:58.321869Z", + "updated_at": "2026-06-04T05:20:58.321869Z" + }, + "all_time": { + "calls": 30, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 30 + }, + "users": { + "unknown": 30 + }, + "components": { + "unknown": 30 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-03T05:20:34.534439Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "3a00b19e-e7db-4403-98aa-a77c9ab61ecc", + "interface_key": "rest_api:GET /workstreams/{workstream_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T00:25:59.014966Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T00:25:59.014966Z", + "updated_at": "2026-06-04T00:25:59.014966Z" + }, + "all_time": { + "calls": 511406, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 511406 + }, + "users": { + "unknown": 511406 + }, + "components": { + "unknown": 511406 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-31T16:25:32.004042Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "69e1a255-a8b9-4101-8a68-b1bed23abfda", + "interface_key": "rest_api:GET /workstreams/{workstream_id}/dependencies/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T00:25:59.291135Z", + "replacement_ref": "/workplans/{workplan_id}/dependencies/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T00:25:59.291135Z", + "updated_at": "2026-06-04T00:25:59.291135Z" + }, + "all_time": { + "calls": 255865, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 255865 + }, + "users": { + "unknown": 255865 + }, + "components": { + "unknown": 255865 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T21:14:12.747005Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "b1aae931-b51f-4a85-a723-865dd65f6132", + "interface_key": "rest_api:PATCH /workstreams/{workstream_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T06:09:41.901035Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T06:09:41.901035Z", + "updated_at": "2026-06-04T06:09:41.901035Z" + }, + "all_time": { + "calls": 571, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 571 + }, + "users": { + "unknown": 571 + }, + "components": { + "unknown": 571 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T20:49:12.335710Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "4aea9591-970b-4918-ac4a-4da95a0a1a8c", + "interface_key": "rest_api:POST /decisions/ workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-09T22:56:35.473130Z", + "replacement_ref": "POST /decisions/ with workplan_id", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-09T22:56:35.473130Z", + "updated_at": "2026-07-09T22:56:35.473130Z" + }, + "all_time": { + "calls": 3, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 3 + }, + "users": { + "unknown": 3 + }, + "components": { + "unknown": 3 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-09T22:57:05.912456Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "4a70583c-1e41-4ec1-99a9-728856a7d79c", + "interface_key": "rest_api:POST /progress/ workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-08T23:35:09.148333Z", + "replacement_ref": "POST /progress/ with workplan_id", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-08T23:35:09.148333Z", + "updated_at": "2026-07-08T23:35:09.148333Z" + }, + "all_time": { + "calls": 14, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 14 + }, + "users": { + "unknown": 14 + }, + "components": { + "unknown": 14 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T08:34:42.959724Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "6df4e443-7bf1-461a-923b-a6eb52fe7b07", + "interface_key": "rest_api:POST /tasks/ workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-08T22:38:29.405720Z", + "replacement_ref": "POST /tasks/ with workplan_id", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-08T22:38:29.405720Z", + "updated_at": "2026-07-08T22:38:29.405720Z" + }, + "all_time": { + "calls": 5, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 5 + }, + "users": { + "unknown": 5 + }, + "components": { + "state-hub.fix-consistency": 5 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T22:38:29.976918Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "ed6451c9-d2cc-4486-9afe-d3852782cabc", + "interface_key": "rest_api:POST /workstreams/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T07:40:24.168535Z", + "replacement_ref": "/workplans/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T07:40:24.168535Z", + "updated_at": "2026-06-04T07:40:24.168535Z" + }, + "all_time": { + "calls": 824, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 824 + }, + "users": { + "unknown": 824 + }, + "components": { + "unknown": 824 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T20:38:05.903144Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "281fd706-b192-4194-8055-2d8733c115f9", + "interface_key": "rest_api:POST /workstreams/{workstream_id}/dependencies/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T22:57:37.149207Z", + "replacement_ref": "/workplans/{workplan_id}/dependencies/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T22:57:37.149207Z", + "updated_at": "2026-06-04T22:57:37.149207Z" + }, + "all_time": { + "calls": 4971, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 4971 + }, + "users": { + "unknown": 4971 + }, + "components": { + "unknown": 4971 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-01T22:09:24.229011Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + } + ], + "retirement_candidates": [ + { + "interface": { + "id": "63ed90e3-42b4-431a-94db-e1254a52f9e2", + "interface_key": "mcp:create_workstream", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.205900Z", + "replacement_ref": "create_workplan", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.205900Z", + "updated_at": "2026-07-10T13:19:44.205900Z" + }, + "all_time": { + "calls": 2, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 2 + }, + "users": { + "unknown": 2 + }, + "components": { + "state-hub.mcp": 2 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T13:20:43.378546Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "b6a5fe44-fb85-4ef7-a273-78d09da777af", + "interface_key": "mcp:list_workstreams", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:26.075491Z", + "replacement_ref": "list_workplans", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-10T13:19:26.075491Z", + "updated_at": "2026-07-10T13:19:26.075491Z" + }, + "all_time": { + "calls": 2, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 2 + }, + "users": { + "unknown": 2 + }, + "components": { + "state-hub.mcp": 2 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T13:20:42.374940Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "53c3372b-307d-4d6a-8ea4-bc36cacdcaf2", + "interface_key": "mcp:update_workstream", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.255216Z", + "replacement_ref": "update_workplan", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.255216Z", + "updated_at": "2026-07-10T13:19:44.255216Z" + }, + "all_time": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": null, + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "bed4d08a-3471-48f5-9f0e-f9d550383a26", + "interface_key": "mcp:update_workstream_status", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.303612Z", + "replacement_ref": "update_workplan_status", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.303612Z", + "updated_at": "2026-07-10T13:19:44.303612Z" + }, + "all_time": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": null, + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "46900dc2-0893-405b-ba59-80f31fb6ebb1", + "interface_key": "state://workstreams/{topic_slug}", + "interface_kind": "mcp_tool", + "legacy_since": "2026-07-10T13:19:44.344493Z", + "replacement_ref": "state://workplans/{topic_slug}", + "owner_component": "state-hub.mcp", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Registered by STATE-WP-0070 T03 \u2014 zero-window streak starts at registration", + "retired_at": null, + "created_at": "2026-07-10T13:19:44.344493Z", + "updated_at": "2026-07-10T13:19:44.344493Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "state-hub.mcp": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T13:20:34.491811Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "cd9342fd-27e7-4a46-a1be-d41499e106a3", + "interface_key": "rest_api:DELETE /workstreams/{workstream_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-06-06T17:28:13.052813Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-06T17:28:13.052813Z", + "updated_at": "2026-06-06T17:28:13.052813Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "unknown": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-06-06T17:28:13.047529Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "a4e0948c-cd4a-461e-8ae2-7fd7b51d04a7", + "interface_key": "rest_api:GET /decisions/?workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-09T23:07:53.093223Z", + "replacement_ref": "/decisions/?workplan_id=", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-09T23:07:53.093223Z", + "updated_at": "2026-07-09T23:07:53.093223Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "unknown": 1 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-09T23:07:53.083299Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "70a9346e-e0ee-42ac-874f-f160580b54dd", + "interface_key": "rest_api:GET /progress/?workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-13T22:04:03.911449Z", + "replacement_ref": "/progress/?workplan_id=", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-13T22:04:03.911449Z", + "updated_at": "2026-07-13T22:04:03.911449Z" + }, + "all_time": { + "calls": 2, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 2 + }, + "users": { + "unknown": 2 + }, + "components": { + "unknown": 2 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-12T08:55:33.912995Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "be3cdcf8-250b-4bf0-801f-02ffd5f57e00", + "interface_key": "rest_api:GET /tasks/?workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-08T19:32:21.628513Z", + "replacement_ref": "/tasks/?workplan_id=", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-08T19:32:21.628513Z", + "updated_at": "2026-07-08T19:32:21.628513Z" + }, + "all_time": { + "calls": 590, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 590 + }, + "users": { + "unknown": 590 + }, + "components": { + "unknown": 590 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-12T08:55:27.763102Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "3e4a3d0b-08fa-45c3-91e2-4f514a914b97", + "interface_key": "rest_api:GET /workstreams/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T00:26:14.533764Z", + "replacement_ref": "/workplans/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T00:26:14.533764Z", + "updated_at": "2026-06-04T00:26:14.533764Z" + }, + "all_time": { + "calls": 144086, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 144086 + }, + "users": { + "unknown": 144086 + }, + "components": { + "unknown": 144086 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-10T18:06:05.032338Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "e4c140ec-7479-46f9-b185-4b533f19d639", + "interface_key": "rest_api:GET /workstreams/workplan-index", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T05:20:58.321869Z", + "replacement_ref": "/workplans/index", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T05:20:58.321869Z", + "updated_at": "2026-06-04T05:20:58.321869Z" + }, + "all_time": { + "calls": 30, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 30 + }, + "users": { + "unknown": 30 + }, + "components": { + "unknown": 30 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-03T05:20:34.534439Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "3a00b19e-e7db-4403-98aa-a77c9ab61ecc", + "interface_key": "rest_api:GET /workstreams/{workstream_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T00:25:59.014966Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T00:25:59.014966Z", + "updated_at": "2026-06-04T00:25:59.014966Z" + }, + "all_time": { + "calls": 511406, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 511406 + }, + "users": { + "unknown": 511406 + }, + "components": { + "unknown": 511406 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-31T16:25:32.004042Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "69e1a255-a8b9-4101-8a68-b1bed23abfda", + "interface_key": "rest_api:GET /workstreams/{workstream_id}/dependencies/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T00:25:59.291135Z", + "replacement_ref": "/workplans/{workplan_id}/dependencies/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T00:25:59.291135Z", + "updated_at": "2026-06-04T00:25:59.291135Z" + }, + "all_time": { + "calls": 255865, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 255865 + }, + "users": { + "unknown": 255865 + }, + "components": { + "unknown": 255865 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T21:14:12.747005Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "b1aae931-b51f-4a85-a723-865dd65f6132", + "interface_key": "rest_api:PATCH /workstreams/{workstream_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T06:09:41.901035Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T06:09:41.901035Z", + "updated_at": "2026-06-04T06:09:41.901035Z" + }, + "all_time": { + "calls": 571, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 571 + }, + "users": { + "unknown": 571 + }, + "components": { + "unknown": 571 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T20:49:12.335710Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "4aea9591-970b-4918-ac4a-4da95a0a1a8c", + "interface_key": "rest_api:POST /decisions/ workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-09T22:56:35.473130Z", + "replacement_ref": "POST /decisions/ with workplan_id", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-09T22:56:35.473130Z", + "updated_at": "2026-07-09T22:56:35.473130Z" + }, + "all_time": { + "calls": 3, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 3 + }, + "users": { + "unknown": 3 + }, + "components": { + "unknown": 3 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-09T22:57:05.912456Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "4a70583c-1e41-4ec1-99a9-728856a7d79c", + "interface_key": "rest_api:POST /progress/ workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-08T23:35:09.148333Z", + "replacement_ref": "POST /progress/ with workplan_id", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-08T23:35:09.148333Z", + "updated_at": "2026-07-08T23:35:09.148333Z" + }, + "all_time": { + "calls": 14, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 14 + }, + "users": { + "unknown": 14 + }, + "components": { + "unknown": 14 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-10T08:34:42.959724Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "6df4e443-7bf1-461a-923b-a6eb52fe7b07", + "interface_key": "rest_api:POST /tasks/ workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-07-08T22:38:29.405720Z", + "replacement_ref": "POST /tasks/ with workplan_id", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-07-08T22:38:29.405720Z", + "updated_at": "2026-07-08T22:38:29.405720Z" + }, + "all_time": { + "calls": 5, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 5 + }, + "users": { + "unknown": 5 + }, + "components": { + "state-hub.fix-consistency": 5 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T22:38:29.976918Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "ed6451c9-d2cc-4486-9afe-d3852782cabc", + "interface_key": "rest_api:POST /workstreams/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T07:40:24.168535Z", + "replacement_ref": "/workplans/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T07:40:24.168535Z", + "updated_at": "2026-06-04T07:40:24.168535Z" + }, + "all_time": { + "calls": 824, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 824 + }, + "users": { + "unknown": 824 + }, + "components": { + "unknown": 824 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-08T20:38:05.903144Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + }, + { + "interface": { + "id": "281fd706-b192-4194-8055-2d8733c115f9", + "interface_key": "rest_api:POST /workstreams/{workstream_id}/dependencies/", + "interface_kind": "rest_api", + "legacy_since": "2026-06-04T22:57:37.149207Z", + "replacement_ref": "/workplans/{workplan_id}/dependencies/", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-06-04T22:57:37.149207Z", + "updated_at": "2026-06-04T22:57:37.149207Z" + }, + "all_time": { + "calls": 4971, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 4971 + }, + "users": { + "unknown": 4971 + }, + "components": { + "unknown": 4971 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-01T22:09:24.229011Z", + "retirement_candidate": true, + "retirement_reason": "no measured usage in review window" + } + ] + }, + "hours": 8 +} diff --git a/workplans/STATE-WP-0080-register-project-flavor-awareness.md b/workplans/STATE-WP-0080-register-project-flavor-awareness.md index 12ea42e..c0bbe4a 100644 --- a/workplans/STATE-WP-0080-register-project-flavor-awareness.md +++ b/workplans/STATE-WP-0080-register-project-flavor-awareness.md @@ -1,7 +1,7 @@ --- id: STATE-WP-0080 type: workplan -title: "statehub register: project-repository flavor awareness" +title: "statehub register: stop repo scaffolding, hand off to repo-manager" domain: infotech repo: state-hub status: active @@ -12,57 +12,61 @@ updated: "2026-08-16" parent_project: prj-state-hub-retirement parent_workplan: SHR-WP-0001 related: + - RMGR-WP-0004 + - STATE-WP-0079 - CFED-WP-0001 - SHR-WP-0001 state_hub_workstream_id: "bbfce36a-0b19-462f-af78-167f9eb89b86" --- -# statehub register: project-repository flavor awareness +# statehub register: stop repo scaffolding, hand off to repo-manager ## Goal -Make `statehub register` aware of the `prj-` project-repository flavor so that -scaffolding a project repo produces conformant files instead of files the -governing standard calls an anti-pattern. +Stop `statehub register` from producing non-conformant repository files, and +hand repository scaffolding and standards conformance to `repo-manager` — where +decision `747011c6` places them. -This is the residual recorded in `SHR-WP-0001-T01`: +**This workplan does not implement flavor awareness.** That is `RMGR-WP-0004`. +The state-hub side is a guard, a delegation, and a clean exit. -> Residual tooling gap: `statehub register` still scaffolds `INTENT.md` for -> ordinary repos — capture under a state-hub child workplan when T05 maps -> implementation streams (do not invent `INTENT.md` on `prj-` repos). +## Why this changed shape -It has now been hit twice — once when founding `prj-state-hub-retirement`, and -again on 2026-08-16 founding `prj-canon-federation`, where the scaffolded -`INTENT.md` and a generic `PRJ-WP-0001-statehub-bootstrap.md` both had to be -deleted by hand before the first `fix-consistency` run. +Drafted 2026-08-16 as a full flavor-awareness implementation inside +`statehub_register.py`; retargeted the same day after decision `747011c6`: -## Root cause +> Hubs are registers: they index and project repository-owned records. They do +> not scaffold, template, or rewrite repository files. Repo Manager owns +> repository representation and governed mutation, and therefore owns the +> standards repositories must comply with. -`statehub_register.py` (872 lines) contains **no reference to -`.repo-classification.yaml`, `category`, or `repo_flavor`**. It has no way to -distinguish a project repository from a durable product repository, so: +Implementing here would have built the capability twice, inside the component +being retired under `STATE-WP-0079`, and deepened exactly the boundary violation +the hub refactor exists to remove. The originating residual (`SHR-WP-0001-T01`) +is unchanged; only its owner is. -- `KEY_CONTEXT_FILES` (`:25`) lists `INTENT.md` as a primary context file; -- `:248` writes `INTENT.md` unconditionally when absent; -- `:786`–`:790` treat a missing intent as a hard error, prompting interactively - and exiting with `ERROR: Intent is required to create INTENT.md.`; -- `:269` writes `{WP_PREFIX}-0001-statehub-bootstrap.md` with a prefix defaulted - from the repo slug (`:78`, `_default_wp_prefix`), yielding `PRJ-WP-` for every - `prj-` repo rather than a project-derived prefix; -- the generated `.custodian-brief.md` (`:634`) and templates (`:461`, `:509`, - `:525`, `:569`) all instruct agents to read `INTENT.md`. +Tasks T05–T08 below are `cancel`led with pointers to their `RMGR-WP-0004` +successors. They are retained rather than deleted so the handoff is legible. -The governing standard is -`the-custodian/canon/standards/project-repository-flavor_v0.1.md`, which states: +## The defect being contained -> Tooling that scaffolds repositories (e.g. `statehub register`) MUST treat -> `GOAL.md` + `repo_flavor: project` as sufficient purpose documentation for -> `prj-` repos and MUST NOT require inventing an `INTENT.md` that pretends the -> project is a permanent product. +`statehub_register.py` has no reference to `.repo-classification.yaml`, +`category`, or `repo_flavor` in 872 lines, so it cannot distinguish a project +repository from a durable product repository. It therefore: -and names shipping both `INTENT.md` and `GOAL.md` an explicit anti-pattern. +- writes `INTENT.md` unconditionally (`:248`) and treats missing intent as a hard + error (`:786`–`:790`), though `project-repository-flavor_v0.1` calls shipping + both `INTENT.md` and `GOAL.md` an anti-pattern and forbids requiring + `INTENT.md` on `prj-` repos; +- derives the workplan prefix from the slug (`:78`, `_default_wp_prefix`), + yielding `PRJ-WP-` for every project repo, so all `prj-` repos collide; +- writes a generic `{PREFIX}-0001-statehub-bootstrap.md` (`:269`) that competes + with the project's real foundation workplan. -## Detect repository flavor +Hit twice: `prj-state-hub-retirement` and `prj-canon-federation`, both requiring +manual deletion after registration. + +## Guard against non-conformant scaffolding ```task id: STATE-WP-0080-T01 @@ -71,15 +75,17 @@ priority: high state_hub_task_id: "6b01a939-7d60-4a0c-90db-af8e31c45359" ``` -Give the register path a flavor signal. Read `.repo-classification.yaml` -`category` when present, and `GOAL.md` frontmatter `repo_flavor` as a secondary -signal; fall back to the `prj-` directory/slug prefix. Surface the result as a -single value threaded through inference and scaffolding. +Add a minimal flavor guard to the register path — detect project flavor from +`.repo-classification.yaml` `category`, `GOAL.md` `repo_flavor`, or the `prj-` +slug prefix, and on a match **refuse to scaffold**, with a message pointing at +`repo-manager`, rather than writing files the standard forbids. -Treat classification as authoritative when present and disagreeing with the slug -prefix, and warn on the mismatch rather than guessing silently. +Deliberately a refusal, not an implementation: a partial flavor-aware templating +path here would become a second source of truth competing with `RMGR-WP-0004`. -## Scaffold GOAL.md instead of INTENT.md for project repos +Durable-repo behaviour is untouched. + +## Delegate registration scaffolding ```task id: STATE-WP-0080-T02 @@ -88,19 +94,14 @@ priority: high state_hub_task_id: "bd6a9069-b455-4f5e-b1a5-4a87d014e8f6" ``` -For project-flavor repos: +Once `RMGR-WP-0004-T03` lands, route scaffolding through Repo Manager instead of +refusing, using the dual-run strangler pattern already proven in `RMGR-WP-0002` +and `RMGR-WP-0003`. Hub-side registration keeps only what a register legitimately +does: record the repo, its identity, and its host path. -- do not write `INTENT.md`, and do not prompt for intent (`:786`–`:790`); -- accept an existing `GOAL.md` as sufficient purpose documentation; -- when `GOAL.md` is absent, scaffold one from a template carrying the four - sections the standard requires — Outcome, Invariants, Success gates, Project - retirement — plus the recommended frontmatter (`repo`, `repo_flavor`, - `project_status`, `started`, `reviewed`); -- error only if neither `GOAL.md` nor enough input to generate one exists. +Coordinate the cutover point with `RMGR-WP-0004-T05`. -For all other flavors, behaviour is unchanged. - -## Fix workplan prefix inference +## Correct the inventory disposition ```task id: STATE-WP-0080-T03 @@ -109,107 +110,87 @@ priority: medium state_hub_task_id: "b141b378-10d0-4865-a67b-159806bcf037" ``` -`_default_wp_prefix` derives `PRJ-WP-` from any `prj-`-prefixed slug, which is -wrong for every project repo: the standard requires a prefix derived from the -project, not the flavor marker (`SHR-WP-` for State Hub Retirement, `CFED-WP-` -for canon federation). +Confirm the register/scaffolding capability is dispositioned `move` → +`repo-manager` in `prj-state-hub-retirement/inventory/`, not `keep`. If it is +recorded as `keep`, correct it and cite decision `747011c6` — `SHR-INV-0001` is +the retirement lane's source of truth, and a stale disposition would resurrect +the boundary violation during cutover. -For project-flavor repos, strip the `prj-` marker before deriving, and prompt or -require `--wp-prefix` rather than emitting a flavor-derived default. A prefix -collision across two `prj-` repos is the failure this prevents. - -## Decide the bootstrap workplan for project repos +## Remove the templating path ```task id: STATE-WP-0080-T04 status: wait -priority: medium +priority: low state_hub_task_id: "d933ae91-ad40-4a88-9ce3-90872cd1f3d7" ``` -`:269` writes a generic `statehub-bootstrap` workplan. For project repos this -competes with the foundation workplan the project actually needs — in both real -cases it was deleted immediately. +After delegation is live and `RMGR-WP-0004-T06` compatibility tests pass, delete +the templating code from `statehub_register.py` — `INTENT.md` generation, the +`AGENTS.md` / `CLAUDE.md` / `.custodian-brief.md` templates, `project_rules/`, +and bootstrap-workplan generation. -Either skip it for project flavor, or replace it with a foundation-workplan -template shaped by the standard (confirm conventions, inventory participants, -map child workplans, define gates). Prefer skipping unless T05's template work -shows the foundation shape is genuinely reusable. +Sequence behind `STATE-WP-0079`'s strangler so removal lands with the rest of the +retirement rather than as an isolated breaking change. -## Update generated templates and briefs +## Moved: generated templates and briefs ```task id: STATE-WP-0080-T05 -status: wait +status: cancel priority: medium state_hub_task_id: "9eb5ddb5-28d9-4244-8a4f-8fe2a50b5d27" ``` -Make every generated artifact flavor-correct: +Cancelled — moved to **`RMGR-WP-0004-T04`** by decision `747011c6`. -- `KEY_CONTEXT_FILES` (`:25`) — include `GOAL.md`; -- `.custodian-brief.md` orientation line (`:634`) — `GOAL.md` for project repos; -- `AGENTS.md` / `CLAUDE.md` / `scripts/project_rules/` templates (`:461`, - `:509`, `:525`, `:569`) — session start order `GOAL.md` → `SCOPE.md` → - history → active workplans, per the standard's agent conventions; -- `_ensure_context_files` (`:431`) — do not treat missing `INTENT.md` as a gap - on project repos. +Worth carrying forward explicitly: `make update-agent-instructions` runs +fleet-wide and shares the flavor-blind templates, so it silently re-breaks +conformant `prj-` repos on every run. That is a larger blast radius than first +registration, and it must not be lost in the handoff. -Confirm `make update-agent-instructions` regenerates conformant files for an -existing `prj-` repo, not just at first registration. - -## Add a conformance check +## Moved: conformance check ```task id: STATE-WP-0080-T06 -status: wait +status: cancel priority: low state_hub_task_id: "3467ae11-1301-46ab-9e7e-75c4f55f53fe" ``` -The standard ships a conformance checklist that is currently only human-checked. -Add a consistency check that flags a project-flavor repo which ships `INTENT.md` -alongside `GOAL.md`, is missing a required file, or uses a flavor-derived -workplan prefix. +Cancelled — moved to **`RMGR-WP-0004-T02`** by decision `747011c6`. -Advisory severity is sufficient — this is a convention violation, not data -corruption. Follow the existing `C-NN` numbering and register it in the -consistency-check catalog. +Conformance checking is the clearest case for the new boundary: judging whether a +repository satisfies its standard is repository representation, not hub +projection. Repo Manager exposes it as a command and a contract; the hub consumes +the result rather than computing it. -## Cover with tests +## Moved: tests ```task id: STATE-WP-0080-T07 -status: wait +status: cancel priority: medium state_hub_task_id: "126ddd07-df9d-4b65-a651-fff0ad2d4074" ``` -Extend `tests/test_statehub_register_cli.py`: +Cancelled — moved to **`RMGR-WP-0004-T06`** by decision `747011c6`. -- registering a `prj-` repo with `category: project` writes `GOAL.md`, no - `INTENT.md`, and no flavor-derived prefix; -- registering an ordinary product repo is byte-identical to today's output - (regression guard — this workplan must not change durable-repo behaviour); -- classification/slug mismatch warns rather than silently choosing; -- re-running register on an existing conformant `prj-` repo is idempotent. +The byte-identical-output regression guard for durable repos stays essential: +the handoff must not change what ordinary repositories receive. -## Carry the fix forward past State Hub retirement +## Superseded: carry the fix forward ```task id: STATE-WP-0080-T08 -status: wait +status: cancel priority: medium state_hub_task_id: "405526b7-b133-4746-aab5-6301c1a0b72e" ``` -State Hub is being retired (`STATE-WP-0079`, `prj-state-hub-retirement`). -Repository scaffolding and representation are slated to land in `repo-manager`. +Cancelled — superseded by decision `747011c6`, which answered this task's open +question outright. It asked whether `repo-manager` was close enough to take the +work; the decision settled that repository standards belong there regardless of +timing, and `RMGR-WP-0004` now carries the whole implementation. -Record where this flavor logic belongs after retirement and link it to the -inventory disposition for the register path, so the fix is not stranded in a -component scheduled for removal. If `repo-manager` is close enough to take it, -prefer implementing there and leaving `statehub register` with a thin -flavor-guard rather than a full templating path. - -Coordinate through `SHR-WP-0001` rather than duplicating its task list. +Retained as the record of where the retarget originated.