diff --git a/docs/evidence/legacy-meter-weekly-review-20260708.json b/docs/evidence/legacy-meter-weekly-review-20260708.json index 0e2cd75..6c2674c 100644 --- a/docs/evidence/legacy-meter-weekly-review-20260708.json +++ b/docs/evidence/legacy-meter-weekly-review-20260708.json @@ -1,11 +1,30 @@ { - "captured_at": "2026-07-08T21:26:32.013489+00:00", - "source": "pytest", + "captured_at": "2026-07-08T21:38:52.882039+00:00", + "api_base": "http://127.0.0.1:8000", + "days": 7, "workplan": "STATE-WP-0069", + "retired_interfaces": [ + { + "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" + } + ], "weekly_review": { - "generated_at": "2026-07-08T21:26:32.009639Z", - "window_start": "2026-07-01T21:26:31.995046Z", - "window_end": "2026-07-08T21:26:31.995046Z", + "generated_at": "2026-07-08T21:38:52.876073Z", + "window_start": "2026-07-01T21:38:52.806243Z", + "window_end": "2026-07-08T21:38:52.806243Z", "cadence": "weekly", "activity_core_handoff": { "activity_id": "statehub-legacy-interface-review", @@ -17,29 +36,86 @@ "interfaces": [ { "interface": { - "id": "53afb376-40d3-4c07-a312-a1294e179d68", - "interface_key": "rest_api:GET /obsolete", + "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": 58, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 58 + }, + "users": { + "unknown": 58 + }, + "components": { + "state-hub.events": 58 + } + }, + "last_seen_at": "2026-07-08T20:49:12.839383Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "interface": { + "id": "cd9342fd-27e7-4a46-a1be-d41499e106a3", + "interface_key": "rest_api:DELETE /workstreams/{workstream_id}", "interface_kind": "rest_api", - "legacy_since": "2026-07-08T21:26:31.952023Z", - "replacement_ref": "/workplans/", - "owner_component": "state-hub", + "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-07-08T21:26:31.952023Z", - "updated_at": "2026-07-08T21:26:31.952023Z" + "created_at": "2026-06-06T17:28:13.052813Z", + "updated_at": "2026-06-06T17:28:13.052813Z" }, "all_time": { - "calls": 0, - "tenant_count": 0, - "user_count": 0, - "component_count": 0, - "tenants": {}, - "users": {}, - "components": {} + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "unknown": 1 + } }, "window": { "calls": 0, @@ -50,37 +126,451 @@ "users": {}, "components": {} }, - "last_seen_at": null, + "last_seen_at": "2026-06-06T17:28:13.047529Z", "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": 577, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 577 + }, + "users": { + "unknown": 577 + }, + "components": { + "unknown": 577 + } + }, + "window": { + "calls": 577, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 577 + }, + "users": { + "unknown": 577 + }, + "components": { + "unknown": 577 + } + }, + "last_seen_at": "2026-07-08T21:38:17.035426Z", + "retirement_candidate": false, + "retirement_reason": "577 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": 144084, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 144084 + }, + "users": { + "unknown": 144084 + }, + "components": { + "unknown": 144084 + } + }, + "window": { + "calls": 24897, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 24897 + }, + "users": { + "unknown": 24897 + }, + "components": { + "unknown": 24897 + } + }, + "last_seen_at": "2026-07-08T21:14:39.652776Z", + "retirement_candidate": false, + "retirement_reason": "24897 call(s) 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": 4, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 4 + }, + "users": { + "unknown": 4 + }, + "components": { + "unknown": 4 + } + }, + "last_seen_at": "2026-07-03T05:20:34.534439Z", + "retirement_candidate": false, + "retirement_reason": "4 call(s) 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": 511405, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 511405 + }, + "users": { + "unknown": 511405 + }, + "components": { + "unknown": 511405 + } + }, + "window": { + "calls": 82774, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 82774 + }, + "users": { + "unknown": 82774 + }, + "components": { + "unknown": 82774 + } + }, + "last_seen_at": "2026-07-08T21:14:20.781103Z", + "retirement_candidate": false, + "retirement_reason": "82774 call(s) 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": 41448, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 41448 + }, + "users": { + "unknown": 41448 + }, + "components": { + "unknown": 41448 + } + }, + "last_seen_at": "2026-07-08T21:14:12.747005Z", + "retirement_candidate": false, + "retirement_reason": "41448 call(s) 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": 136, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 136 + }, + "users": { + "unknown": 136 + }, + "components": { + "unknown": 136 + } + }, + "last_seen_at": "2026-07-08T20:49:12.335710Z", + "retirement_candidate": false, + "retirement_reason": "136 call(s) 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": 47, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 47 + }, + "users": { + "unknown": 47 + }, + "components": { + "unknown": 47 + } + }, + "last_seen_at": "2026-07-08T20:38:05.903144Z", + "retirement_candidate": false, + "retirement_reason": "47 call(s) 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": 5, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 5 + }, + "users": { + "unknown": 5 + }, + "components": { + "unknown": 5 + } + }, + "last_seen_at": "2026-07-01T22:09:24.229011Z", + "retirement_candidate": false, + "retirement_reason": "5 call(s) in review window" } ], "retirement_candidates": [ { "interface": { - "id": "53afb376-40d3-4c07-a312-a1294e179d68", - "interface_key": "rest_api:GET /obsolete", + "id": "cd9342fd-27e7-4a46-a1be-d41499e106a3", + "interface_key": "rest_api:DELETE /workstreams/{workstream_id}", "interface_kind": "rest_api", - "legacy_since": "2026-07-08T21:26:31.952023Z", - "replacement_ref": "/workplans/", - "owner_component": "state-hub", + "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-07-08T21:26:31.952023Z", - "updated_at": "2026-07-08T21:26:31.952023Z" + "created_at": "2026-06-06T17:28:13.052813Z", + "updated_at": "2026-06-06T17:28:13.052813Z" }, "all_time": { - "calls": 0, - "tenant_count": 0, - "user_count": 0, - "component_count": 0, - "tenants": {}, - "users": {}, - "components": {} + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "unknown": 1 + } }, "window": { "calls": 0, @@ -91,7 +581,7 @@ "users": {}, "components": {} }, - "last_seen_at": null, + "last_seen_at": "2026-06-06T17:28:13.047529Z", "retirement_candidate": true, "retirement_reason": "no measured usage in review window" }