docs: advance remaining state hub workplans
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s

Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a053ff-1d6f-7fe2-ac1c-a6eb40a42a0c
This commit is contained in:
tegwick 2026-08-31 12:14:33 +02:00
parent 306a6e0ce8
commit 142c94287e
6 changed files with 241 additions and 337 deletions

View file

@ -55,7 +55,7 @@
| workplan | STATE-WP-0081 | proposed | — | workplans/STATE-WP-0081-cluster-self-sufficiency-and-registrar.md | | workplan | STATE-WP-0081 | proposed | — | workplans/STATE-WP-0081-cluster-self-sufficiency-and-registrar.md |
| workplan | STATE-WP-0082 | finished | — | workplans/STATE-WP-0082-multi-owner-review-contracts-and-receipts.md | | workplan | STATE-WP-0082 | finished | — | workplans/STATE-WP-0082-multi-owner-review-contracts-and-receipts.md |
| workplan | STATE-WP-0083 | finished | — | workplans/STATE-WP-0083-forge-derived-projection-reset.md | | workplan | STATE-WP-0083 | finished | — | workplans/STATE-WP-0083-forge-derived-projection-reset.md |
| workplan | STATE-WP-0084 | active | — | workplans/STATE-WP-0084-forge-read-for-private-repositories.md | | workplan | STATE-WP-0084 | finished | — | workplans/STATE-WP-0084-forge-read-for-private-repositories.md |
| workplan | STATE-WP-0085 | active | — | workplans/STATE-WP-0085-repository-lineage-preserving-rename.md | | workplan | STATE-WP-0085 | active | — | workplans/STATE-WP-0085-repository-lineage-preserving-rename.md |
| workplan | STATE-WP-0086 | finished | — | workplans/STATE-WP-0086-fast-forge-projection-reconcile.md | | workplan | STATE-WP-0086 | finished | — | workplans/STATE-WP-0086-fast-forge-projection-reconcile.md |
| task | STATE-WP-ADHOC-2026-06-04-T01 | done | — | workplans/ADHOC-2026-06-04.md | | task | STATE-WP-ADHOC-2026-06-04-T01 | done | — | workplans/ADHOC-2026-06-04.md |
@ -322,9 +322,9 @@
| task | STATE-WP-0083-T07 | done | — | workplans/STATE-WP-0083-forge-derived-projection-reset.md | | task | STATE-WP-0083-T07 | done | — | workplans/STATE-WP-0083-forge-derived-projection-reset.md |
| task | STATE-WP-0083-T08 | done | — | workplans/STATE-WP-0083-forge-derived-projection-reset.md | | task | STATE-WP-0083-T08 | done | — | workplans/STATE-WP-0083-forge-derived-projection-reset.md |
| task | STATE-WP-0084-T01 | done | — | workplans/STATE-WP-0084-forge-read-for-private-repositories.md | | task | STATE-WP-0084-T01 | done | — | workplans/STATE-WP-0084-forge-read-for-private-repositories.md |
| task | STATE-WP-0084-T02 | progress | — | workplans/STATE-WP-0084-forge-read-for-private-repositories.md | | task | STATE-WP-0084-T02 | done | — | workplans/STATE-WP-0084-forge-read-for-private-repositories.md |
| task | STATE-WP-0084-T03 | progress | — | workplans/STATE-WP-0084-forge-read-for-private-repositories.md | | task | STATE-WP-0084-T03 | done | — | workplans/STATE-WP-0084-forge-read-for-private-repositories.md |
| task | STATE-WP-0084-T04 | wait | — | workplans/STATE-WP-0084-forge-read-for-private-repositories.md | | task | STATE-WP-0084-T04 | done | — | workplans/STATE-WP-0084-forge-read-for-private-repositories.md |
| task | STATE-WP-0085-T01 | done | — | workplans/STATE-WP-0085-repository-lineage-preserving-rename.md | | task | STATE-WP-0085-T01 | done | — | workplans/STATE-WP-0085-repository-lineage-preserving-rename.md |
| task | STATE-WP-0085-T02 | done | — | workplans/STATE-WP-0085-repository-lineage-preserving-rename.md | | task | STATE-WP-0085-T02 | done | — | workplans/STATE-WP-0085-repository-lineage-preserving-rename.md |
| task | STATE-WP-0085-T03 | done | — | workplans/STATE-WP-0085-repository-lineage-preserving-rename.md | | task | STATE-WP-0085-T03 | done | — | workplans/STATE-WP-0085-repository-lineage-preserving-rename.md |
@ -333,7 +333,7 @@
| task | STATE-WP-0085-T06 | done | — | workplans/STATE-WP-0085-repository-lineage-preserving-rename.md | | task | STATE-WP-0085-T06 | done | — | workplans/STATE-WP-0085-repository-lineage-preserving-rename.md |
| task | STATE-WP-0085-T07 | done | — | workplans/STATE-WP-0085-repository-lineage-preserving-rename.md | | task | STATE-WP-0085-T07 | done | — | workplans/STATE-WP-0085-repository-lineage-preserving-rename.md |
| task | STATE-WP-0085-T08 | done | — | workplans/STATE-WP-0085-repository-lineage-preserving-rename.md | | task | STATE-WP-0085-T08 | done | — | workplans/STATE-WP-0085-repository-lineage-preserving-rename.md |
| task | STATE-WP-0085-T09 | progress | — | workplans/STATE-WP-0085-repository-lineage-preserving-rename.md | | task | STATE-WP-0085-T09 | wait | — | workplans/STATE-WP-0085-repository-lineage-preserving-rename.md |
| task | STATE-WP-0086-T01 | done | — | workplans/STATE-WP-0086-fast-forge-projection-reconcile.md | | task | STATE-WP-0086-T01 | done | — | workplans/STATE-WP-0086-fast-forge-projection-reconcile.md |
| task | STATE-WP-0086-T02 | done | — | workplans/STATE-WP-0086-fast-forge-projection-reconcile.md | | task | STATE-WP-0086-T02 | done | — | workplans/STATE-WP-0086-fast-forge-projection-reconcile.md |
| task | STATE-WP-0086-T03 | done | — | workplans/STATE-WP-0086-fast-forge-projection-reconcile.md | | task | STATE-WP-0086-T03 | done | — | workplans/STATE-WP-0086-fast-forge-projection-reconcile.md |

