From e92471df3b415f9692a25eef9470f667c377b468 Mon Sep 17 00:00:00 2001 From: tegwick Date: Sun, 27 Sep 2026 11:51:07 +0200 Subject: [PATCH] STATE-WP-0079-T05: record legacy-meter captures through 2026-09-27. The 14:00Z recapture shows the three 2026-09-22 retirements (11 retired, 4 legacy, zero candidates). Later captures stay at zero candidates. Five legacy interfaces remain, including the unattributed broadcast mark-read from 2026-09-23. T05 stays wait. Assistant: grok Assistant-Session: 01a0e242-25b7-7392-ae8f-85bf955501f6 --- .../legacy-meter-weekly-review-20260922.json | 186 +---- .../legacy-meter-weekly-review-20260923.json | 704 ++++++++++++++++ .../legacy-meter-weekly-review-20260924.json | 755 ++++++++++++++++++ .../legacy-meter-weekly-review-20260925.json | 755 ++++++++++++++++++ .../legacy-meter-weekly-review-20260927.json | 755 ++++++++++++++++++ .../STATE-WP-0079-retirement-strangler.md | 45 +- 6 files changed, 3027 insertions(+), 173 deletions(-) create mode 100644 docs/evidence/legacy-meter-weekly-review-20260923.json create mode 100644 docs/evidence/legacy-meter-weekly-review-20260924.json create mode 100644 docs/evidence/legacy-meter-weekly-review-20260925.json create mode 100644 docs/evidence/legacy-meter-weekly-review-20260927.json diff --git a/docs/evidence/legacy-meter-weekly-review-20260922.json b/docs/evidence/legacy-meter-weekly-review-20260922.json index b5c2630..69d0d46 100644 --- a/docs/evidence/legacy-meter-weekly-review-20260922.json +++ b/docs/evidence/legacy-meter-weekly-review-20260922.json @@ -1,12 +1,12 @@ { - "captured_at": "2026-09-22T06:00:07.830310+00:00", + "captured_at": "2026-09-22T14:00:07.722446+00:00", "api_base": "http://127.0.0.1:8000", "workplan": "STATE-WP-0070", "retired_interfaces": [], "weekly_review": { - "generated_at": "2026-09-22T06:00:09.559294Z", - "window_start": "2026-09-15T06:00:09.409924Z", - "window_end": "2026-09-22T06:00:09.409924Z", + "generated_at": "2026-09-22T14:00:08.077784Z", + "window_start": "2026-09-15T14:00:07.882581Z", + "window_end": "2026-09-22T14:00:07.882581Z", "cadence": "weekly", "activity_core_handoff": { "activity_id": "statehub-legacy-interface-review", @@ -114,14 +114,14 @@ "legacy_since": "2026-08-22T17:06:38.703608Z", "replacement_ref": "sbom-nexus:/sbom/", "owner_component": "state-hub.sbom-compat", - "status": "legacy", + "status": "retired", "replacement_verified": true, "manual_hold": false, "hold_reason": null, - "notes": null, - "retired_at": null, + "notes": "STATE-WP-0079-T05: founder-authorized retirement 2026-09-22; seven-day gate passed, replacement verified.", + "retired_at": "2026-09-22T09:22:56.503646Z", "created_at": "2026-08-22T17:06:38.703608Z", - "updated_at": "2026-08-22T17:23:43.730661Z" + "updated_at": "2026-09-22T09:22:56.498576Z" }, "all_time": { "calls": 7, @@ -148,8 +148,8 @@ "components": {} }, "last_seen_at": "2026-09-11T15:49:01.762688Z", - "retirement_candidate": true, - "retirement_reason": "no usage in review window; quiet 10d (>= 7d required for 7 all-time call(s))" + "retirement_candidate": false, + "retirement_reason": "already retired" }, { "interface": { @@ -425,7 +425,7 @@ }, "last_seen_at": "2026-08-21T13:50:37.994459Z", "retirement_candidate": false, - "retirement_reason": "quiet 31d of 60d required for 830269 all-time call(s)" + "retirement_reason": "quiet 32d of 60d required for 830269 all-time call(s)" }, { "interface": { @@ -560,7 +560,7 @@ }, "last_seen_at": "2026-08-21T13:50:30.082480Z", "retirement_candidate": false, - "retirement_reason": "quiet 31d of 60d required for 1643952 all-time call(s)" + "retirement_reason": "quiet 32d of 60d required for 1643952 all-time call(s)" }, { "interface": { @@ -570,14 +570,14 @@ "legacy_since": "2026-06-04T06:09:41.901035Z", "replacement_ref": "/workplans/{workplan_id}", "owner_component": "state-hub.api", - "status": "legacy", + "status": "retired", "replacement_verified": true, "manual_hold": false, "hold_reason": null, - "notes": null, - "retired_at": null, + "notes": "STATE-WP-0079-T05: founder-authorized retirement 2026-09-22; seven-day gate passed, replacement verified.", + "retired_at": "2026-09-22T09:22:56.610064Z", "created_at": "2026-06-04T06:09:41.901035Z", - "updated_at": "2026-06-04T06:09:41.901035Z" + "updated_at": "2026-09-22T09:22:56.603117Z" }, "all_time": { "calls": 584, @@ -604,8 +604,8 @@ "components": {} }, "last_seen_at": "2026-08-16T16:33:34.045078Z", - "retirement_candidate": true, - "retirement_reason": "no usage in review window; quiet 36d (>= 30d required for 584 all-time call(s))" + "retirement_candidate": false, + "retirement_reason": "already retired" }, { "interface": { @@ -615,14 +615,14 @@ "legacy_since": "2026-06-04T07:40:24.168535Z", "replacement_ref": "/workplans/", "owner_component": "state-hub.api", - "status": "legacy", + "status": "retired", "replacement_verified": true, "manual_hold": false, "hold_reason": null, - "notes": null, - "retired_at": null, + "notes": "STATE-WP-0079-T05: founder-authorized retirement 2026-09-22; seven-day gate passed, replacement verified.", + "retired_at": "2026-09-22T09:22:56.716384Z", "created_at": "2026-06-04T07:40:24.168535Z", - "updated_at": "2026-06-04T07:40:24.168535Z" + "updated_at": "2026-09-22T09:22:56.710100Z" }, "all_time": { "calls": 811, @@ -649,8 +649,8 @@ "components": {} }, "last_seen_at": "2026-08-16T01:03:41.093965Z", - "retirement_candidate": true, - "retirement_reason": "no usage in review window; quiet 37d (>= 30d required for 811 all-time call(s))" + "retirement_candidate": false, + "retirement_reason": "already retired" }, { "interface": { @@ -698,143 +698,7 @@ "retirement_reason": "already retired" } ], - "retirement_candidates": [ - { - "interface": { - "id": "d0294dce-7913-4268-94c3-1b2502aefb0f", - "interface_key": "rest_api:GET /sbom/", - "interface_kind": "rest_api", - "legacy_since": "2026-08-22T17:06:38.703608Z", - "replacement_ref": "sbom-nexus:/sbom/", - "owner_component": "state-hub.sbom-compat", - "status": "legacy", - "replacement_verified": true, - "manual_hold": false, - "hold_reason": null, - "notes": null, - "retired_at": null, - "created_at": "2026-08-22T17:06:38.703608Z", - "updated_at": "2026-08-22T17:23:43.730661Z" - }, - "all_time": { - "calls": 7, - "tenant_count": 1, - "user_count": 1, - "component_count": 1, - "tenants": { - "unknown": 7 - }, - "users": { - "unknown": 7 - }, - "components": { - "unknown": 7 - } - }, - "window": { - "calls": 0, - "tenant_count": 0, - "user_count": 0, - "component_count": 0, - "tenants": {}, - "users": {}, - "components": {} - }, - "last_seen_at": "2026-09-11T15:49:01.762688Z", - "retirement_candidate": true, - "retirement_reason": "no usage in review window; quiet 10d (>= 7d required for 7 all-time call(s))" - }, - { - "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": 584, - "tenant_count": 1, - "user_count": 1, - "component_count": 1, - "tenants": { - "unknown": 584 - }, - "users": { - "unknown": 584 - }, - "components": { - "unknown": 584 - } - }, - "window": { - "calls": 0, - "tenant_count": 0, - "user_count": 0, - "component_count": 0, - "tenants": {}, - "users": {}, - "components": {} - }, - "last_seen_at": "2026-08-16T16:33:34.045078Z", - "retirement_candidate": true, - "retirement_reason": "no usage in review window; quiet 36d (>= 30d required for 584 all-time call(s))" - }, - { - "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": 811, - "tenant_count": 1, - "user_count": 1, - "component_count": 1, - "tenants": { - "unknown": 811 - }, - "users": { - "unknown": 811 - }, - "components": { - "unknown": 811 - } - }, - "window": { - "calls": 0, - "tenant_count": 0, - "user_count": 0, - "component_count": 0, - "tenants": {}, - "users": {}, - "components": {} - }, - "last_seen_at": "2026-08-16T01:03:41.093965Z", - "retirement_candidate": true, - "retirement_reason": "no usage in review window; quiet 37d (>= 30d required for 811 all-time call(s))" - } - ] + "retirement_candidates": [] }, "days": 7 } diff --git a/docs/evidence/legacy-meter-weekly-review-20260923.json b/docs/evidence/legacy-meter-weekly-review-20260923.json new file mode 100644 index 0000000..ade2266 --- /dev/null +++ b/docs/evidence/legacy-meter-weekly-review-20260923.json @@ -0,0 +1,704 @@ +{ + "captured_at": "2026-09-22T22:00:04.686199+00:00", + "api_base": "http://127.0.0.1:8000", + "workplan": "STATE-WP-0070", + "retired_interfaces": [], + "weekly_review": { + "generated_at": "2026-09-22T22:00:07.393886Z", + "window_start": "2026-09-15T22:00:07.124435Z", + "window_end": "2026-09-22T22:00:07.124435Z", + "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-08-31T08:55:06.871333Z", + "created_at": "2026-06-04T06:09:42.198193Z", + "updated_at": "2026-08-31T08:55:06.756087Z" + }, + "all_time": { + "calls": 247, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 247 + }, + "users": { + "unknown": 247 + }, + "components": { + "state-hub.events": 247 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-13T13:22:00.748140Z", + "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-06-06T17:28:13.052813Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Retired by STATE-WP-0069 closeout", + "retired_at": "2026-08-31T08:55:08.200322Z", + "created_at": "2026-06-06T17:28:13.052813Z", + "updated_at": "2026-08-31T08:55:08.089714Z" + }, + "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": false, + "retirement_reason": "already retired" + }, + { + "interface": { + "id": "d0294dce-7913-4268-94c3-1b2502aefb0f", + "interface_key": "rest_api:GET /sbom/", + "interface_kind": "rest_api", + "legacy_since": "2026-08-22T17:06:38.703608Z", + "replacement_ref": "sbom-nexus:/sbom/", + "owner_component": "state-hub.sbom-compat", + "status": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "STATE-WP-0079-T05: founder-authorized retirement 2026-09-22; seven-day gate passed, replacement verified.", + "retired_at": "2026-09-22T09:22:56.503646Z", + "created_at": "2026-08-22T17:06:38.703608Z", + "updated_at": "2026-09-22T09:22:56.498576Z" + }, + "all_time": { + "calls": 7, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 7 + }, + "users": { + "unknown": 7 + }, + "components": { + "unknown": 7 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-09-11T15:49:01.762688Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "interface": { + "id": "2f77ac12-8c97-4974-a2f9-2996927982d1", + "interface_key": "rest_api:GET /sbom/report/licences/", + "interface_kind": "rest_api", + "legacy_since": "2026-08-22T17:06:41.978426Z", + "replacement_ref": "sbom-nexus:/sbom/", + "owner_component": "state-hub.sbom-compat", + "status": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "STATE-WP-0079-T05: user-authorized retirement 2026-09-05; fresh seven-day gate passed, replacement_verified=true; direct SBOM Nexus endpoints returned HTTP 200 from the State Hub pod. Compatibility storage/routes retained for the final cutover.", + "retired_at": "2026-09-05T08:04:48.423727Z", + "created_at": "2026-08-22T17:06:41.978426Z", + "updated_at": "2026-09-05T08:04:48.418993Z" + }, + "all_time": { + "calls": 5, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 5 + }, + "users": { + "unknown": 5 + }, + "components": { + "unknown": 5 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-28T18:46:10.642164Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "interface": { + "id": "b627edf5-3302-4366-ba2e-547d32f634b5", + "interface_key": "rest_api:GET /sbom/snapshots/", + "interface_kind": "rest_api", + "legacy_since": "2026-08-22T17:06:37.057774Z", + "replacement_ref": "sbom-nexus:/sbom/", + "owner_component": "state-hub.sbom-compat", + "status": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "STATE-WP-0079-T05: user-authorized retirement 2026-09-05; fresh seven-day gate passed, replacement_verified=true; direct SBOM Nexus endpoints returned HTTP 200 from the State Hub pod. Compatibility storage/routes retained for the final cutover.", + "retired_at": "2026-09-05T08:04:48.506447Z", + "created_at": "2026-08-22T17:06:37.057774Z", + "updated_at": "2026-09-05T08:04:48.501706Z" + }, + "all_time": { + "calls": 7, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 7 + }, + "users": { + "unknown": 7 + }, + "components": { + "unknown": 7 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-28T18:46:10.694185Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "interface": { + "id": "d03ee274-cd6f-4cd5-8f22-e4d298416299", + "interface_key": "rest_api:GET /sbom/snapshots/{snapshot_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-08-22T17:23:45.969876Z", + "replacement_ref": "sbom-nexus:/sbom/", + "owner_component": "state-hub.sbom-compat", + "status": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Retired by STATE-WP-0069 closeout", + "retired_at": "2026-08-31T08:55:08.470106Z", + "created_at": "2026-08-22T17:23:45.969876Z", + "updated_at": "2026-08-31T08:55:08.456139Z" + }, + "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-08-22T17:23:45.967492Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "interface": { + "id": "a6cb291e-8312-42f8-8a66-fde369482881", + "interface_key": "rest_api:GET /sbom/{repo_slug}", + "interface_kind": "rest_api", + "legacy_since": "2026-08-22T17:23:45.089542Z", + "replacement_ref": "sbom-nexus:/sbom/", + "owner_component": "state-hub.sbom-compat", + "status": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Retired by STATE-WP-0069 closeout", + "retired_at": "2026-08-31T08:55:08.754914Z", + "created_at": "2026-08-22T17:23:45.089542Z", + "updated_at": "2026-08-31T08:55:08.750826Z" + }, + "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-08-22T17:23:45.670511Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "interface": { + "id": "cad13f19-ddb1-49b9-86d0-8789b7599f3a", + "interface_key": "rest_api:GET /tasks/?workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-08-29T10:01:31.546213Z", + "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-08-29T10:01:31.546213Z", + "updated_at": "2026-08-29T10:01:31.546213Z" + }, + "all_time": { + "calls": 31, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 31 + }, + "users": { + "unknown": 31 + }, + "components": { + "unknown": 31 + } + }, + "window": { + "calls": 8, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 8 + }, + "users": { + "unknown": 8 + }, + "components": { + "unknown": 8 + } + }, + "last_seen_at": "2026-09-20T20:37:06.949619Z", + "retirement_candidate": false, + "retirement_reason": "8 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": 830269, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 830269 + }, + "users": { + "unknown": 830269 + }, + "components": { + "unknown": 830269 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-21T13:50:37.994459Z", + "retirement_candidate": false, + "retirement_reason": "quiet 32d of 60d required for 830269 all-time call(s)" + }, + { + "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": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Retired by STATE-WP-0069 closeout", + "retired_at": "2026-08-31T08:55:08.939572Z", + "created_at": "2026-06-04T05:20:58.321869Z", + "updated_at": "2026-08-31T08:55:08.933482Z" + }, + "all_time": { + "calls": 40, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 40 + }, + "users": { + "unknown": 40 + }, + "components": { + "unknown": 40 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-09-01T18:42:55.879795Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "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": 3411477, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 3411477 + }, + "users": { + "unknown": 3411477 + }, + "components": { + "unknown": 3411477 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-09-03T22:02:35.348363Z", + "retirement_candidate": false, + "retirement_reason": "quiet 18d of 60d required for 3411477 all-time call(s)" + }, + { + "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": 1643952, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1643952 + }, + "users": { + "unknown": 1643952 + }, + "components": { + "unknown": 1643952 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-21T13:50:30.082480Z", + "retirement_candidate": false, + "retirement_reason": "quiet 32d of 60d required for 1643952 all-time call(s)" + }, + { + "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": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "STATE-WP-0079-T05: founder-authorized retirement 2026-09-22; seven-day gate passed, replacement verified.", + "retired_at": "2026-09-22T09:22:56.610064Z", + "created_at": "2026-06-04T06:09:41.901035Z", + "updated_at": "2026-09-22T09:22:56.603117Z" + }, + "all_time": { + "calls": 584, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 584 + }, + "users": { + "unknown": 584 + }, + "components": { + "unknown": 584 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-16T16:33:34.045078Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "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": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "STATE-WP-0079-T05: founder-authorized retirement 2026-09-22; seven-day gate passed, replacement verified.", + "retired_at": "2026-09-22T09:22:56.716384Z", + "created_at": "2026-06-04T07:40:24.168535Z", + "updated_at": "2026-09-22T09:22:56.710100Z" + }, + "all_time": { + "calls": 811, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 811 + }, + "users": { + "unknown": 811 + }, + "components": { + "unknown": 811 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-16T01:03:41.093965Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "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": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Retired by STATE-WP-0069 closeout", + "retired_at": "2026-08-31T08:55:09.130713Z", + "created_at": "2026-06-04T22:57:37.149207Z", + "updated_at": "2026-08-31T08:55:09.123888Z" + }, + "all_time": { + "calls": 4975, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 4975 + }, + "users": { + "unknown": 4975 + }, + "components": { + "unknown": 4975 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-07T20:31:35.389791Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + } + ], + "retirement_candidates": [] + }, + "days": 7 +} diff --git a/docs/evidence/legacy-meter-weekly-review-20260924.json b/docs/evidence/legacy-meter-weekly-review-20260924.json new file mode 100644 index 0000000..2bdaaef --- /dev/null +++ b/docs/evidence/legacy-meter-weekly-review-20260924.json @@ -0,0 +1,755 @@ +{ + "captured_at": "2026-09-24T14:00:05.751313+00:00", + "api_base": "http://127.0.0.1:8000", + "workplan": "STATE-WP-0070", + "retired_interfaces": [], + "weekly_review": { + "generated_at": "2026-09-24T14:00:08.528939Z", + "window_start": "2026-09-17T14:00:07.748913Z", + "window_end": "2026-09-24T14:00:07.748913Z", + "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-08-31T08:55:06.871333Z", + "created_at": "2026-06-04T06:09:42.198193Z", + "updated_at": "2026-08-31T08:55:06.756087Z" + }, + "all_time": { + "calls": 247, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 247 + }, + "users": { + "unknown": 247 + }, + "components": { + "state-hub.events": 247 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-13T13:22:00.748140Z", + "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-06-06T17:28:13.052813Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Retired by STATE-WP-0069 closeout", + "retired_at": "2026-08-31T08:55:08.200322Z", + "created_at": "2026-06-06T17:28:13.052813Z", + "updated_at": "2026-08-31T08:55:08.089714Z" + }, + "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": false, + "retirement_reason": "already retired" + }, + { + "interface": { + "id": "d0294dce-7913-4268-94c3-1b2502aefb0f", + "interface_key": "rest_api:GET /sbom/", + "interface_kind": "rest_api", + "legacy_since": "2026-08-22T17:06:38.703608Z", + "replacement_ref": "sbom-nexus:/sbom/", + "owner_component": "state-hub.sbom-compat", + "status": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "STATE-WP-0079-T05: founder-authorized retirement 2026-09-22; seven-day gate passed, replacement verified.", + "retired_at": "2026-09-22T09:22:56.503646Z", + "created_at": "2026-08-22T17:06:38.703608Z", + "updated_at": "2026-09-22T09:22:56.498576Z" + }, + "all_time": { + "calls": 7, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 7 + }, + "users": { + "unknown": 7 + }, + "components": { + "unknown": 7 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-09-11T15:49:01.762688Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "interface": { + "id": "2f77ac12-8c97-4974-a2f9-2996927982d1", + "interface_key": "rest_api:GET /sbom/report/licences/", + "interface_kind": "rest_api", + "legacy_since": "2026-08-22T17:06:41.978426Z", + "replacement_ref": "sbom-nexus:/sbom/", + "owner_component": "state-hub.sbom-compat", + "status": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "STATE-WP-0079-T05: user-authorized retirement 2026-09-05; fresh seven-day gate passed, replacement_verified=true; direct SBOM Nexus endpoints returned HTTP 200 from the State Hub pod. Compatibility storage/routes retained for the final cutover.", + "retired_at": "2026-09-05T08:04:48.423727Z", + "created_at": "2026-08-22T17:06:41.978426Z", + "updated_at": "2026-09-05T08:04:48.418993Z" + }, + "all_time": { + "calls": 5, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 5 + }, + "users": { + "unknown": 5 + }, + "components": { + "unknown": 5 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-28T18:46:10.642164Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "interface": { + "id": "b627edf5-3302-4366-ba2e-547d32f634b5", + "interface_key": "rest_api:GET /sbom/snapshots/", + "interface_kind": "rest_api", + "legacy_since": "2026-08-22T17:06:37.057774Z", + "replacement_ref": "sbom-nexus:/sbom/", + "owner_component": "state-hub.sbom-compat", + "status": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "STATE-WP-0079-T05: user-authorized retirement 2026-09-05; fresh seven-day gate passed, replacement_verified=true; direct SBOM Nexus endpoints returned HTTP 200 from the State Hub pod. Compatibility storage/routes retained for the final cutover.", + "retired_at": "2026-09-05T08:04:48.506447Z", + "created_at": "2026-08-22T17:06:37.057774Z", + "updated_at": "2026-09-05T08:04:48.501706Z" + }, + "all_time": { + "calls": 7, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 7 + }, + "users": { + "unknown": 7 + }, + "components": { + "unknown": 7 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-28T18:46:10.694185Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "interface": { + "id": "d03ee274-cd6f-4cd5-8f22-e4d298416299", + "interface_key": "rest_api:GET /sbom/snapshots/{snapshot_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-08-22T17:23:45.969876Z", + "replacement_ref": "sbom-nexus:/sbom/", + "owner_component": "state-hub.sbom-compat", + "status": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Retired by STATE-WP-0069 closeout", + "retired_at": "2026-08-31T08:55:08.470106Z", + "created_at": "2026-08-22T17:23:45.969876Z", + "updated_at": "2026-08-31T08:55:08.456139Z" + }, + "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-08-22T17:23:45.967492Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "interface": { + "id": "a6cb291e-8312-42f8-8a66-fde369482881", + "interface_key": "rest_api:GET /sbom/{repo_slug}", + "interface_kind": "rest_api", + "legacy_since": "2026-08-22T17:23:45.089542Z", + "replacement_ref": "sbom-nexus:/sbom/", + "owner_component": "state-hub.sbom-compat", + "status": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Retired by STATE-WP-0069 closeout", + "retired_at": "2026-08-31T08:55:08.754914Z", + "created_at": "2026-08-22T17:23:45.089542Z", + "updated_at": "2026-08-31T08:55:08.750826Z" + }, + "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-08-22T17:23:45.670511Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "interface": { + "id": "cad13f19-ddb1-49b9-86d0-8789b7599f3a", + "interface_key": "rest_api:GET /tasks/?workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-08-29T10:01:31.546213Z", + "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-08-29T10:01:31.546213Z", + "updated_at": "2026-08-29T10:01:31.546213Z" + }, + "all_time": { + "calls": 31, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 31 + }, + "users": { + "unknown": 31 + }, + "components": { + "unknown": 31 + } + }, + "window": { + "calls": 8, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 8 + }, + "users": { + "unknown": 8 + }, + "components": { + "unknown": 8 + } + }, + "last_seen_at": "2026-09-20T20:37:06.949619Z", + "retirement_candidate": false, + "retirement_reason": "8 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": 830269, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 830269 + }, + "users": { + "unknown": 830269 + }, + "components": { + "unknown": 830269 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-21T13:50:37.994459Z", + "retirement_candidate": false, + "retirement_reason": "quiet 34d of 60d required for 830269 all-time call(s)" + }, + { + "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": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Retired by STATE-WP-0069 closeout", + "retired_at": "2026-08-31T08:55:08.939572Z", + "created_at": "2026-06-04T05:20:58.321869Z", + "updated_at": "2026-08-31T08:55:08.933482Z" + }, + "all_time": { + "calls": 40, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 40 + }, + "users": { + "unknown": 40 + }, + "components": { + "unknown": 40 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-09-01T18:42:55.879795Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "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": 3411477, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 3411477 + }, + "users": { + "unknown": 3411477 + }, + "components": { + "unknown": 3411477 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-09-03T22:02:35.348363Z", + "retirement_candidate": false, + "retirement_reason": "quiet 20d of 60d required for 3411477 all-time call(s)" + }, + { + "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": 1643952, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1643952 + }, + "users": { + "unknown": 1643952 + }, + "components": { + "unknown": 1643952 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-21T13:50:30.082480Z", + "retirement_candidate": false, + "retirement_reason": "quiet 34d of 60d required for 1643952 all-time call(s)" + }, + { + "interface": { + "id": "44734299-5fc3-4da9-a412-bf9884a56a44", + "interface_key": "rest_api:PATCH /messages/{id}/read broadcast-without-reader", + "interface_kind": "rest_api", + "legacy_since": "2026-09-23T15:30:53.835158Z", + "replacement_ref": "PATCH /messages/{id}/read?reader=", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-09-23T15:30:53.835158Z", + "updated_at": "2026-09-23T15:30:53.835158Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "unknown": 1 + } + }, + "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-09-23T15:30:53.844173Z", + "retirement_candidate": false, + "retirement_reason": "1 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": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "STATE-WP-0079-T05: founder-authorized retirement 2026-09-22; seven-day gate passed, replacement verified.", + "retired_at": "2026-09-22T09:22:56.610064Z", + "created_at": "2026-06-04T06:09:41.901035Z", + "updated_at": "2026-09-22T09:22:56.603117Z" + }, + "all_time": { + "calls": 584, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 584 + }, + "users": { + "unknown": 584 + }, + "components": { + "unknown": 584 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-16T16:33:34.045078Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "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": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "STATE-WP-0079-T05: founder-authorized retirement 2026-09-22; seven-day gate passed, replacement verified.", + "retired_at": "2026-09-22T09:22:56.716384Z", + "created_at": "2026-06-04T07:40:24.168535Z", + "updated_at": "2026-09-22T09:22:56.710100Z" + }, + "all_time": { + "calls": 811, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 811 + }, + "users": { + "unknown": 811 + }, + "components": { + "unknown": 811 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-16T01:03:41.093965Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "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": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Retired by STATE-WP-0069 closeout", + "retired_at": "2026-08-31T08:55:09.130713Z", + "created_at": "2026-06-04T22:57:37.149207Z", + "updated_at": "2026-08-31T08:55:09.123888Z" + }, + "all_time": { + "calls": 4975, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 4975 + }, + "users": { + "unknown": 4975 + }, + "components": { + "unknown": 4975 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-07T20:31:35.389791Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + } + ], + "retirement_candidates": [] + }, + "days": 7 +} diff --git a/docs/evidence/legacy-meter-weekly-review-20260925.json b/docs/evidence/legacy-meter-weekly-review-20260925.json new file mode 100644 index 0000000..d31c2a9 --- /dev/null +++ b/docs/evidence/legacy-meter-weekly-review-20260925.json @@ -0,0 +1,755 @@ +{ + "captured_at": "2026-09-25T06:00:07.247754+00:00", + "api_base": "http://127.0.0.1:8000", + "workplan": "STATE-WP-0070", + "retired_interfaces": [], + "weekly_review": { + "generated_at": "2026-09-25T06:00:08.478078Z", + "window_start": "2026-09-18T06:00:08.367407Z", + "window_end": "2026-09-25T06:00:08.367407Z", + "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-08-31T08:55:06.871333Z", + "created_at": "2026-06-04T06:09:42.198193Z", + "updated_at": "2026-08-31T08:55:06.756087Z" + }, + "all_time": { + "calls": 247, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 247 + }, + "users": { + "unknown": 247 + }, + "components": { + "state-hub.events": 247 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-13T13:22:00.748140Z", + "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-06-06T17:28:13.052813Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Retired by STATE-WP-0069 closeout", + "retired_at": "2026-08-31T08:55:08.200322Z", + "created_at": "2026-06-06T17:28:13.052813Z", + "updated_at": "2026-08-31T08:55:08.089714Z" + }, + "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": false, + "retirement_reason": "already retired" + }, + { + "interface": { + "id": "d0294dce-7913-4268-94c3-1b2502aefb0f", + "interface_key": "rest_api:GET /sbom/", + "interface_kind": "rest_api", + "legacy_since": "2026-08-22T17:06:38.703608Z", + "replacement_ref": "sbom-nexus:/sbom/", + "owner_component": "state-hub.sbom-compat", + "status": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "STATE-WP-0079-T05: founder-authorized retirement 2026-09-22; seven-day gate passed, replacement verified.", + "retired_at": "2026-09-22T09:22:56.503646Z", + "created_at": "2026-08-22T17:06:38.703608Z", + "updated_at": "2026-09-22T09:22:56.498576Z" + }, + "all_time": { + "calls": 7, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 7 + }, + "users": { + "unknown": 7 + }, + "components": { + "unknown": 7 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-09-11T15:49:01.762688Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "interface": { + "id": "2f77ac12-8c97-4974-a2f9-2996927982d1", + "interface_key": "rest_api:GET /sbom/report/licences/", + "interface_kind": "rest_api", + "legacy_since": "2026-08-22T17:06:41.978426Z", + "replacement_ref": "sbom-nexus:/sbom/", + "owner_component": "state-hub.sbom-compat", + "status": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "STATE-WP-0079-T05: user-authorized retirement 2026-09-05; fresh seven-day gate passed, replacement_verified=true; direct SBOM Nexus endpoints returned HTTP 200 from the State Hub pod. Compatibility storage/routes retained for the final cutover.", + "retired_at": "2026-09-05T08:04:48.423727Z", + "created_at": "2026-08-22T17:06:41.978426Z", + "updated_at": "2026-09-05T08:04:48.418993Z" + }, + "all_time": { + "calls": 5, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 5 + }, + "users": { + "unknown": 5 + }, + "components": { + "unknown": 5 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-28T18:46:10.642164Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "interface": { + "id": "b627edf5-3302-4366-ba2e-547d32f634b5", + "interface_key": "rest_api:GET /sbom/snapshots/", + "interface_kind": "rest_api", + "legacy_since": "2026-08-22T17:06:37.057774Z", + "replacement_ref": "sbom-nexus:/sbom/", + "owner_component": "state-hub.sbom-compat", + "status": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "STATE-WP-0079-T05: user-authorized retirement 2026-09-05; fresh seven-day gate passed, replacement_verified=true; direct SBOM Nexus endpoints returned HTTP 200 from the State Hub pod. Compatibility storage/routes retained for the final cutover.", + "retired_at": "2026-09-05T08:04:48.506447Z", + "created_at": "2026-08-22T17:06:37.057774Z", + "updated_at": "2026-09-05T08:04:48.501706Z" + }, + "all_time": { + "calls": 7, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 7 + }, + "users": { + "unknown": 7 + }, + "components": { + "unknown": 7 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-28T18:46:10.694185Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "interface": { + "id": "d03ee274-cd6f-4cd5-8f22-e4d298416299", + "interface_key": "rest_api:GET /sbom/snapshots/{snapshot_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-08-22T17:23:45.969876Z", + "replacement_ref": "sbom-nexus:/sbom/", + "owner_component": "state-hub.sbom-compat", + "status": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Retired by STATE-WP-0069 closeout", + "retired_at": "2026-08-31T08:55:08.470106Z", + "created_at": "2026-08-22T17:23:45.969876Z", + "updated_at": "2026-08-31T08:55:08.456139Z" + }, + "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-08-22T17:23:45.967492Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "interface": { + "id": "a6cb291e-8312-42f8-8a66-fde369482881", + "interface_key": "rest_api:GET /sbom/{repo_slug}", + "interface_kind": "rest_api", + "legacy_since": "2026-08-22T17:23:45.089542Z", + "replacement_ref": "sbom-nexus:/sbom/", + "owner_component": "state-hub.sbom-compat", + "status": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Retired by STATE-WP-0069 closeout", + "retired_at": "2026-08-31T08:55:08.754914Z", + "created_at": "2026-08-22T17:23:45.089542Z", + "updated_at": "2026-08-31T08:55:08.750826Z" + }, + "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-08-22T17:23:45.670511Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "interface": { + "id": "cad13f19-ddb1-49b9-86d0-8789b7599f3a", + "interface_key": "rest_api:GET /tasks/?workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-08-29T10:01:31.546213Z", + "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-08-29T10:01:31.546213Z", + "updated_at": "2026-08-29T10:01:31.546213Z" + }, + "all_time": { + "calls": 31, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 31 + }, + "users": { + "unknown": 31 + }, + "components": { + "unknown": 31 + } + }, + "window": { + "calls": 8, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 8 + }, + "users": { + "unknown": 8 + }, + "components": { + "unknown": 8 + } + }, + "last_seen_at": "2026-09-20T20:37:06.949619Z", + "retirement_candidate": false, + "retirement_reason": "8 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": 830269, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 830269 + }, + "users": { + "unknown": 830269 + }, + "components": { + "unknown": 830269 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-21T13:50:37.994459Z", + "retirement_candidate": false, + "retirement_reason": "quiet 34d of 60d required for 830269 all-time call(s)" + }, + { + "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": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Retired by STATE-WP-0069 closeout", + "retired_at": "2026-08-31T08:55:08.939572Z", + "created_at": "2026-06-04T05:20:58.321869Z", + "updated_at": "2026-08-31T08:55:08.933482Z" + }, + "all_time": { + "calls": 40, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 40 + }, + "users": { + "unknown": 40 + }, + "components": { + "unknown": 40 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-09-01T18:42:55.879795Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "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": 3411477, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 3411477 + }, + "users": { + "unknown": 3411477 + }, + "components": { + "unknown": 3411477 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-09-03T22:02:35.348363Z", + "retirement_candidate": false, + "retirement_reason": "quiet 21d of 60d required for 3411477 all-time call(s)" + }, + { + "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": 1643952, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1643952 + }, + "users": { + "unknown": 1643952 + }, + "components": { + "unknown": 1643952 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-21T13:50:30.082480Z", + "retirement_candidate": false, + "retirement_reason": "quiet 34d of 60d required for 1643952 all-time call(s)" + }, + { + "interface": { + "id": "44734299-5fc3-4da9-a412-bf9884a56a44", + "interface_key": "rest_api:PATCH /messages/{id}/read broadcast-without-reader", + "interface_kind": "rest_api", + "legacy_since": "2026-09-23T15:30:53.835158Z", + "replacement_ref": "PATCH /messages/{id}/read?reader=", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-09-23T15:30:53.835158Z", + "updated_at": "2026-09-23T15:30:53.835158Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "unknown": 1 + } + }, + "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-09-23T15:30:53.844173Z", + "retirement_candidate": false, + "retirement_reason": "1 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": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "STATE-WP-0079-T05: founder-authorized retirement 2026-09-22; seven-day gate passed, replacement verified.", + "retired_at": "2026-09-22T09:22:56.610064Z", + "created_at": "2026-06-04T06:09:41.901035Z", + "updated_at": "2026-09-22T09:22:56.603117Z" + }, + "all_time": { + "calls": 584, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 584 + }, + "users": { + "unknown": 584 + }, + "components": { + "unknown": 584 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-16T16:33:34.045078Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "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": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "STATE-WP-0079-T05: founder-authorized retirement 2026-09-22; seven-day gate passed, replacement verified.", + "retired_at": "2026-09-22T09:22:56.716384Z", + "created_at": "2026-06-04T07:40:24.168535Z", + "updated_at": "2026-09-22T09:22:56.710100Z" + }, + "all_time": { + "calls": 811, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 811 + }, + "users": { + "unknown": 811 + }, + "components": { + "unknown": 811 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-16T01:03:41.093965Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "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": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Retired by STATE-WP-0069 closeout", + "retired_at": "2026-08-31T08:55:09.130713Z", + "created_at": "2026-06-04T22:57:37.149207Z", + "updated_at": "2026-08-31T08:55:09.123888Z" + }, + "all_time": { + "calls": 4975, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 4975 + }, + "users": { + "unknown": 4975 + }, + "components": { + "unknown": 4975 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-07T20:31:35.389791Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + } + ], + "retirement_candidates": [] + }, + "days": 7 +} diff --git a/docs/evidence/legacy-meter-weekly-review-20260927.json b/docs/evidence/legacy-meter-weekly-review-20260927.json new file mode 100644 index 0000000..1463d1e --- /dev/null +++ b/docs/evidence/legacy-meter-weekly-review-20260927.json @@ -0,0 +1,755 @@ +{ + "captured_at": "2026-09-26T22:00:07.889530+00:00", + "api_base": "http://127.0.0.1:8000", + "workplan": "STATE-WP-0070", + "retired_interfaces": [], + "weekly_review": { + "generated_at": "2026-09-26T22:00:10.085720Z", + "window_start": "2026-09-19T22:00:10.006081Z", + "window_end": "2026-09-26T22:00:10.006081Z", + "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-08-31T08:55:06.871333Z", + "created_at": "2026-06-04T06:09:42.198193Z", + "updated_at": "2026-08-31T08:55:06.756087Z" + }, + "all_time": { + "calls": 247, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 247 + }, + "users": { + "unknown": 247 + }, + "components": { + "state-hub.events": 247 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-13T13:22:00.748140Z", + "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-06-06T17:28:13.052813Z", + "replacement_ref": "/workplans/{workplan_id}", + "owner_component": "state-hub.api", + "status": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Retired by STATE-WP-0069 closeout", + "retired_at": "2026-08-31T08:55:08.200322Z", + "created_at": "2026-06-06T17:28:13.052813Z", + "updated_at": "2026-08-31T08:55:08.089714Z" + }, + "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": false, + "retirement_reason": "already retired" + }, + { + "interface": { + "id": "d0294dce-7913-4268-94c3-1b2502aefb0f", + "interface_key": "rest_api:GET /sbom/", + "interface_kind": "rest_api", + "legacy_since": "2026-08-22T17:06:38.703608Z", + "replacement_ref": "sbom-nexus:/sbom/", + "owner_component": "state-hub.sbom-compat", + "status": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "STATE-WP-0079-T05: founder-authorized retirement 2026-09-22; seven-day gate passed, replacement verified.", + "retired_at": "2026-09-22T09:22:56.503646Z", + "created_at": "2026-08-22T17:06:38.703608Z", + "updated_at": "2026-09-22T09:22:56.498576Z" + }, + "all_time": { + "calls": 7, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 7 + }, + "users": { + "unknown": 7 + }, + "components": { + "unknown": 7 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-09-11T15:49:01.762688Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "interface": { + "id": "2f77ac12-8c97-4974-a2f9-2996927982d1", + "interface_key": "rest_api:GET /sbom/report/licences/", + "interface_kind": "rest_api", + "legacy_since": "2026-08-22T17:06:41.978426Z", + "replacement_ref": "sbom-nexus:/sbom/", + "owner_component": "state-hub.sbom-compat", + "status": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "STATE-WP-0079-T05: user-authorized retirement 2026-09-05; fresh seven-day gate passed, replacement_verified=true; direct SBOM Nexus endpoints returned HTTP 200 from the State Hub pod. Compatibility storage/routes retained for the final cutover.", + "retired_at": "2026-09-05T08:04:48.423727Z", + "created_at": "2026-08-22T17:06:41.978426Z", + "updated_at": "2026-09-05T08:04:48.418993Z" + }, + "all_time": { + "calls": 5, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 5 + }, + "users": { + "unknown": 5 + }, + "components": { + "unknown": 5 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-28T18:46:10.642164Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "interface": { + "id": "b627edf5-3302-4366-ba2e-547d32f634b5", + "interface_key": "rest_api:GET /sbom/snapshots/", + "interface_kind": "rest_api", + "legacy_since": "2026-08-22T17:06:37.057774Z", + "replacement_ref": "sbom-nexus:/sbom/", + "owner_component": "state-hub.sbom-compat", + "status": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "STATE-WP-0079-T05: user-authorized retirement 2026-09-05; fresh seven-day gate passed, replacement_verified=true; direct SBOM Nexus endpoints returned HTTP 200 from the State Hub pod. Compatibility storage/routes retained for the final cutover.", + "retired_at": "2026-09-05T08:04:48.506447Z", + "created_at": "2026-08-22T17:06:37.057774Z", + "updated_at": "2026-09-05T08:04:48.501706Z" + }, + "all_time": { + "calls": 7, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 7 + }, + "users": { + "unknown": 7 + }, + "components": { + "unknown": 7 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-28T18:46:10.694185Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "interface": { + "id": "d03ee274-cd6f-4cd5-8f22-e4d298416299", + "interface_key": "rest_api:GET /sbom/snapshots/{snapshot_id}", + "interface_kind": "rest_api", + "legacy_since": "2026-08-22T17:23:45.969876Z", + "replacement_ref": "sbom-nexus:/sbom/", + "owner_component": "state-hub.sbom-compat", + "status": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Retired by STATE-WP-0069 closeout", + "retired_at": "2026-08-31T08:55:08.470106Z", + "created_at": "2026-08-22T17:23:45.969876Z", + "updated_at": "2026-08-31T08:55:08.456139Z" + }, + "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-08-22T17:23:45.967492Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "interface": { + "id": "a6cb291e-8312-42f8-8a66-fde369482881", + "interface_key": "rest_api:GET /sbom/{repo_slug}", + "interface_kind": "rest_api", + "legacy_since": "2026-08-22T17:23:45.089542Z", + "replacement_ref": "sbom-nexus:/sbom/", + "owner_component": "state-hub.sbom-compat", + "status": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Retired by STATE-WP-0069 closeout", + "retired_at": "2026-08-31T08:55:08.754914Z", + "created_at": "2026-08-22T17:23:45.089542Z", + "updated_at": "2026-08-31T08:55:08.750826Z" + }, + "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-08-22T17:23:45.670511Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "interface": { + "id": "cad13f19-ddb1-49b9-86d0-8789b7599f3a", + "interface_key": "rest_api:GET /tasks/?workstream_id", + "interface_kind": "rest_api", + "legacy_since": "2026-08-29T10:01:31.546213Z", + "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-08-29T10:01:31.546213Z", + "updated_at": "2026-08-29T10:01:31.546213Z" + }, + "all_time": { + "calls": 31, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 31 + }, + "users": { + "unknown": 31 + }, + "components": { + "unknown": 31 + } + }, + "window": { + "calls": 8, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 8 + }, + "users": { + "unknown": 8 + }, + "components": { + "unknown": 8 + } + }, + "last_seen_at": "2026-09-20T20:37:06.949619Z", + "retirement_candidate": false, + "retirement_reason": "8 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": 830269, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 830269 + }, + "users": { + "unknown": 830269 + }, + "components": { + "unknown": 830269 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-21T13:50:37.994459Z", + "retirement_candidate": false, + "retirement_reason": "quiet 36d of 60d required for 830269 all-time call(s)" + }, + { + "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": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Retired by STATE-WP-0069 closeout", + "retired_at": "2026-08-31T08:55:08.939572Z", + "created_at": "2026-06-04T05:20:58.321869Z", + "updated_at": "2026-08-31T08:55:08.933482Z" + }, + "all_time": { + "calls": 40, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 40 + }, + "users": { + "unknown": 40 + }, + "components": { + "unknown": 40 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-09-01T18:42:55.879795Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "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": 3411477, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 3411477 + }, + "users": { + "unknown": 3411477 + }, + "components": { + "unknown": 3411477 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-09-03T22:02:35.348363Z", + "retirement_candidate": false, + "retirement_reason": "quiet 22d of 60d required for 3411477 all-time call(s)" + }, + { + "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": 1643952, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1643952 + }, + "users": { + "unknown": 1643952 + }, + "components": { + "unknown": 1643952 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-21T13:50:30.082480Z", + "retirement_candidate": false, + "retirement_reason": "quiet 36d of 60d required for 1643952 all-time call(s)" + }, + { + "interface": { + "id": "44734299-5fc3-4da9-a412-bf9884a56a44", + "interface_key": "rest_api:PATCH /messages/{id}/read broadcast-without-reader", + "interface_kind": "rest_api", + "legacy_since": "2026-09-23T15:30:53.835158Z", + "replacement_ref": "PATCH /messages/{id}/read?reader=", + "owner_component": "state-hub.api", + "status": "legacy", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": null, + "retired_at": null, + "created_at": "2026-09-23T15:30:53.835158Z", + "updated_at": "2026-09-23T15:30:53.835158Z" + }, + "all_time": { + "calls": 1, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 1 + }, + "users": { + "unknown": 1 + }, + "components": { + "unknown": 1 + } + }, + "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-09-23T15:30:53.844173Z", + "retirement_candidate": false, + "retirement_reason": "1 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": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "STATE-WP-0079-T05: founder-authorized retirement 2026-09-22; seven-day gate passed, replacement verified.", + "retired_at": "2026-09-22T09:22:56.610064Z", + "created_at": "2026-06-04T06:09:41.901035Z", + "updated_at": "2026-09-22T09:22:56.603117Z" + }, + "all_time": { + "calls": 584, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 584 + }, + "users": { + "unknown": 584 + }, + "components": { + "unknown": 584 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-16T16:33:34.045078Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "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": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "STATE-WP-0079-T05: founder-authorized retirement 2026-09-22; seven-day gate passed, replacement verified.", + "retired_at": "2026-09-22T09:22:56.716384Z", + "created_at": "2026-06-04T07:40:24.168535Z", + "updated_at": "2026-09-22T09:22:56.710100Z" + }, + "all_time": { + "calls": 811, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 811 + }, + "users": { + "unknown": 811 + }, + "components": { + "unknown": 811 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-08-16T01:03:41.093965Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + }, + { + "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": "retired", + "replacement_verified": true, + "manual_hold": false, + "hold_reason": null, + "notes": "Retired by STATE-WP-0069 closeout", + "retired_at": "2026-08-31T08:55:09.130713Z", + "created_at": "2026-06-04T22:57:37.149207Z", + "updated_at": "2026-08-31T08:55:09.123888Z" + }, + "all_time": { + "calls": 4975, + "tenant_count": 1, + "user_count": 1, + "component_count": 1, + "tenants": { + "unknown": 4975 + }, + "users": { + "unknown": 4975 + }, + "components": { + "unknown": 4975 + } + }, + "window": { + "calls": 0, + "tenant_count": 0, + "user_count": 0, + "component_count": 0, + "tenants": {}, + "users": {}, + "components": {} + }, + "last_seen_at": "2026-07-07T20:31:35.389791Z", + "retirement_candidate": false, + "retirement_reason": "already retired" + } + ], + "retirement_candidates": [] + }, + "days": 7 +} diff --git a/workplans/STATE-WP-0079-retirement-strangler.md b/workplans/STATE-WP-0079-retirement-strangler.md index dcd9ff1..cf0c5c0 100644 --- a/workplans/STATE-WP-0079-retirement-strangler.md +++ b/workplans/STATE-WP-0079-retirement-strangler.md @@ -9,7 +9,7 @@ flavor: refactoring owner: codex topic_slug: infotech created: "2026-08-09" -updated: "2026-09-22" +updated: "2026-09-27" parent_project: prj-state-hub-retirement parent_workplan: SHR-WP-0001 related: @@ -563,17 +563,18 @@ future silence: unresolved task/workstream-detail/SBOM-index attribution is T07. Available pod logs begin after the last calls. Evidence and limits: `docs/evidence/STATE-WP-0079-caller-and-receiver-review-20260905.md`. -**Review 2026-09-22 (now also owns former T07).** The 2026-09-22 capture -(`docs/evidence/legacy-meter-weekly-review-20260922.json`) lists three -retirement candidates: `GET /sbom/` (quiet 10d, needs 7), `PATCH -/workstreams/{workstream_id}` (quiet 36d, needs 30) and `POST /workstreams/` -(quiet 37d, needs 30). Replacements verified the same day: `POST /workplans/` -and `PATCH /workplans/{workplan_id}` in the live OpenAPI (`GET /workplans/` -200); SBOM Nexus `GET /sbom/` returned 200 from the State Hub pod on -railiance01. The founder approved retiring the three. The agent harness blocked the -production meter write, so the founder ran it from an attended shell at -2026-09-22T09:22:56Z. All three are now `retired`, making 11 retired and 4 -legacy in total. Receipt: +**Review 2026-09-22 (now also owns former T07).** The 06:00Z capture +committed in `0fcc477` listed three retirement candidates: `GET /sbom/` +(quiet 10d, needs 7), `PATCH /workstreams/{workstream_id}` (quiet 36d, +needs 30) and `POST /workstreams/` (quiet 37d, needs 30). Replacements +verified the same day: `POST /workplans/` and `PATCH /workplans/{workplan_id}` +in the live OpenAPI (`GET /workplans/` 200); SBOM Nexus `GET /sbom/` returned +200 from the State Hub pod on railiance01. The founder approved retiring the +three. The agent harness blocked the production meter write, so the founder +ran it from an attended shell at 2026-09-22T09:22:56Z. All three are now +`retired`, making 11 retired and 4 legacy in total. The 14:00Z recapture +replaced `docs/evidence/legacy-meter-weekly-review-20260922.json` and shows +those counts with zero candidates. Receipt: `docs/evidence/STATE-WP-0079-legacy-retirement-20260922.json`. Like the 2026-09-05 retirements, this changes the meter record only. The `/workstreams/` POST and PATCH handlers already answer 410, and the @@ -583,6 +584,26 @@ Still held: `GET /tasks/?workstream_id` (live, caller unattributed), and `GET /workstreams/{workstream_id}/dependencies/` (quiet since 2026-08-21 or 2026-09-03, not yet candidates). +**Review 2026-09-27.** Captures +`docs/evidence/legacy-meter-weekly-review-20260923.json`, +`legacy-meter-weekly-review-20260924.json`, +`legacy-meter-weekly-review-20260925.json` and +`legacy-meter-weekly-review-20260927.json`. The series skips local date +2026-09-26; the next file was written at 2026-09-26T22:00Z and named for +2026-09-27. Every capture reports zero retirement candidates. As of the +2026-09-27 file (window ending 2026-09-26T22:00Z) the held reads are: +`GET /workstreams/` quiet 36 of 60 days (last seen 2026-08-21), +`GET /workstreams/{workstream_id}/dependencies/` quiet 36 of 60 (last seen +2026-08-21), `GET /workstreams/{workstream_id}` quiet 22 of 60 (last seen +2026-09-03), and `GET /tasks/?workstream_id` still live (8 calls in the +window, last seen 2026-09-20, component `unknown`). A fifth legacy interface +registered on first use at 2026-09-23T15:30:53Z: +`rest_api:PATCH /messages/{id}/read broadcast-without-reader` +(STATE-WP-0093; replacement `PATCH /messages/{id}/read?reader=`, +verified). One call, component `unknown`, still inside the review window. +The meter reads 11 retired and 5 legacy. T05 stays `wait`. No meter writes +in this review. + ## Stabilization window and archive prep ```task