fix: bound repository collection identity projection
Assistant: codex Assistant-Model: gpt-6-astra Assistant-Session: 01a06ed7-828d-7ca0-a8d4-0c3e5a0c4102
This commit is contained in:
parent
4cef58cd98
commit
3578dc2f32
10 changed files with 3331 additions and 9 deletions
722
docs/evidence/legacy-meter-weekly-review-20260901.json
Normal file
722
docs/evidence/legacy-meter-weekly-review-20260901.json
Normal file
|
|
@ -0,0 +1,722 @@
|
|||
{
|
||||
"captured_at": "2026-09-01T06:00:07.767985+00:00",
|
||||
"api_base": "http://127.0.0.1:8000",
|
||||
"workplan": "STATE-WP-0070",
|
||||
"retired_interfaces": [],
|
||||
"weekly_review": {
|
||||
"generated_at": "2026-09-01T06:00:08.728877Z",
|
||||
"window_start": "2026-08-25T06:00:08.596463Z",
|
||||
"window_end": "2026-09-01T06:00:08.596463Z",
|
||||
"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": "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": 6,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 6
|
||||
},
|
||||
"users": {
|
||||
"unknown": 6
|
||||
},
|
||||
"components": {
|
||||
"unknown": 6
|
||||
}
|
||||
},
|
||||
"window": {
|
||||
"calls": 2,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 2
|
||||
},
|
||||
"users": {
|
||||
"unknown": 2
|
||||
},
|
||||
"components": {
|
||||
"unknown": 2
|
||||
}
|
||||
},
|
||||
"last_seen_at": "2026-08-31T08:18:41.571768Z",
|
||||
"retirement_candidate": false,
|
||||
"retirement_reason": "2 call(s) in review window"
|
||||
},
|
||||
{
|
||||
"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": "legacy",
|
||||
"replacement_verified": true,
|
||||
"manual_hold": false,
|
||||
"hold_reason": null,
|
||||
"notes": null,
|
||||
"retired_at": null,
|
||||
"created_at": "2026-08-22T17:06:41.978426Z",
|
||||
"updated_at": "2026-08-22T17:23:44.794796Z"
|
||||
},
|
||||
"all_time": {
|
||||
"calls": 5,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 5
|
||||
},
|
||||
"users": {
|
||||
"unknown": 5
|
||||
},
|
||||
"components": {
|
||||
"unknown": 5
|
||||
}
|
||||
},
|
||||
"window": {
|
||||
"calls": 1,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 1
|
||||
},
|
||||
"users": {
|
||||
"unknown": 1
|
||||
},
|
||||
"components": {
|
||||
"unknown": 1
|
||||
}
|
||||
},
|
||||
"last_seen_at": "2026-08-28T18:46:10.642164Z",
|
||||
"retirement_candidate": false,
|
||||
"retirement_reason": "1 call(s) in review window"
|
||||
},
|
||||
{
|
||||
"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": "legacy",
|
||||
"replacement_verified": true,
|
||||
"manual_hold": false,
|
||||
"hold_reason": null,
|
||||
"notes": null,
|
||||
"retired_at": null,
|
||||
"created_at": "2026-08-22T17:06:37.057774Z",
|
||||
"updated_at": "2026-08-22T17:22:15.080213Z"
|
||||
},
|
||||
"all_time": {
|
||||
"calls": 7,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 7
|
||||
},
|
||||
"users": {
|
||||
"unknown": 7
|
||||
},
|
||||
"components": {
|
||||
"unknown": 7
|
||||
}
|
||||
},
|
||||
"window": {
|
||||
"calls": 2,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 2
|
||||
},
|
||||
"users": {
|
||||
"unknown": 2
|
||||
},
|
||||
"components": {
|
||||
"unknown": 2
|
||||
}
|
||||
},
|
||||
"last_seen_at": "2026-08-28T18:46:10.694185Z",
|
||||
"retirement_candidate": false,
|
||||
"retirement_reason": "2 call(s) in review window"
|
||||
},
|
||||
{
|
||||
"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=<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": 7,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 7
|
||||
},
|
||||
"users": {
|
||||
"unknown": 7
|
||||
},
|
||||
"components": {
|
||||
"unknown": 7
|
||||
}
|
||||
},
|
||||
"window": {
|
||||
"calls": 7,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 7
|
||||
},
|
||||
"users": {
|
||||
"unknown": 7
|
||||
},
|
||||
"components": {
|
||||
"unknown": 7
|
||||
}
|
||||
},
|
||||
"last_seen_at": "2026-08-31T22:03:49.543354Z",
|
||||
"retirement_candidate": false,
|
||||
"retirement_reason": "7 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 10d 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": 39,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 39
|
||||
},
|
||||
"users": {
|
||||
"unknown": 39
|
||||
},
|
||||
"components": {
|
||||
"unknown": 39
|
||||
}
|
||||
},
|
||||
"window": {
|
||||
"calls": 0,
|
||||
"tenant_count": 0,
|
||||
"user_count": 0,
|
||||
"component_count": 0,
|
||||
"tenants": {},
|
||||
"users": {},
|
||||
"components": {}
|
||||
},
|
||||
"last_seen_at": "2026-07-08T05:20:33.378203Z",
|
||||
"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": 3411470,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 3411470
|
||||
},
|
||||
"users": {
|
||||
"unknown": 3411470
|
||||
},
|
||||
"components": {
|
||||
"unknown": 3411470
|
||||
}
|
||||
},
|
||||
"window": {
|
||||
"calls": 0,
|
||||
"tenant_count": 0,
|
||||
"user_count": 0,
|
||||
"component_count": 0,
|
||||
"tenants": {},
|
||||
"users": {},
|
||||
"components": {}
|
||||
},
|
||||
"last_seen_at": "2026-08-21T13:50:32.103349Z",
|
||||
"retirement_candidate": false,
|
||||
"retirement_reason": "quiet 10d of 60d required for 3411470 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 10d 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": "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": false,
|
||||
"retirement_reason": "quiet 15d of 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": false,
|
||||
"retirement_reason": "quiet 16d of 30d required for 811 all-time call(s)"
|
||||
},
|
||||
{
|
||||
"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
|
||||
}
|
||||
734
docs/evidence/legacy-meter-weekly-review-20260902.json
Normal file
734
docs/evidence/legacy-meter-weekly-review-20260902.json
Normal file
|
|
@ -0,0 +1,734 @@
|
|||
{
|
||||
"captured_at": "2026-09-02T14:00:08.045192+00:00",
|
||||
"api_base": "http://127.0.0.1:8000",
|
||||
"workplan": "STATE-WP-0070",
|
||||
"retired_interfaces": [],
|
||||
"weekly_review": {
|
||||
"generated_at": "2026-09-02T14:00:09.170309Z",
|
||||
"window_start": "2026-08-26T14:00:08.717330Z",
|
||||
"window_end": "2026-09-02T14:00:08.717330Z",
|
||||
"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": "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": 6,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 6
|
||||
},
|
||||
"users": {
|
||||
"unknown": 6
|
||||
},
|
||||
"components": {
|
||||
"unknown": 6
|
||||
}
|
||||
},
|
||||
"window": {
|
||||
"calls": 2,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 2
|
||||
},
|
||||
"users": {
|
||||
"unknown": 2
|
||||
},
|
||||
"components": {
|
||||
"unknown": 2
|
||||
}
|
||||
},
|
||||
"last_seen_at": "2026-08-31T08:18:41.571768Z",
|
||||
"retirement_candidate": false,
|
||||
"retirement_reason": "2 call(s) in review window"
|
||||
},
|
||||
{
|
||||
"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": "legacy",
|
||||
"replacement_verified": true,
|
||||
"manual_hold": false,
|
||||
"hold_reason": null,
|
||||
"notes": null,
|
||||
"retired_at": null,
|
||||
"created_at": "2026-08-22T17:06:41.978426Z",
|
||||
"updated_at": "2026-08-22T17:23:44.794796Z"
|
||||
},
|
||||
"all_time": {
|
||||
"calls": 5,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 5
|
||||
},
|
||||
"users": {
|
||||
"unknown": 5
|
||||
},
|
||||
"components": {
|
||||
"unknown": 5
|
||||
}
|
||||
},
|
||||
"window": {
|
||||
"calls": 1,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 1
|
||||
},
|
||||
"users": {
|
||||
"unknown": 1
|
||||
},
|
||||
"components": {
|
||||
"unknown": 1
|
||||
}
|
||||
},
|
||||
"last_seen_at": "2026-08-28T18:46:10.642164Z",
|
||||
"retirement_candidate": false,
|
||||
"retirement_reason": "1 call(s) in review window"
|
||||
},
|
||||
{
|
||||
"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": "legacy",
|
||||
"replacement_verified": true,
|
||||
"manual_hold": false,
|
||||
"hold_reason": null,
|
||||
"notes": null,
|
||||
"retired_at": null,
|
||||
"created_at": "2026-08-22T17:06:37.057774Z",
|
||||
"updated_at": "2026-08-22T17:22:15.080213Z"
|
||||
},
|
||||
"all_time": {
|
||||
"calls": 7,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 7
|
||||
},
|
||||
"users": {
|
||||
"unknown": 7
|
||||
},
|
||||
"components": {
|
||||
"unknown": 7
|
||||
}
|
||||
},
|
||||
"window": {
|
||||
"calls": 2,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 2
|
||||
},
|
||||
"users": {
|
||||
"unknown": 2
|
||||
},
|
||||
"components": {
|
||||
"unknown": 2
|
||||
}
|
||||
},
|
||||
"last_seen_at": "2026-08-28T18:46:10.694185Z",
|
||||
"retirement_candidate": false,
|
||||
"retirement_reason": "2 call(s) in review window"
|
||||
},
|
||||
{
|
||||
"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=<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": 10,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 10
|
||||
},
|
||||
"users": {
|
||||
"unknown": 10
|
||||
},
|
||||
"components": {
|
||||
"unknown": 10
|
||||
}
|
||||
},
|
||||
"window": {
|
||||
"calls": 10,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 10
|
||||
},
|
||||
"users": {
|
||||
"unknown": 10
|
||||
},
|
||||
"components": {
|
||||
"unknown": 10
|
||||
}
|
||||
},
|
||||
"last_seen_at": "2026-09-01T22:58:15.354257Z",
|
||||
"retirement_candidate": false,
|
||||
"retirement_reason": "10 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 12d 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": 1,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 1
|
||||
},
|
||||
"users": {
|
||||
"unknown": 1
|
||||
},
|
||||
"components": {
|
||||
"unknown": 1
|
||||
}
|
||||
},
|
||||
"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": 3411471,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 3411471
|
||||
},
|
||||
"users": {
|
||||
"unknown": 3411471
|
||||
},
|
||||
"components": {
|
||||
"unknown": 3411471
|
||||
}
|
||||
},
|
||||
"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-01T18:43:07.476120Z",
|
||||
"retirement_candidate": false,
|
||||
"retirement_reason": "1 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": 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 12d 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": "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": false,
|
||||
"retirement_reason": "quiet 16d of 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": false,
|
||||
"retirement_reason": "quiet 17d of 30d required for 811 all-time call(s)"
|
||||
},
|
||||
{
|
||||
"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
|
||||
}
|
||||
734
docs/evidence/legacy-meter-weekly-review-20260903.json
Normal file
734
docs/evidence/legacy-meter-weekly-review-20260903.json
Normal file
|
|
@ -0,0 +1,734 @@
|
|||
{
|
||||
"captured_at": "2026-09-02T22:00:08.180858+00:00",
|
||||
"api_base": "http://127.0.0.1:8000",
|
||||
"workplan": "STATE-WP-0070",
|
||||
"retired_interfaces": [],
|
||||
"weekly_review": {
|
||||
"generated_at": "2026-09-02T22:00:09.989497Z",
|
||||
"window_start": "2026-08-26T22:00:09.857120Z",
|
||||
"window_end": "2026-09-02T22:00:09.857120Z",
|
||||
"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": "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": 6,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 6
|
||||
},
|
||||
"users": {
|
||||
"unknown": 6
|
||||
},
|
||||
"components": {
|
||||
"unknown": 6
|
||||
}
|
||||
},
|
||||
"window": {
|
||||
"calls": 2,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 2
|
||||
},
|
||||
"users": {
|
||||
"unknown": 2
|
||||
},
|
||||
"components": {
|
||||
"unknown": 2
|
||||
}
|
||||
},
|
||||
"last_seen_at": "2026-08-31T08:18:41.571768Z",
|
||||
"retirement_candidate": false,
|
||||
"retirement_reason": "2 call(s) in review window"
|
||||
},
|
||||
{
|
||||
"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": "legacy",
|
||||
"replacement_verified": true,
|
||||
"manual_hold": false,
|
||||
"hold_reason": null,
|
||||
"notes": null,
|
||||
"retired_at": null,
|
||||
"created_at": "2026-08-22T17:06:41.978426Z",
|
||||
"updated_at": "2026-08-22T17:23:44.794796Z"
|
||||
},
|
||||
"all_time": {
|
||||
"calls": 5,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 5
|
||||
},
|
||||
"users": {
|
||||
"unknown": 5
|
||||
},
|
||||
"components": {
|
||||
"unknown": 5
|
||||
}
|
||||
},
|
||||
"window": {
|
||||
"calls": 1,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 1
|
||||
},
|
||||
"users": {
|
||||
"unknown": 1
|
||||
},
|
||||
"components": {
|
||||
"unknown": 1
|
||||
}
|
||||
},
|
||||
"last_seen_at": "2026-08-28T18:46:10.642164Z",
|
||||
"retirement_candidate": false,
|
||||
"retirement_reason": "1 call(s) in review window"
|
||||
},
|
||||
{
|
||||
"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": "legacy",
|
||||
"replacement_verified": true,
|
||||
"manual_hold": false,
|
||||
"hold_reason": null,
|
||||
"notes": null,
|
||||
"retired_at": null,
|
||||
"created_at": "2026-08-22T17:06:37.057774Z",
|
||||
"updated_at": "2026-08-22T17:22:15.080213Z"
|
||||
},
|
||||
"all_time": {
|
||||
"calls": 7,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 7
|
||||
},
|
||||
"users": {
|
||||
"unknown": 7
|
||||
},
|
||||
"components": {
|
||||
"unknown": 7
|
||||
}
|
||||
},
|
||||
"window": {
|
||||
"calls": 2,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 2
|
||||
},
|
||||
"users": {
|
||||
"unknown": 2
|
||||
},
|
||||
"components": {
|
||||
"unknown": 2
|
||||
}
|
||||
},
|
||||
"last_seen_at": "2026-08-28T18:46:10.694185Z",
|
||||
"retirement_candidate": false,
|
||||
"retirement_reason": "2 call(s) in review window"
|
||||
},
|
||||
{
|
||||
"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=<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": 10,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 10
|
||||
},
|
||||
"users": {
|
||||
"unknown": 10
|
||||
},
|
||||
"components": {
|
||||
"unknown": 10
|
||||
}
|
||||
},
|
||||
"window": {
|
||||
"calls": 10,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 10
|
||||
},
|
||||
"users": {
|
||||
"unknown": 10
|
||||
},
|
||||
"components": {
|
||||
"unknown": 10
|
||||
}
|
||||
},
|
||||
"last_seen_at": "2026-09-01T22:58:15.354257Z",
|
||||
"retirement_candidate": false,
|
||||
"retirement_reason": "10 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 12d 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": 1,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 1
|
||||
},
|
||||
"users": {
|
||||
"unknown": 1
|
||||
},
|
||||
"components": {
|
||||
"unknown": 1
|
||||
}
|
||||
},
|
||||
"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": 3411471,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 3411471
|
||||
},
|
||||
"users": {
|
||||
"unknown": 3411471
|
||||
},
|
||||
"components": {
|
||||
"unknown": 3411471
|
||||
}
|
||||
},
|
||||
"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-01T18:43:07.476120Z",
|
||||
"retirement_candidate": false,
|
||||
"retirement_reason": "1 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": 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 12d 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": "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": false,
|
||||
"retirement_reason": "quiet 17d of 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": false,
|
||||
"retirement_reason": "quiet 17d of 30d required for 811 all-time call(s)"
|
||||
},
|
||||
{
|
||||
"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
|
||||
}
|
||||
734
docs/evidence/legacy-meter-weekly-review-20260904.json
Normal file
734
docs/evidence/legacy-meter-weekly-review-20260904.json
Normal file
|
|
@ -0,0 +1,734 @@
|
|||
{
|
||||
"captured_at": "2026-09-04T14:00:09.844360+00:00",
|
||||
"api_base": "http://127.0.0.1:8000",
|
||||
"workplan": "STATE-WP-0070",
|
||||
"retired_interfaces": [],
|
||||
"weekly_review": {
|
||||
"generated_at": "2026-09-04T14:00:12.141508Z",
|
||||
"window_start": "2026-08-28T14:00:10.416532Z",
|
||||
"window_end": "2026-09-04T14:00:10.416532Z",
|
||||
"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": "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": 6,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 6
|
||||
},
|
||||
"users": {
|
||||
"unknown": 6
|
||||
},
|
||||
"components": {
|
||||
"unknown": 6
|
||||
}
|
||||
},
|
||||
"window": {
|
||||
"calls": 2,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 2
|
||||
},
|
||||
"users": {
|
||||
"unknown": 2
|
||||
},
|
||||
"components": {
|
||||
"unknown": 2
|
||||
}
|
||||
},
|
||||
"last_seen_at": "2026-08-31T08:18:41.571768Z",
|
||||
"retirement_candidate": false,
|
||||
"retirement_reason": "2 call(s) in review window"
|
||||
},
|
||||
{
|
||||
"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": "legacy",
|
||||
"replacement_verified": true,
|
||||
"manual_hold": false,
|
||||
"hold_reason": null,
|
||||
"notes": null,
|
||||
"retired_at": null,
|
||||
"created_at": "2026-08-22T17:06:41.978426Z",
|
||||
"updated_at": "2026-08-22T17:23:44.794796Z"
|
||||
},
|
||||
"all_time": {
|
||||
"calls": 5,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 5
|
||||
},
|
||||
"users": {
|
||||
"unknown": 5
|
||||
},
|
||||
"components": {
|
||||
"unknown": 5
|
||||
}
|
||||
},
|
||||
"window": {
|
||||
"calls": 1,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 1
|
||||
},
|
||||
"users": {
|
||||
"unknown": 1
|
||||
},
|
||||
"components": {
|
||||
"unknown": 1
|
||||
}
|
||||
},
|
||||
"last_seen_at": "2026-08-28T18:46:10.642164Z",
|
||||
"retirement_candidate": false,
|
||||
"retirement_reason": "1 call(s) in review window"
|
||||
},
|
||||
{
|
||||
"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": "legacy",
|
||||
"replacement_verified": true,
|
||||
"manual_hold": false,
|
||||
"hold_reason": null,
|
||||
"notes": null,
|
||||
"retired_at": null,
|
||||
"created_at": "2026-08-22T17:06:37.057774Z",
|
||||
"updated_at": "2026-08-22T17:22:15.080213Z"
|
||||
},
|
||||
"all_time": {
|
||||
"calls": 7,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 7
|
||||
},
|
||||
"users": {
|
||||
"unknown": 7
|
||||
},
|
||||
"components": {
|
||||
"unknown": 7
|
||||
}
|
||||
},
|
||||
"window": {
|
||||
"calls": 2,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 2
|
||||
},
|
||||
"users": {
|
||||
"unknown": 2
|
||||
},
|
||||
"components": {
|
||||
"unknown": 2
|
||||
}
|
||||
},
|
||||
"last_seen_at": "2026-08-28T18:46:10.694185Z",
|
||||
"retirement_candidate": false,
|
||||
"retirement_reason": "2 call(s) in review window"
|
||||
},
|
||||
{
|
||||
"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=<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": 10,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 10
|
||||
},
|
||||
"users": {
|
||||
"unknown": 10
|
||||
},
|
||||
"components": {
|
||||
"unknown": 10
|
||||
}
|
||||
},
|
||||
"window": {
|
||||
"calls": 10,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 10
|
||||
},
|
||||
"users": {
|
||||
"unknown": 10
|
||||
},
|
||||
"components": {
|
||||
"unknown": 10
|
||||
}
|
||||
},
|
||||
"last_seen_at": "2026-09-01T22:58:15.354257Z",
|
||||
"retirement_candidate": false,
|
||||
"retirement_reason": "10 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 14d 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": 1,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 1
|
||||
},
|
||||
"users": {
|
||||
"unknown": 1
|
||||
},
|
||||
"components": {
|
||||
"unknown": 1
|
||||
}
|
||||
},
|
||||
"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": 7,
|
||||
"tenant_count": 1,
|
||||
"user_count": 1,
|
||||
"component_count": 1,
|
||||
"tenants": {
|
||||
"unknown": 7
|
||||
},
|
||||
"users": {
|
||||
"unknown": 7
|
||||
},
|
||||
"components": {
|
||||
"unknown": 7
|
||||
}
|
||||
},
|
||||
"last_seen_at": "2026-09-03T22:02:35.348363Z",
|
||||
"retirement_candidate": false,
|
||||
"retirement_reason": "7 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": 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 14d 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": "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": false,
|
||||
"retirement_reason": "quiet 18d of 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": false,
|
||||
"retirement_reason": "quiet 19d of 30d required for 811 all-time call(s)"
|
||||
},
|
||||
{
|
||||
"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
|
||||
}
|
||||
47
docs/evidence/repository-collection-projection-20260905.md
Normal file
47
docs/evidence/repository-collection-projection-20260905.md
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
# Repository collection query bound — 2026-09-05
|
||||
|
||||
STATE-WP-0087 review of the pending patch found a second loading path to bound:
|
||||
`ManagedRepo.domain` could eagerly fetch domain topics/goals, and resolving a
|
||||
filter with a full `Domain` object could load its entire repository graph.
|
||||
The collection now joins only the domain row needed for `domain_slug`, suppresses
|
||||
other relationships, and resolves domain filters with a scalar ID query.
|
||||
Canonical/alias records are fetched together in one registry query.
|
||||
|
||||
## Production-shaped measurement
|
||||
|
||||
Command: `uv run pytest -q -s tests/test_repository_collection_projection.py`
|
||||
|
||||
Real local PostgreSQL (`custodian_test`), FastAPI through HTTPX ASGITransport,
|
||||
with canonical slug records, an alias, and a pre-backfill repository. Measurements
|
||||
cover HTTP handling and serialization, excluding fixture setup. These are single
|
||||
local samples, not deployed-service latency or a percentile benchmark. The
|
||||
regression asserts SQL counts rather than timing thresholds.
|
||||
|
||||
| Repository count | Domain filter | SQL SELECTs | Request seconds |
|
||||
| --- | --- | --- | --- |
|
||||
| 4 | No | 2 | 0.0377 |
|
||||
| 131 | No | 2 | 0.0627 |
|
||||
| 501 | No | 2 | 0.1751 |
|
||||
| 4 | Yes | 3 | 0.0480 |
|
||||
| 131 | Yes | 3 | 0.0642 |
|
||||
| 501 | Yes | 3 | 0.1686 |
|
||||
|
||||
Exactly one SELECT reads `repository_slugs` in each nonempty case. The 501-row
|
||||
case exceeds SQLAlchemy's usual select-in batch size and guards against
|
||||
accidentally restoring eager relationship batching. An empty collection skips
|
||||
the registry query. Tests also compare collection/detail behavior for absent
|
||||
registry entries, missing canonicals, and mismatched canonicals; classification
|
||||
and secondary-domain filters retain their existing behavior.
|
||||
|
||||
This bounds database round trips, not response size: the existing unpaginated
|
||||
list still requires memory and serialization proportional to the fleet size.
|
||||
The optional SBOM owner read remains unchanged. No deployment was performed.
|
||||
|
||||
## Regression validation
|
||||
|
||||
`uv run pytest -q tests/test_repository_collection_projection.py
|
||||
tests/test_routers_core.py tests/test_repository_alias_routing.py
|
||||
tests/test_repository_rename_api.py tests/test_repository_rename_persistence.py
|
||||
tests/test_sbom_nexus_compat.py`
|
||||
|
||||
Result: **102 passed in 129.14s**. `git diff --check` passed.
|
||||
Loading…
Add table
Add a link
Reference in a new issue