View file

@ -0,0 +1,34 @@
# STATE-WP-0084 private Forge derivation cutover evidence
Date: 2026-08-31
The `railliance01` State Hub deployment is healthy on image
`main-a32112e`. Helm has `forgeRead.enabled: true`; the pod uses ServiceAccount
`state-hub`, a projected OpenBao Kubernetes token, and coordinate-only runtime
configuration. A non-secret in-pod check returned `available` from
`forge_read_token()`.
A transaction-rolled-back review derived all nine `rapp-*` repositories from
Forgejo before any projection write. It returned seven ordinary update sets and
two no-ops, with zero creations, retirements, refusals, or errors. The reviewed
commits were:
| Repository | Forge commit | Review result |
| --- | --- | --- |
| `rapp-core-hub` | `b322bf1531650a09a9ef0669d3c63091532ab078` | update |
| `rapp-issue-core` | `a78f38cfd8afb29ed23d150a4ea3e3dcd1f35381` | update |
| `rapp-openbao` | `89bc86b8aff549953ec744395ca47578aaac7591` | update |
| `rapp-policy-nexus` | `41c42e8d1a653af666da2e5e7e008a27464d9b87` | update |
| `rapp-postgres` | `2b7fe861f984f8539ca63ede662fe5719ace895a` | update |
| `rapp-qonto` | `240c462b9412a3932cc27dbbc13933378f4af07e` | update |
| `rapp-sbom-nexus` | `1566bcf69fc0757db5efc67f78b14af10d944c1b` | no-op |
| `rapp-tenant-engine` | `70a6dc3113b4da070690bf6e7a21c2bac67e2004` | no-op |
| `rapp-user-engine` | `608690d80d63cc373af17d387af29adec8a53c7b` | update |
Each commit was then reconciled through the guarded primary-only
`POST /repos/{slug}/work-record-projection/reconcile` API with
`acknowledge_retirements: false`. A second rolled-back review returned
`noop: 9`, with zero errors and every change count at zero.
No token value, credential-bearing URL, or private preflight artifact was
printed or stored in this evidence.

