diff --git a/docs/evidence/2026-10-06-activity-stale-retirement-rollout.json b/docs/evidence/2026-10-06-activity-stale-retirement-rollout.json new file mode 100644 index 0000000..f45c861 --- /dev/null +++ b/docs/evidence/2026-10-06-activity-stale-retirement-rollout.json @@ -0,0 +1,98 @@ +{ + "workplan_id": "STATE-WP-0095", + "task_id": "STATE-WP-0095-T04", + "status": "verified", + "verified_at": "2026-10-06", + "decision": { + "id": "91b7c633-a66f-5d43-9f4b-6565aefb9356", + "resolved_by": "bernd", + "resolved_at": "2026-10-06T08:21:19Z" + }, + "approval_ref": "founder chat approval 2026-10-06: 'I approve the rollout as soon as we are prepared' and 'go ahead and run the reconcile'", + "deployment": { + "image": "forgejo.coulomb.social/coulomb/state-hub:main-968a811", + "commit": "968a811", + "helm_revision": 74, + "rollback_revision": 73, + "previous_image": "main-fad9b3f", + "executed_by": "founder (helm upgrade run by user)", + "health": { + "status": "ok", + "instance_role": "primary", + "instance_label": "railiance01", + "schema": "b3c4d5e6f7a8" + }, + "pods_ready": [ + "state-hub", + "state-hub-mcp" + ], + "migrations": "none" + }, + "reconcile": { + "repo": "activity-core", + "expected_commit": "67a92d2ff8e033baf2c36998d24187fe83edec84", + "derived_commit": "67a92d2ff8e033baf2c36998d24187fe83edec84", + "expected_retirement_uuids": [ + "683724d9-4249-5e0e-88e0-7baff4330d58", + "644017c7-c5f2-5a64-81c3-d8ee806f8251", + "a5806df9-5b9a-50da-81c1-7e606076bed9" + ], + "status": "applied", + "counts": { + "created": 0, + "updated": 45, + "retired": 3, + "refused": 0, + "released": 0, + "created_tasks": 0, + "updated_tasks": 39, + "cancelled_tasks": 0, + "created_edges": 1, + "removed_edges": 0, + "unresolved_edges": 0, + "external_edges": 10 + }, + "retired": [ + "custodian-wp-0003a", + "custodian-wp-0003b", + "custodian-wp-0003" + ], + "refused": [] + }, + "retired_rows": [ + { + "uuid": "683724d9-4249-5e0e-88e0-7baff4330d58", + "slug_after": "custodian-wp-0003@retired-20261006", + "status": "archived" + }, + { + "uuid": "644017c7-c5f2-5a64-81c3-d8ee806f8251", + "slug_after": "custodian-wp-0003a@retired-20261006", + "status": "finished" + }, + { + "uuid": "a5806df9-5b9a-50da-81c1-7e606076bed9", + "slug_after": "custodian-wp-0003b@retired-20261006", + "status": "finished" + } + ], + "identity_preservation": [ + "activity-core: 7 bound files (sha256 match), 4 parents, 64 task UUIDs", + " parents present: True [('3a4f47d9', 'finished'), ('759b1255', 'finished'), ('b4eb45a9', 'archived'), ('e22516cc', 'finished')]", + " tasks present: 64 / 64", + " tasks under their bound parent: 64", + " task fields changed vs before: []", + " parent fields changed vs before: []", + "the-custodian: 1 bound files (sha256 match), 1 parents, 1 task UUIDs", + " parents present: True [('1c53d3db', 'finished')]", + " tasks present: 1 / 1", + " tasks under their bound parent: 1", + "stale rows in after-snapshot: [('683724d9', 'archived'), ('644017c7', 'finished'), ('a5806df9', 'finished')]", + "activity workplans 54 -> 54 | tasks 288 -> 288 | tasks removed: 0 added: 0" + ], + "disposition_sources": [ + "activity-core 941fac0 ACTIVITY-WP-0045", + "repo-manager 498682c RMGR-WP-0019" + ], + "remaining": "Repo Manager re-runs rmgr sync --path ~/activity-core --push and closes RMGR-WP-0019-T03; Activity Core closes ACTIVITY-WP-0045-T02." +} \ No newline at end of file diff --git a/workplans/STATE-WP-0095-historical-source-receiving.md b/workplans/STATE-WP-0095-historical-source-receiving.md index be93045..a48c8c4 100644 --- a/workplans/STATE-WP-0095-historical-source-receiving.md +++ b/workplans/STATE-WP-0095-historical-source-receiving.md @@ -4,7 +4,7 @@ type: workplan title: "Preserve exact closed historical source bindings in Forge receiving" domain: infotech repo: state-hub -status: active +status: finished owner: codex created: "2026-10-04" updated: "2026-10-06" @@ -74,11 +74,9 @@ and global collision rejection must hold in the delivered version. ```task id: STATE-WP-0095-T04 -status: wait +status: done priority: high depends_on: [STATE-WP-0095-T03, RMGR-WP-0019-T03] -blocked_on: "decision:91b7c633-a66f-5d43-9f4b-6565aefb9356" -blocking_reason: "Activity Core returned the exact retirement set on 2026-10-06 and Repo Manager verified it. The founder must still decide 91b7c633, and the live retirement needs a reviewed rollout. RMGR-WP-0019-T03 closes after the Activity owner sync re-runs." state_hub_task_id: "3bbb311f-194e-5862-8aed-358a580f22b4" ``` @@ -151,3 +149,21 @@ tasks and zero dependency edges. None is preserved parent set (message `916841f6`, repo-manager commit `498682c`). Nothing was retired. T04 now waits on decision `91b7c633` and a reviewed live rollout. After that, Repo Manager re-runs the Activity owner sync and closes RMGR-WP-0019-T03. + +## Retirement rollout and T04 verification, 2026-10-06 + +The founder resolved decision `91b7c633` (retire exactly the three projections) +and approved the rollout. The founder ran the normal Helm upgrade to +`main-968a811` (revision 74; rollback revision 73, `main-fad9b3f`). API and MCP +are Ready, health is ok on primary/railiance01, and schema `b3c4d5e6f7a8` is +unchanged; no migrations. The activity-core reconcile at commit +`67a92d2ff8e033baf2c36998d24187fe83edec84` with `expected_retirement_uuids` set +to the three UUIDs applied: 0 created, 3 retired (tombstoned with an +`@retired-20261006` slug; UUIDs and statuses kept), 0 refused, 0 tasks +cancelled. All 7 bound Activity source files still match their digests. The four +historical parents and 64 task UUIDs are present under their bound parents with +unchanged fields. The Custodian retired parent and task are unchanged. Activity +had 54 workplans and 288 tasks before and after. Evidence: +[activity stale retirement rollout](../docs/evidence/2026-10-06-activity-stale-retirement-rollout.json). +Repo Manager's re-run of the Activity owner sync (RMGR-WP-0019-T03) and +ACTIVITY-WP-0045-T02 remain with their owners.