diff --git a/WORK-RECORDS.md b/WORK-RECORDS.md index 18f872c..54097d0 100644 --- a/WORK-RECORDS.md +++ b/WORK-RECORDS.md @@ -379,4 +379,4 @@ | task | STATE-WP-0094-T02 | done | — | workplans/STATE-WP-0094-routed-gates-and-owner-returns.md | | task | STATE-WP-0094-T03 | todo | — | workplans/STATE-WP-0094-routed-gates-and-owner-returns.md | | task | STATE-WP-0094-T04 | done | — | workplans/STATE-WP-0094-routed-gates-and-owner-returns.md | -| task | STATE-WP-0094-T05 | todo | — | workplans/STATE-WP-0094-routed-gates-and-owner-returns.md | +| task | STATE-WP-0094-T05 | progress | — | workplans/STATE-WP-0094-routed-gates-and-owner-returns.md | diff --git a/deploy/railiance/apps/charts/state-hub/Chart.yaml b/deploy/railiance/apps/charts/state-hub/Chart.yaml index 73c1bd9..d44f611 100644 --- a/deploy/railiance/apps/charts/state-hub/Chart.yaml +++ b/deploy/railiance/apps/charts/state-hub/Chart.yaml @@ -3,4 +3,4 @@ name: state-hub description: State Hub API service for private Railiance operation type: application version: 0.1.0 -appVersion: "main-b451bd1" +appVersion: "main-3791e60" diff --git a/docs/evidence/2026-10-04-receiving-rollout.json b/docs/evidence/2026-10-04-receiving-rollout.json new file mode 100644 index 0000000..13b3768 --- /dev/null +++ b/docs/evidence/2026-10-04-receiving-rollout.json @@ -0,0 +1,217 @@ +{ + "proposal_ref": "the-custodian/docs/changes/state-hub-qualifier-rollout-2026-10-04.json", + "source_commit": "3791e608bafa785811ee77c1067501798d13675b", + "image": "forgejo.coulomb.social/coulomb/state-hub:main-3791e60", + "image_digest": "sha256:d8deca8bb5c9010c01e501a63304b78aed81e0e4e19b943191d2bd067e72cbe7", + "helm_revision": 71, + "helm_status": "deployed", + "api_ready": "1/1", + "mcp_ready": "1/1", + "schema": "a0b1c2d3e4f5", + "receiving_source_sha256": "d935fc6c9cb34c5d340ac09f02c929c4244a5fb2b2cf44796972083e98c98516", + "memo_tests": { + "passed": 20, + "elapsed_seconds": 10.07 + }, + "headroom": { + "remaining_cpu_m": 555, + "api_surge_cpu_m": 250, + "mcp_surge_cpu_m": 10, + "migrate_cpu_m": 50, + "pending_unrelated_cpu_m": 0 + }, + "server_dry_run": "passed", + "rollback": "helm rollback state-hub 70 --wait --timeout 3m; retain additive schema/data", + "receiving": { + "state-hub": { + "schema": "state-hub.repository-projection-reconcile.v1", + "instance_role": "primary", + "instance_label": "railiance01", + "expected_commit": "3791e608bafa785811ee77c1067501798d13675b", + "derived_commit": "3791e608bafa785811ee77c1067501798d13675b", + "outcome": { + "schema": "state-hub.projection-reset.v1", + "repo_slug": "state-hub", + "commit": "3791e608bafa785811ee77c1067501798d13675b", + "status": "applied", + "counts": { + "created": 0, + "updated": 1, + "retired": 0, + "refused": 0, + "released": 0, + "created_tasks": 0, + "updated_tasks": 1, + "cancelled_tasks": 0 + }, + "created": [], + "updated": [ + "STATE-WP-0094" + ], + "retired": [], + "released": [], + "created_tasks": [], + "updated_tasks": [ + "STATE-WP-0079-T06" + ], + "cancelled_tasks": [], + "refused": [], + "notes": [] + } + }, + "ops-warden": { + "schema": "state-hub.repository-projection-reconcile.v1", + "instance_role": "primary", + "instance_label": "railiance01", + "expected_commit": "a3555498ddf08c1758d74358c54937b9d758227d", + "derived_commit": "a3555498ddf08c1758d74358c54937b9d758227d", + "outcome": { + "schema": "state-hub.projection-reset.v1", + "repo_slug": "ops-warden", + "commit": "a3555498ddf08c1758d74358c54937b9d758227d", + "status": "applied", + "counts": { + "created": 0, + "updated": 0, + "retired": 0, + "refused": 0, + "released": 0, + "created_tasks": 0, + "updated_tasks": 3, + "cancelled_tasks": 0 + }, + "created": [], + "updated": [], + "retired": [], + "released": [], + "created_tasks": [], + "updated_tasks": [ + "WARDEN-WP-0027-T02", + "WARDEN-WP-0039-T03", + "WARDEN-WP-0041-T03" + ], + "cancelled_tasks": [], + "refused": [], + "notes": [] + } + } + }, + "independent_noop": { + "state-hub": { + "schema": "state-hub.repository-projection-reconcile.v1", + "instance_role": "primary", + "instance_label": "railiance01", + "expected_commit": "3791e608bafa785811ee77c1067501798d13675b", + "derived_commit": "3791e608bafa785811ee77c1067501798d13675b", + "outcome": { + "schema": "state-hub.projection-reset.v1", + "repo_slug": "state-hub", + "commit": "3791e608bafa785811ee77c1067501798d13675b", + "status": "noop", + "counts": { + "created": 0, + "updated": 0, + "retired": 0, + "refused": 0, + "released": 0, + "created_tasks": 0, + "updated_tasks": 0, + "cancelled_tasks": 0 + }, + "created": [], + "updated": [], + "retired": [], + "released": [], + "created_tasks": [], + "updated_tasks": [], + "cancelled_tasks": [], + "refused": [], + "notes": [] + } + }, + "ops-warden": { + "schema": "state-hub.repository-projection-reconcile.v1", + "instance_role": "primary", + "instance_label": "railiance01", + "expected_commit": "a3555498ddf08c1758d74358c54937b9d758227d", + "derived_commit": "a3555498ddf08c1758d74358c54937b9d758227d", + "outcome": { + "schema": "state-hub.projection-reset.v1", + "repo_slug": "ops-warden", + "commit": "a3555498ddf08c1758d74358c54937b9d758227d", + "status": "noop", + "counts": { + "created": 0, + "updated": 0, + "retired": 0, + "refused": 0, + "released": 0, + "created_tasks": 0, + "updated_tasks": 0, + "cancelled_tasks": 0 + }, + "created": [], + "updated": [], + "retired": [], + "released": [], + "created_tasks": [], + "updated_tasks": [], + "cancelled_tasks": [], + "refused": [], + "notes": [] + } + } + }, + "parity": [ + { + "id": "2c4e96a3-ca0d-5003-b759-880976600ecc", + "status": "active", + "flavor": "implementation", + "blocked_on": null, + "blocking_reason": null, + "needs_human": null, + "decision_id": null, + "wait_until": null + }, + { + "id": "33587361-2b8a-5540-9c4f-d7b4f8ef25e0", + "status": "done", + "flavor": null, + "blocked_on": null, + "blocking_reason": null, + "needs_human": false, + "decision_id": null, + "wait_until": null + }, + { + "id": "18883eed-7f50-5ba7-a735-a76313e158b1", + "status": "proposed", + "flavor": "residual", + "blocked_on": null, + "blocking_reason": null, + "needs_human": null, + "decision_id": null, + "wait_until": null + }, + { + "id": "04cdf9ad-ac92-5f7a-87bb-8c9d34e933df", + "status": "wait", + "flavor": null, + "blocked_on": null, + "blocking_reason": "Operator must select the concrete attended provisioning scope, date and any recurrence; the checklist renderer does not authorize a session.", + "needs_human": true, + "decision_id": "62aa95e4-3ccc-4867-8806-5e3db005b483", + "wait_until": null + } + ], + "failed_check": { + "repo": "the-custodian", + "http_status": 500, + "error": "UniqueViolationError tasks_pkey", + "task_uuid": "d8af3e6b-26ae-580c-bbeb-caa8ad419bec", + "source": "workplans/ADHOC-2026-08-25-retired.md", + "transaction": "rolled back", + "new_receiving_fields": "not causal; historical identifier collision" + }, + "remaining": "T03 runner/dedup and T05 task-edge receiving/scheduled freshness; cadence decision stays human-gated" +} diff --git a/workplans/STATE-WP-0094-routed-gates-and-owner-returns.md b/workplans/STATE-WP-0094-routed-gates-and-owner-returns.md index d6557e4..c99bba3 100644 --- a/workplans/STATE-WP-0094-routed-gates-and-owner-returns.md +++ b/workplans/STATE-WP-0094-routed-gates-and-owner-returns.md @@ -80,7 +80,7 @@ that evidenced omission. Primary deployment and normal-sync parity remain T05. ```task id: STATE-WP-0094-T05 -status: todo +status: progress priority: medium state_hub_task_id: "ec0acd06-0e2f-5b5c-ae8a-6a3241041d4c" ``` @@ -89,7 +89,7 @@ Decline enabling the proposed legacy --all --remote schedule: production values explicitly disable it pending RMGR-WP-0005-T11, and ADR-002 prohibits central reads/writes of workstation checkouts. Confirm current Forge reconciliation coverage, task-level edge support and supported graph freshness schedule before -preparing any production change. No production action in this workplan session. +preparing any production change. The receiving promotion was explicitly authorized by the founder on 2026-10-04; freshness scheduling remains separate. 2026-10-04 owner assessment: P1 is implemented in C-39; P5 detection is @@ -155,3 +155,26 @@ Forge path omitted new fields on creation and left them untouched on existing rows; it did not explicitly erase already-correct new qualifiers. Source removal now deliberately clears them. Do not call the original CLI report or deployed receiving fixed merely because this bounded source task is done. + + +2026-10-04 authorized receiving rollout: founder instruction “Do the rollout”. +Promoted CI image main-3791e60 (source 3791e608bafa785811ee77c1067501798d13675b) +through the owner Helm path with --reuse-values --atomic --timeout 3m. +Revision 71 is deployed; API/MCP Ready, schema a0b1c2d3e4f5, tested receiving +source digest matches the running container. The image also contains the +previously committed additive memo receipt migration; its 20 focused tests +passed. No destructive schema downgrade belongs to rollback. + +Fresh normal receiving-endpoint derivations at exact immutable owner commits +restored STATE-WP-0094 flavor=implementation and cleared absent Warden task +blockers, including WARDEN-WP-0041-T03. Independent requests with fresh +idempotency keys then returned noop. No task PATCH or direct consistency repair +was used for these receiving proofs. Custodian broader exact-commit derivation +failed transactionally on a historical ADHOC task UUID collision; its residual +cadence task remains wait/human-needed with its original decision gate. The +failure is retained, not represented as receiving parity success. + +T05 remains progress for actual task-level dependency-edge receiving and +scheduled freshness coverage; T03 retains runner selection/dedup/receipts. +Neither the legacy remote scheduler nor a recurring provisioning cadence was +activated. Evidence: docs/evidence/2026-10-04-receiving-rollout.json.