View file

@ -1,12 +1,109 @@
{ {
"captured_at": "2026-08-30T22:00:05.364069+00:00", "captured_at": "2026-08-31T08:55:08.691404+00:00",
"api_base": "http://127.0.0.1:8000", "api_base": "http://127.0.0.1:8000",
"workplan": "STATE-WP-0070", "workplan": "STATE-WP-0070",
"retired_interfaces": [], "retired_interfaces": [
{
"id": "8051fb40-66c9-4dc4-a413-13e8573e04a3",
"interface_key": "event_subject:org.statehub.workstream.completed",
"interface_kind": "event_subject",
"legacy_since": "2026-06-04T06:09:42.198193Z",
"replacement_ref": "org.statehub.workplan.completed",
"owner_component": "state-hub.events",
"status": "retired",
"replacement_verified": true,
"manual_hold": false,
"hold_reason": null,
"notes": "Retired by STATE-WP-0069 closeout",
"retired_at": "2026-08-31T08:55:06.871333Z",
"created_at": "2026-06-04T06:09:42.198193Z",
"updated_at": "2026-08-31T08:55:06.756087Z"
},
{
"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"
},
{
"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"
},
{
"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"
},
{
"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"
},
{
"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"
}
],
"weekly_review": { "weekly_review": {
"generated_at": "2026-08-30T22:00:09.083767Z", "generated_at": "2026-08-31T08:55:09.323212Z",
"window_start": "2026-08-23T22:00:08.898813Z", "window_start": "2026-08-24T08:55:09.243515Z",
"window_end": "2026-08-30T22:00:08.898813Z", "window_end": "2026-08-31T08:55:09.243515Z",
"cadence": "weekly", "cadence": "weekly",
"activity_core_handoff": { "activity_core_handoff": {
"activity_id": "statehub-legacy-interface-review", "activity_id": "statehub-legacy-interface-review",
@ -24,14 +121,14 @@
"legacy_since": "2026-06-04T06:09:42.198193Z", "legacy_since": "2026-06-04T06:09:42.198193Z",
"replacement_ref": "org.statehub.workplan.completed", "replacement_ref": "org.statehub.workplan.completed",
"owner_component": "state-hub.events", "owner_component": "state-hub.events",
"status": "legacy", "status": "retired",
"replacement_verified": true, "replacement_verified": true,
"manual_hold": false, "manual_hold": false,
"hold_reason": null, "hold_reason": null,
"notes": null, "notes": "Retired by STATE-WP-0069 closeout",
"retired_at": null, "retired_at": "2026-08-31T08:55:06.871333Z",
"created_at": "2026-06-04T06:09:42.198193Z", "created_at": "2026-06-04T06:09:42.198193Z",
"updated_at": "2026-06-04T06:09:42.198193Z" "updated_at": "2026-08-31T08:55:06.756087Z"
}, },
"all_time": { "all_time": {
"calls": 247, "calls": 247,
@ -58,8 +155,8 @@
"components": {} "components": {}
}, },
"last_seen_at": "2026-07-13T13:22:00.748140Z", "last_seen_at": "2026-07-13T13:22:00.748140Z",
"retirement_candidate": true, "retirement_candidate": false,
"retirement_reason": "no usage in review window; quiet 48d (>= 30d required for 247 all-time call(s))" "retirement_reason": "already retired"
}, },
{ {
"interface": { "interface": {
@ -69,14 +166,14 @@
"legacy_since": "2026-06-06T17:28:13.052813Z", "legacy_since": "2026-06-06T17:28:13.052813Z",
"replacement_ref": "/workplans/{workplan_id}", "replacement_ref": "/workplans/{workplan_id}",
"owner_component": "state-hub.api", "owner_component": "state-hub.api",
"status": "legacy", "status": "retired",
"replacement_verified": true, "replacement_verified": true,
"manual_hold": false, "manual_hold": false,
"hold_reason": null, "hold_reason": null,
"notes": null, "notes": "Retired by STATE-WP-0069 closeout",
"retired_at": null, "retired_at": "2026-08-31T08:55:08.200322Z",
"created_at": "2026-06-06T17:28:13.052813Z", "created_at": "2026-06-06T17:28:13.052813Z",
"updated_at": "2026-06-06T17:28:13.052813Z" "updated_at": "2026-08-31T08:55:08.089714Z"
}, },
"all_time": { "all_time": {
"calls": 1, "calls": 1,
@ -103,8 +200,8 @@
"components": {} "components": {}
}, },
"last_seen_at": "2026-06-06T17:28:13.047529Z", "last_seen_at": "2026-06-06T17:28:13.047529Z",
"retirement_candidate": true, "retirement_candidate": false,
"retirement_reason": "no usage in review window; quiet 85d (>= 7d required for 1 all-time call(s))" "retirement_reason": "already retired"
}, },
{ {
"interface": { "interface": {
@ -124,38 +221,38 @@
"updated_at": "2026-08-22T17:23:43.730661Z" "updated_at": "2026-08-22T17:23:43.730661Z"
}, },
"all_time": { "all_time": {
"calls": 5, "calls": 6,
"tenant_count": 1, "tenant_count": 1,
"user_count": 1, "user_count": 1,
"component_count": 1, "component_count": 1,
"tenants": { "tenants": {
"unknown": 5 "unknown": 6
}, },
"users": { "users": {
"unknown": 5 "unknown": 6
}, },
"components": { "components": {
"unknown": 5 "unknown": 6
} }
}, },
"window": { "window": {
"calls": 1, "calls": 2,
"tenant_count": 1, "tenant_count": 1,
"user_count": 1, "user_count": 1,
"component_count": 1, "component_count": 1,
"tenants": { "tenants": {
"unknown": 1 "unknown": 2
}, },
"users": { "users": {
"unknown": 1 "unknown": 2
}, },
"components": { "components": {
"unknown": 1 "unknown": 2
} }
}, },
"last_seen_at": "2026-08-28T18:46:10.645377Z", "last_seen_at": "2026-08-31T08:18:41.571768Z",
"retirement_candidate": false, "retirement_candidate": false,
"retirement_reason": "1 call(s) in review window" "retirement_reason": "2 call(s) in review window"
}, },
{ {
"interface": { "interface": {
@ -267,14 +364,14 @@
"legacy_since": "2026-08-22T17:23:45.969876Z", "legacy_since": "2026-08-22T17:23:45.969876Z",
"replacement_ref": "sbom-nexus:/sbom/", "replacement_ref": "sbom-nexus:/sbom/",
"owner_component": "state-hub.sbom-compat", "owner_component": "state-hub.sbom-compat",
"status": "legacy", "status": "retired",
"replacement_verified": true, "replacement_verified": true,
"manual_hold": false, "manual_hold": false,
"hold_reason": null, "hold_reason": null,
"notes": null, "notes": "Retired by STATE-WP-0069 closeout",
"retired_at": null, "retired_at": "2026-08-31T08:55:08.470106Z",
"created_at": "2026-08-22T17:23:45.969876Z", "created_at": "2026-08-22T17:23:45.969876Z",
"updated_at": "2026-08-22T17:23:45.969876Z" "updated_at": "2026-08-31T08:55:08.456139Z"
}, },
"all_time": { "all_time": {
"calls": 1, "calls": 1,
@ -301,8 +398,8 @@
"components": {} "components": {}
}, },
"last_seen_at": "2026-08-22T17:23:45.967492Z", "last_seen_at": "2026-08-22T17:23:45.967492Z",
"retirement_candidate": true, "retirement_candidate": false,
"retirement_reason": "no usage in review window; quiet 8d (>= 7d required for 1 all-time call(s))" "retirement_reason": "already retired"
}, },
{ {
"interface": { "interface": {
@ -312,14 +409,14 @@
"legacy_since": "2026-08-22T17:23:45.089542Z", "legacy_since": "2026-08-22T17:23:45.089542Z",
"replacement_ref": "sbom-nexus:/sbom/", "replacement_ref": "sbom-nexus:/sbom/",
"owner_component": "state-hub.sbom-compat", "owner_component": "state-hub.sbom-compat",
"status": "legacy", "status": "retired",
"replacement_verified": true, "replacement_verified": true,
"manual_hold": false, "manual_hold": false,
"hold_reason": null, "hold_reason": null,
"notes": null, "notes": "Retired by STATE-WP-0069 closeout",
"retired_at": null, "retired_at": "2026-08-31T08:55:08.754914Z",
"created_at": "2026-08-22T17:23:45.089542Z", "created_at": "2026-08-22T17:23:45.089542Z",
"updated_at": "2026-08-22T17:23:45.089542Z" "updated_at": "2026-08-31T08:55:08.750826Z"
}, },
"all_time": { "all_time": {
"calls": 1, "calls": 1,
@ -346,8 +443,8 @@
"components": {} "components": {}
}, },
"last_seen_at": "2026-08-22T17:23:45.670511Z", "last_seen_at": "2026-08-22T17:23:45.670511Z",
"retirement_candidate": true, "retirement_candidate": false,
"retirement_reason": "no usage in review window; quiet 8d (>= 7d required for 1 all-time call(s))" "retirement_reason": "already retired"
}, },
{ {
"interface": { "interface": {
@ -453,14 +550,14 @@
"legacy_since": "2026-06-04T05:20:58.321869Z", "legacy_since": "2026-06-04T05:20:58.321869Z",
"replacement_ref": "/workplans/index", "replacement_ref": "/workplans/index",
"owner_component": "state-hub.api", "owner_component": "state-hub.api",
"status": "legacy", "status": "retired",
"replacement_verified": true, "replacement_verified": true,
"manual_hold": false, "manual_hold": false,
"hold_reason": null, "hold_reason": null,
"notes": null, "notes": "Retired by STATE-WP-0069 closeout",
"retired_at": null, "retired_at": "2026-08-31T08:55:08.939572Z",
"created_at": "2026-06-04T05:20:58.321869Z", "created_at": "2026-06-04T05:20:58.321869Z",
"updated_at": "2026-06-04T05:20:58.321869Z" "updated_at": "2026-08-31T08:55:08.933482Z"
}, },
"all_time": { "all_time": {
"calls": 39, "calls": 39,
@ -487,8 +584,8 @@
"components": {} "components": {}
}, },
"last_seen_at": "2026-07-08T05:20:33.378203Z", "last_seen_at": "2026-07-08T05:20:33.378203Z",
"retirement_candidate": true, "retirement_candidate": false,
"retirement_reason": "no usage in review window; quiet 53d (>= 7d required for 39 all-time call(s))" "retirement_reason": "already retired"
}, },
{ {
"interface": { "interface": {
@ -668,7 +765,7 @@
}, },
"last_seen_at": "2026-08-16T01:03:41.093965Z", "last_seen_at": "2026-08-16T01:03:41.093965Z",
"retirement_candidate": false, "retirement_candidate": false,
"retirement_reason": "quiet 14d of 30d required for 811 all-time call(s)" "retirement_reason": "quiet 15d of 30d required for 811 all-time call(s)"
}, },
{ {
"interface": { "interface": {
@ -678,14 +775,14 @@
"legacy_since": "2026-06-04T22:57:37.149207Z", "legacy_since": "2026-06-04T22:57:37.149207Z",
"replacement_ref": "/workplans/{workplan_id}/dependencies/", "replacement_ref": "/workplans/{workplan_id}/dependencies/",
"owner_component": "state-hub.api", "owner_component": "state-hub.api",
"status": "legacy", "status": "retired",
"replacement_verified": true, "replacement_verified": true,
"manual_hold": false, "manual_hold": false,
"hold_reason": null, "hold_reason": null,
"notes": null, "notes": "Retired by STATE-WP-0069 closeout",
"retired_at": null, "retired_at": "2026-08-31T08:55:09.130713Z",
"created_at": "2026-06-04T22:57:37.149207Z", "created_at": "2026-06-04T22:57:37.149207Z",
"updated_at": "2026-06-04T22:57:37.149207Z" "updated_at": "2026-08-31T08:55:09.123888Z"
}, },
"all_time": { "all_time": {
"calls": 4975, "calls": 4975,
@ -712,282 +809,11 @@
"components": {} "components": {}
}, },
"last_seen_at": "2026-07-07T20:31:35.389791Z", "last_seen_at": "2026-07-07T20:31:35.389791Z",
"retirement_candidate": true, "retirement_candidate": false,
"retirement_reason": "no usage in review window; quiet 54d (>= 30d required for 4975 all-time call(s))" "retirement_reason": "already retired"
} }
], ],
"retirement_candidates": [ "retirement_candidates": []
{
"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": "legacy",
"replacement_verified": true,
"manual_hold": false,
"hold_reason": null,
"notes": null,
"retired_at": null,
"created_at": "2026-06-04T06:09:42.198193Z",
"updated_at": "2026-06-04T06:09:42.198193Z"
},
"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": true,
"retirement_reason": "no usage in review window; quiet 48d (>= 30d required for 247 all-time call(s))"
},
{
"interface": {
"id": "cd9342fd-27e7-4a46-a1be-d41499e106a3",
"interface_key": "rest_api:DELETE /workstreams/{workstream_id}",
"interface_kind": "rest_api",
"legacy_since": "2026-06-06T17:28:13.052813Z",
"replacement_ref": "/workplans/{workplan_id}",
"owner_component": "state-hub.api",
"status": "legacy",
"replacement_verified": true,
"manual_hold": false,
"hold_reason": null,
"notes": null,
"retired_at": null,
"created_at": "2026-06-06T17:28:13.052813Z",
"updated_at": "2026-06-06T17:28:13.052813Z"
},
"all_time": {
"calls": 1,
"tenant_count": 1,
"user_count": 1,
"component_count": 1,
"tenants": {
"unknown": 1
},
"users": {
"unknown": 1
},
"components": {
"unknown": 1
}
},
"window": {
"calls": 0,
"tenant_count": 0,
"user_count": 0,
"component_count": 0,
"tenants": {},
"users": {},
"components": {}
},
"last_seen_at": "2026-06-06T17:28:13.047529Z",
"retirement_candidate": true,
"retirement_reason": "no usage in review window; quiet 85d (>= 7d required for 1 all-time call(s))"
},
{
"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": "legacy",
"replacement_verified": true,
"manual_hold": false,
"hold_reason": null,
"notes": null,
"retired_at": null,
"created_at": "2026-08-22T17:23:45.969876Z",
"updated_at": "2026-08-22T17:23:45.969876Z"
},
"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": true,
"retirement_reason": "no usage in review window; quiet 8d (>= 7d required for 1 all-time call(s))"
},
{
"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": "legacy",
"replacement_verified": true,
"manual_hold": false,
"hold_reason": null,
"notes": null,
"retired_at": null,
"created_at": "2026-08-22T17:23:45.089542Z",
"updated_at": "2026-08-22T17:23:45.089542Z"
},
"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": true,
"retirement_reason": "no usage in review window; quiet 8d (>= 7d required for 1 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": "legacy",
"replacement_verified": true,
"manual_hold": false,
"hold_reason": null,
"notes": null,
"retired_at": null,
"created_at": "2026-06-04T05:20:58.321869Z",
"updated_at": "2026-06-04T05:20:58.321869Z"
},
"all_time": {
"calls": 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": true,
"retirement_reason": "no usage in review window; quiet 53d (>= 7d required for 39 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": "legacy",
"replacement_verified": true,
"manual_hold": false,
"hold_reason": null,
"notes": null,
"retired_at": null,
"created_at": "2026-06-04T22:57:37.149207Z",
"updated_at": "2026-06-04T22:57:37.149207Z"
},
"all_time": {
"calls": 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": true,
"retirement_reason": "no usage in review window; quiet 54d (>= 30d required for 4975 all-time call(s))"
}
]
}, },
"days": 7 "days": 7
} }

View file

@ -8,7 +8,7 @@ status: active
owner: codex owner: codex
topic_slug: infotech topic_slug: infotech
created: "2026-08-09" created: "2026-08-09"
updated: "2026-08-23" updated: "2026-08-31"
parent_project: prj-state-hub-retirement parent_project: prj-state-hub-retirement
parent_workplan: SHR-WP-0001 parent_workplan: SHR-WP-0001
related: related:
@ -448,6 +448,19 @@ workplans restored from `launching/immediate` to `manual/manual`.
Focused execution coverage passes (`4 passed`); the combined full regression Focused execution coverage passes (`4 passed`); the combined full regression
and dashboard build remains green (`650 passed`). and dashboard build remains green (`650 passed`).
**Central meter review 2026-08-31.** The corrected seven-day review found six
replacement-verified interfaces past their volume-scaled quiet period. They
were marked retired on the sole `railliance01` primary: the old workstream
completion event subject, `DELETE /workstreams/{id}`, two low-volume SBOM
compatibility reads, `GET /workstreams/workplan-index`, and
`POST /workstreams/{id}/dependencies/`. The recapture now reports 6 retired,
9 legacy, and zero currently eligible candidates. The remaining nine include
live SBOM callers, live `GET /tasks/?workstream_id`, the three high-volume
workstream reads still inside their 60-day quiet window, and two workstream
mutations still inside 30 days. Evidence:
`docs/evidence/legacy-meter-weekly-review-20260831.json`. T05 remains
`progress`; T06 must not start.
## Stabilization window and archive prep ## Stabilization window and archive prep
```task ```task

View file

@ -4,11 +4,17 @@ type: workplan
title: "Derive private repositories, and report unreadable as unreadable" title: "Derive private repositories, and report unreadable as unreadable"
domain: infotech domain: infotech
repo: state-hub repo: state-hub
status: active status: finished
owner: codex owner: codex
topic_slug: infotech topic_slug: infotech
created: "2026-08-26" created: "2026-08-26"
updated: "2026-08-26" updated: "2026-08-31"
quality_dod: DoD-Ok
quality_dod_at: "2026-08-31"
quality_dod_by: codex
quality_dod_note: >-
Credential delivery, safe consumer behavior, nine-repository reviewed apply,
and nine-noop repeat verification are evidenced without storing a secret.
related: related:
- CUST-ADR-012 - CUST-ADR-012
- STATE-WP-0083 - STATE-WP-0083
@ -112,7 +118,7 @@ covered by tests that fail if the retirement path is reachable from either.
```task ```task
id: STATE-WP-0084-T02 id: STATE-WP-0084-T02
status: progress status: done
priority: medium priority: medium
state_hub_task_id: "d8d41a89-1ebc-5118-bb73-cf8d8c114e16" state_hub_task_id: "d8d41a89-1ebc-5118-bb73-cf8d8c114e16"
``` ```
@ -155,11 +161,18 @@ path (`paste_once_provision`, outside both repositories), and a deploy with
`forgeRead.enabled=true` plus the real address and path in `forgeRead.enabled=true` plus the real address and path in
`deploy/railiance/apps/helm/state-hub-values.yaml`. `deploy/railiance/apps/helm/state-hub-values.yaml`.
**Done 2026-08-31.** The live `railliance01` release has
`forgeRead.enabled: true`; the API pod runs as ServiceAccount `state-hub` with
the projected OpenBao token and coordinate-only configuration. A non-secret
in-pod resolution check returned `available`. The Forge token remains outside
Git and is re-read through the five-minute cache, so rotation needs no chart
change or pod redeploy.
## Teach the derivation to use it ## Teach the derivation to use it
```task ```task
id: STATE-WP-0084-T03 id: STATE-WP-0084-T03
status: progress status: done
priority: medium priority: medium
state_hub_task_id: "b22b24d9-7ed3-533c-bda7-3130693cf4d2" state_hub_task_id: "b22b24d9-7ed3-533c-bda7-3130693cf4d2"
``` ```
@ -215,11 +228,16 @@ are silent when wrong: token-in-argv and token-in-exception. 43 pass in
Remains `progress` because the acceptance clause "private repositories derive" Remains `progress` because the acceptance clause "private repositories derive"
cannot be observed until T02 supplies a credential; T04 confirms it. cannot be observed until T02 supplies a credential; T04 confirms it.
**Done 2026-08-31.** A transaction-rolled-back review successfully derived all
nine private `rapp-*` repositories at exact Forge commits. No repository was
unreadable or errored, and no retirement was proposed. The anonymous/public
path remains covered by the existing absent-credential tests.
## Confirm the nine ## Confirm the nine
```task ```task
id: STATE-WP-0084-T04 id: STATE-WP-0084-T04
status: wait status: done
priority: medium priority: medium
state_hub_task_id: "33c09a78-5974-57c6-bb7f-ad73082046bb" state_hub_task_id: "33c09a78-5974-57c6-bb7f-ad73082046bb"
``` ```
@ -235,3 +253,9 @@ repository examined this way for the first time has produced findings.
Acceptance: fleet errors fall from nine to zero; each newly readable repository Acceptance: fleet errors fall from nine to zero; each newly readable repository
has its first diff reviewed before anything is applied. has its first diff reviewed before anything is applied.
**Done 2026-08-31.** The first review returned seven bounded source/status
updates and two no-ops, with zero creations, retirements, refusals, or errors.
Those exact commits were applied through the guarded per-repository API with
retirement disabled. The repeated review returned nine no-ops and zero errors.
Evidence: `docs/evidence/STATE-WP-0084-private-forge-cutover-2026-08-31.md`.

View file

@ -8,7 +8,7 @@ status: active
owner: codex owner: codex
topic_slug: infotech topic_slug: infotech
created: "2026-08-28" created: "2026-08-28"
updated: "2026-08-29" updated: "2026-08-31"
reviewed_at: "2026-08-28" reviewed_at: "2026-08-28"
reviewed_by: codex reviewed_by: codex
reviewed_against_commit: "41d80429a77ffeb640f4b34091ebee5c91585373" reviewed_against_commit: "41d80429a77ffeb640f4b34091ebee5c91585373"
@ -565,7 +565,7 @@ one existing async cancellation warning remain outside T08.
```task ```task
id: STATE-WP-0085-T09 id: STATE-WP-0085-T09
status: progress status: wait
priority: high priority: high
state_hub_task_id: "df34f6ec-d137-52d0-93c4-3756a821097f" state_hub_task_id: "df34f6ec-d137-52d0-93c4-3756a821097f"
``` ```
@ -611,6 +611,13 @@ reports `preflight_signing_unavailable`; provisioning was handed to
Forgejo rename, State Hub rebind, clone removal, consumer edit, or runtime Forgejo rename, State Hub rebind, clone removal, consumer edit, or runtime
deployment was performed. deployment was performed.
**Gate rechecked 2026-08-31.** `FLEX-WP-0020` remains clean, pushed,
registered, `proposed`, and DoR-Ok. The deployed State Hub still has no
repository-rename preflight signing configuration, and platform handoff
`cd52ba10-de41-46ce-aa8b-9b44050da8f7` remains unread. This is an external
provisioning gate, so the task is `wait`, not active implementation. No rename
or consumer mutation was performed.
## Workplan completion ## Workplan completion
`STATE-WP-0085` can finish only when T01-T08 are complete, T09 has produced the `STATE-WP-0085` can finish only when T01-T08 are complete, T09 has produced the