From 8f3b8ac2f6e2029865c4dcaced34537b505f0927 Mon Sep 17 00:00:00 2001 From: tegwick Date: Mon, 31 Aug 2026 17:02:19 +0200 Subject: [PATCH] prepare fleet identifier completion batch Assistant: codex Assistant-Model: gpt-5.6-sol Assistant-Session: 01a053ff-1d6f-7fe2-ac1c-a6eb40a42a0c --- ...6-006-fleet-completion-identifier-batch.md | 63 + ...fleet-completion-preflight-2026-08-31.json | 1166 ++++++ ...7-fleet-completion-readiness-2026-08-31.md | 63 + ...RMGR-WP-0005-fleet-plan-2026-08-31-v2.json | 3240 +++++++++++++++++ docs/work-record-uuid-derivation_v1.md | 11 +- src/repo_manager/identifiers.py | 61 +- tests/test_identifiers.py | 77 + ...gistrar-consolidation-deterministic-ids.md | 18 + 8 files changed, 4691 insertions(+), 8 deletions(-) create mode 100644 decisions/RMGR-DEC-2026-006-fleet-completion-identifier-batch.md create mode 100644 docs/evidence/RMGR-WP-0005-batch-0007-fleet-completion-preflight-2026-08-31.json create mode 100644 docs/evidence/RMGR-WP-0005-batch-0007-fleet-completion-readiness-2026-08-31.md create mode 100644 docs/evidence/RMGR-WP-0005-fleet-plan-2026-08-31-v2.json diff --git a/decisions/RMGR-DEC-2026-006-fleet-completion-identifier-batch.md b/decisions/RMGR-DEC-2026-006-fleet-completion-identifier-batch.md new file mode 100644 index 0000000..ffa9572 --- /dev/null +++ b/decisions/RMGR-DEC-2026-006-fleet-completion-identifier-batch.md @@ -0,0 +1,63 @@ +# RMGR-DEC-2026-006 — Fleet-completion identifier cutover batch + +```yaml +id: RMGR-DEC-2026-006 +kind: decision +title: Approve deterministic identifier batch 0007 for fleet completion +status: open +decision_type: pending +owner: Bernd Worsch +repo: repo-manager +workplan: RMGR-WP-0005 +workplan_task: RMGR-WP-0005-T04 +requested_dispositions: + - approved + - revised + - rejected +source_plan: docs/evidence/RMGR-WP-0005-fleet-plan-2026-08-31-v2.json +source_plan_sha256: ab8ae2e55470553f105c6209d6aa4c7b828085bd6c71cec7b16173b8a19bef7b +batch_manifest: docs/evidence/RMGR-WP-0005-batch-0007-fleet-completion-preflight-2026-08-31.json +batch_sha256: c0cc496a06d9535a40840a0c7488cf365d8e47c5c58cc29aca72fb6d98273700 +scope: + repositories: + - fin-hub + - net-kingdom + - prj-canon-federation + - prj-forgejo-org-refactor + - prj-state-hub-retirement + - prj-unattended-progress-company + - railiance-master + - railiance-telemetry + - rapp-qonto + - soul-frame + replacements: 85 + assignments: 0 +apply_authorized: false +approval_effect: >- + Approved authorizes repository-atomic, sequential forward cutover of exactly + the pinned batch in the railiance01 primary projection and each authoritative + repository file, subject to repeated no-drift checks and stopping at the + first failure. Revised or rejected authorizes no mutation. +rollback: >- + For a failing repository, reverse its file transaction if written, then + reverse its primary projection transaction using durable aliases. Repositories + already completed in the sequence remain completed unless a separate rollback + decision authorizes reversing them. +evidence: docs/evidence/RMGR-WP-0005-batch-0007-fleet-completion-readiness-2026-08-31.md +created: "2026-08-31" +updated: "2026-08-31T14:52:06.664545Z" +state_hub_decision_id: "b2b958bc-ecee-46ea-9bd2-6edd6afab7b9" +``` + +## Decision requested + +Approve, revise, or reject the exact batch manifest and SHA-256 above. Approval +is limited to the ten named repositories, 85 replacement mappings, zero +assignments, and the `helixforge` namespace. It does not authorize a regenerated +plan, additional repositories, assignments, or a changed manifest. + +The manifest remains fail-closed: any source fingerprint, Git state, projection +state, plan seal, or batch seal drift before a repository executes voids that +repository's execution and stops the sequence. Each successfully completed +repository is independently durable, pushed, and verified before the next one +begins. diff --git a/docs/evidence/RMGR-WP-0005-batch-0007-fleet-completion-preflight-2026-08-31.json b/docs/evidence/RMGR-WP-0005-batch-0007-fleet-completion-preflight-2026-08-31.json new file mode 100644 index 0000000..23d7712 --- /dev/null +++ b/docs/evidence/RMGR-WP-0005-batch-0007-fleet-completion-preflight-2026-08-31.json @@ -0,0 +1,1166 @@ +{ + "schema": "repo-manager.identifier-migration-batch.v1", + "ok": true, + "ready_for_approval": true, + "apply_authorized": false, + "approval_required": true, + "projection_api_bases": [ + "http://127.0.0.1:8000" + ], + "namespace": "helixforge", + "source_plan_sha256": "ab8ae2e55470553f105c6209d6aa4c7b828085bd6c71cec7b16173b8a19bef7b", + "batch_policy": "repository-atomic, sequential, stop on first failure", + "rollback_order": "reverse files if written, then reverse central projection", + "generated_at": "2026-08-31T14:48:23.628487Z", + "totals": { + "repositories": 10, + "records": 104, + "replace": 85, + "assign": 0, + "unchanged": 19 + }, + "repositories": [ + { + "repo": "fin-hub", + "path": "/home/worsch/fin-hub", + "planned_head_sha": "4d4cdee875ab1a662aa3a19fdbfd6fc10b166088", + "source_fingerprint": "87d20c856f5a6f17071948a1cd1c4a149d867a54b99f2f5924413a33811dedd0", + "source_verified": true, + "git_preflight": { + "ok": true, + "head_sha": "4d4cdee875ab1a662aa3a19fdbfd6fc10b166088", + "expected_head_sha": "4d4cdee875ab1a662aa3a19fdbfd6fc10b166088", + "upstream": "origin/main", + "behind": 0, + "ahead": 0, + "origin": "forgejo-remote:coulomb/fin-hub.git", + "errors": [] + }, + "projection_preflight": { + "required": true, + "ok": true, + "projections": [ + { + "api_base": "http://127.0.0.1:8000", + "ok": true, + "mode": "legacy_migration", + "state_counts": { + "legacy_source": 13, + "derived_target": 0, + "duplicate_target": 0, + "both_present": 0, + "neither_present": 0, + "unexpected_status": 0 + }, + "replacement_checks": [ + { + "record_id": "FIN-WP-0003", + "kind": "workplan", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "FIN-WP-0003-T01", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "FIN-WP-0003-T02", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "FIN-WP-0003-T03", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "FIN-WP-0004", + "kind": "workplan", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "FIN-WP-0004-T05", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "FIN-WP-0005", + "kind": "workplan", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "FIN-WP-0005-T01", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "FIN-WP-0005-T02", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "FIN-WP-0005-T03", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "FIN-WP-0005-T04", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "FIN-WP-0006", + "kind": "workplan", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "FIN-WP-0006-T01", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + } + ] + } + ], + "errors": [] + }, + "mapping_counts": { + "records": 13, + "replace": 13, + "assign": 0, + "unchanged": 0 + }, + "ready": true + }, + { + "repo": "net-kingdom", + "path": "/home/worsch/net-kingdom", + "planned_head_sha": "9a7f5c9337d5ed6d50316c53c8118700d6bb8751", + "source_fingerprint": "26639909442d8e19f68b06fd47890b96a3bc79d42434bf3f7c4f30bc5be67f6c", + "source_verified": true, + "git_preflight": { + "ok": true, + "head_sha": "9a7f5c9337d5ed6d50316c53c8118700d6bb8751", + "expected_head_sha": "9a7f5c9337d5ed6d50316c53c8118700d6bb8751", + "upstream": "origin/main", + "behind": 0, + "ahead": 0, + "origin": "forgejo-remote:coulomb/net-kingdom.git", + "errors": [] + }, + "projection_preflight": { + "required": true, + "ok": true, + "projections": [ + { + "api_base": "http://127.0.0.1:8000", + "ok": true, + "mode": "legacy_migration", + "state_counts": { + "legacy_source": 16, + "derived_target": 0, + "duplicate_target": 0, + "both_present": 0, + "neither_present": 0, + "unexpected_status": 0 + }, + "replacement_checks": [ + { + "record_id": "NK-WP-0009", + "kind": "workplan", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "NK-WP-0009-T01", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "NK-WP-0009-T02", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "NK-WP-0009-T03", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "NK-WP-0009-T04", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "NK-WP-0009-T05", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "NK-WP-0009-T06", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "NK-WP-0011", + "kind": "workplan", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "NK-WP-0011-T01", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "NK-WP-0011-T02", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "NK-WP-0011-T03", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "NK-WP-0011-T04", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "NK-WP-0011-T05", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "NK-WP-0011-T06", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "NK-WP-0011-T07", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "NK-WP-0011-T08", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + } + ] + } + ], + "errors": [] + }, + "mapping_counts": { + "records": 35, + "replace": 16, + "assign": 0, + "unchanged": 19 + }, + "ready": true + }, + { + "repo": "prj-canon-federation", + "path": "/home/worsch/prj-canon-federation", + "planned_head_sha": "5756309077554d3de1f5ceef953a95a28116195d", + "source_fingerprint": "f70680a4c532ed0b86bf8db1c964a42440a355b98a578fd81d746de0d045c64a", + "source_verified": true, + "git_preflight": { + "ok": true, + "head_sha": "5756309077554d3de1f5ceef953a95a28116195d", + "expected_head_sha": "5756309077554d3de1f5ceef953a95a28116195d", + "upstream": "origin/main", + "behind": 0, + "ahead": 0, + "origin": "forgejo-remote:coulomb/prj-canon-federation.git", + "errors": [] + }, + "projection_preflight": { + "required": true, + "ok": true, + "projections": [ + { + "api_base": "http://127.0.0.1:8000", + "ok": true, + "mode": "legacy_migration", + "state_counts": { + "legacy_source": 13, + "derived_target": 0, + "duplicate_target": 0, + "both_present": 0, + "neither_present": 0, + "unexpected_status": 0 + }, + "replacement_checks": [ + { + "record_id": "CFED-WP-0001", + "kind": "workplan", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "CFED-WP-0001-T02", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "CFED-WP-0001-T03", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "CFED-WP-0001-T04", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "CFED-WP-0001-T05", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "CFED-WP-0001-T06", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "CFED-WP-0001-T07", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "CFED-WP-0001-T08", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "CFED-WP-0001-T09", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "CFED-WP-0001-T11", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "CFED-WP-0001-T12", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "CFED-WP-0001-T13", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "CFED-WP-0001-T10", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + } + ] + } + ], + "errors": [] + }, + "mapping_counts": { + "records": 13, + "replace": 13, + "assign": 0, + "unchanged": 0 + }, + "ready": true + }, + { + "repo": "prj-forgejo-org-refactor", + "path": "/home/worsch/prj-forgejo-org-refactor", + "planned_head_sha": "847ee07c5c0ae791d53ec8d00107e6b1b16717cc", + "source_fingerprint": "e8cdbeabb5f6b285569bf3d9cb2a02399f695ad54033b68a08127baf1aeae0e7", + "source_verified": true, + "git_preflight": { + "ok": true, + "head_sha": "847ee07c5c0ae791d53ec8d00107e6b1b16717cc", + "expected_head_sha": "847ee07c5c0ae791d53ec8d00107e6b1b16717cc", + "upstream": "origin/main", + "behind": 0, + "ahead": 0, + "origin": "forgejo-remote:coulomb/prj-forgejo-org-refactor.git", + "errors": [] + }, + "projection_preflight": { + "required": true, + "ok": true, + "projections": [ + { + "api_base": "http://127.0.0.1:8000", + "ok": true, + "mode": "legacy_migration", + "state_counts": { + "legacy_source": 6, + "derived_target": 0, + "duplicate_target": 0, + "both_present": 0, + "neither_present": 0, + "unexpected_status": 0 + }, + "replacement_checks": [ + { + "record_id": "ORGREF-WP-0001", + "kind": "workplan", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "ORGREF-WP-0001-T01", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "ORGREF-WP-0001-T02", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "ORGREF-WP-0001-T03", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "ORGREF-WP-0001-T04", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "ORGREF-WP-0001-T05", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + } + ] + } + ], + "errors": [] + }, + "mapping_counts": { + "records": 6, + "replace": 6, + "assign": 0, + "unchanged": 0 + }, + "ready": true + }, + { + "repo": "prj-state-hub-retirement", + "path": "/home/worsch/prj-state-hub-retirement", + "planned_head_sha": "91c28692f13429df7b1d311ffbcbb79b9fd432e4", + "source_fingerprint": "9d355c3e663502c23d9b65292dd9d18b266be98ca9476af1513018c15f0dd3df", + "source_verified": true, + "git_preflight": { + "ok": true, + "head_sha": "91c28692f13429df7b1d311ffbcbb79b9fd432e4", + "expected_head_sha": "91c28692f13429df7b1d311ffbcbb79b9fd432e4", + "upstream": "origin/main", + "behind": 0, + "ahead": 0, + "origin": "forgejo-remote:coulomb/prj-state-hub-retirement.git", + "errors": [] + }, + "projection_preflight": { + "required": true, + "ok": true, + "projections": [ + { + "api_base": "http://127.0.0.1:8000", + "ok": true, + "mode": "legacy_migration", + "state_counts": { + "legacy_source": 8, + "derived_target": 0, + "duplicate_target": 0, + "both_present": 0, + "neither_present": 0, + "unexpected_status": 0 + }, + "replacement_checks": [ + { + "record_id": "SHR-WP-0002", + "kind": "workplan", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "SHR-WP-0002-T01", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "SHR-WP-0002-T02", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "SHR-WP-0002-T03", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "SHR-WP-0002-T04", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "SHR-WP-0002-T05", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "SHR-WP-0002-T06", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "SHR-WP-0002-T07", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + } + ] + } + ], + "errors": [] + }, + "mapping_counts": { + "records": 8, + "replace": 8, + "assign": 0, + "unchanged": 0 + }, + "ready": true + }, + { + "repo": "prj-unattended-progress-company", + "path": "/home/worsch/prj-unattended-progress-company", + "planned_head_sha": "d57de00e0eda3fef048c6bf451b32af9a15da1f4", + "source_fingerprint": "5adadf8049df4dc8b7b2b43b751120bd1a71822acf1b50ad0a463af31514778b", + "source_verified": true, + "git_preflight": { + "ok": true, + "head_sha": "d57de00e0eda3fef048c6bf451b32af9a15da1f4", + "expected_head_sha": "d57de00e0eda3fef048c6bf451b32af9a15da1f4", + "upstream": "origin/main", + "behind": 0, + "ahead": 0, + "origin": "forgejo-remote:coulomb/prj-unattended-progress-company.git", + "errors": [] + }, + "projection_preflight": { + "required": true, + "ok": true, + "projections": [ + { + "api_base": "http://127.0.0.1:8000", + "ok": true, + "mode": "legacy_migration", + "state_counts": { + "legacy_source": 13, + "derived_target": 0, + "duplicate_target": 0, + "both_present": 0, + "neither_present": 0, + "unexpected_status": 0 + }, + "replacement_checks": [ + { + "record_id": "UPC-WP-0002", + "kind": "workplan", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "UPC-WP-0002-T01", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "UPC-WP-0002-T02", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "UPC-WP-0002-T03", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "UPC-WP-0002-T04", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "UPC-WP-0003", + "kind": "workplan", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "UPC-WP-0003-T01", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "UPC-WP-0003-T02", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "UPC-WP-0003-T03", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "UPC-WP-0004", + "kind": "workplan", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "UPC-WP-0004-T01", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "UPC-WP-0004-T02", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "UPC-WP-0004-T03", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + } + ] + } + ], + "errors": [] + }, + "mapping_counts": { + "records": 13, + "replace": 13, + "assign": 0, + "unchanged": 0 + }, + "ready": true + }, + { + "repo": "railiance-master", + "path": "/home/worsch/railiance-master", + "planned_head_sha": "a0c35b7438c4c6a3ccc368a18910802440d73f87", + "source_fingerprint": "17494c5675a3d58f6402e6f46739260c36dee623502face9a96b16ea15454209", + "source_verified": true, + "git_preflight": { + "ok": true, + "head_sha": "a0c35b7438c4c6a3ccc368a18910802440d73f87", + "expected_head_sha": "a0c35b7438c4c6a3ccc368a18910802440d73f87", + "upstream": "origin/main", + "behind": 0, + "ahead": 0, + "origin": "forgejo-remote:coulomb/railiance-master.git", + "errors": [] + }, + "projection_preflight": { + "required": true, + "ok": true, + "projections": [ + { + "api_base": "http://127.0.0.1:8000", + "ok": true, + "mode": "legacy_migration", + "state_counts": { + "legacy_source": 3, + "derived_target": 0, + "duplicate_target": 0, + "both_present": 0, + "neither_present": 0, + "unexpected_status": 0 + }, + "replacement_checks": [ + { + "record_id": "RMASTER-WP-0020", + "kind": "workplan", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "RMASTER-WP-0020-T08", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "RMASTER-WP-0020-T09", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + } + ] + } + ], + "errors": [] + }, + "mapping_counts": { + "records": 3, + "replace": 3, + "assign": 0, + "unchanged": 0 + }, + "ready": true + }, + { + "repo": "railiance-telemetry", + "path": "/home/worsch/railiance-telemetry", + "planned_head_sha": "047af271943b94f0c029931864b1ea167e820f90", + "source_fingerprint": "ef071e93aae8d232c24b8604555937fd5a2c0f337746835010b8fecc8968fa6b", + "source_verified": true, + "git_preflight": { + "ok": true, + "head_sha": "047af271943b94f0c029931864b1ea167e820f90", + "expected_head_sha": "047af271943b94f0c029931864b1ea167e820f90", + "upstream": "origin/main", + "behind": 0, + "ahead": 0, + "origin": "forgejo-remote:coulomb/railiance-telemetry.git", + "errors": [] + }, + "projection_preflight": { + "required": true, + "ok": true, + "projections": [ + { + "api_base": "http://127.0.0.1:8000", + "ok": true, + "mode": "legacy_migration", + "state_counts": { + "legacy_source": 4, + "derived_target": 0, + "duplicate_target": 0, + "both_present": 0, + "neither_present": 0, + "unexpected_status": 0 + }, + "replacement_checks": [ + { + "record_id": "RTELE-WP-0001", + "kind": "workplan", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "RTELE-WP-0001-T01", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "RTELE-WP-0001-T02", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "RTELE-WP-0001-T03", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + } + ] + } + ], + "errors": [] + }, + "mapping_counts": { + "records": 4, + "replace": 4, + "assign": 0, + "unchanged": 0 + }, + "ready": true + }, + { + "repo": "rapp-qonto", + "path": "/home/worsch/rapp-qonto", + "planned_head_sha": "240c462b9412a3932cc27dbbc13933378f4af07e", + "source_fingerprint": "3a4de22edfc774ce2e8be9c2ba507bec1128268c3cae540c78b3de753eb07868", + "source_verified": true, + "git_preflight": { + "ok": true, + "head_sha": "240c462b9412a3932cc27dbbc13933378f4af07e", + "expected_head_sha": "240c462b9412a3932cc27dbbc13933378f4af07e", + "upstream": "origin/main", + "behind": 0, + "ahead": 0, + "origin": "forgejo-remote:coulomb/rapp-qonto.git", + "errors": [] + }, + "projection_preflight": { + "required": true, + "ok": true, + "projections": [ + { + "api_base": "http://127.0.0.1:8000", + "ok": true, + "mode": "mixed_convergence", + "state_counts": { + "legacy_source": 1, + "derived_target": 0, + "duplicate_target": 3, + "both_present": 0, + "neither_present": 0, + "unexpected_status": 0 + }, + "replacement_checks": [ + { + "record_id": "RAPP-QONTO-WP-0002", + "kind": "workplan", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "RAPP-QONTO-WP-0002-T01", + "kind": "task", + "current_status": 200, + "derived_status": 200, + "state": "duplicate_target", + "ok": true + }, + { + "record_id": "RAPP-QONTO-WP-0002-T02", + "kind": "task", + "current_status": 200, + "derived_status": 200, + "state": "duplicate_target", + "ok": true + }, + { + "record_id": "RAPP-QONTO-WP-0002-T03", + "kind": "task", + "current_status": 200, + "derived_status": 200, + "state": "duplicate_target", + "ok": true + } + ] + } + ], + "errors": [] + }, + "mapping_counts": { + "records": 4, + "replace": 4, + "assign": 0, + "unchanged": 0 + }, + "ready": true + }, + { + "repo": "soul-frame", + "path": "/home/worsch/soul-frame", + "planned_head_sha": "6ccd5e2a6a523125eaba8798fb8fb317368170a3", + "source_fingerprint": "97149208faf5b5e3332cfca6f01a9cec854218536634c958284395e99af1930c", + "source_verified": true, + "git_preflight": { + "ok": true, + "head_sha": "6ccd5e2a6a523125eaba8798fb8fb317368170a3", + "expected_head_sha": "6ccd5e2a6a523125eaba8798fb8fb317368170a3", + "upstream": "origin/main", + "behind": 0, + "ahead": 0, + "origin": "forgejo-remote:coulomb/soul-frame.git", + "errors": [] + }, + "projection_preflight": { + "required": true, + "ok": true, + "projections": [ + { + "api_base": "http://127.0.0.1:8000", + "ok": true, + "mode": "legacy_migration", + "state_counts": { + "legacy_source": 5, + "derived_target": 0, + "duplicate_target": 0, + "both_present": 0, + "neither_present": 0, + "unexpected_status": 0 + }, + "replacement_checks": [ + { + "record_id": "SOUL-WP-0008", + "kind": "workplan", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "SOUL-WP-0008-T01", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "SOUL-WP-0008-T02", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "SOUL-WP-0008-T03", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + }, + { + "record_id": "SOUL-WP-0008-T04", + "kind": "task", + "current_status": 200, + "derived_status": 404, + "state": "legacy_source", + "ok": true + } + ] + } + ], + "errors": [] + }, + "mapping_counts": { + "records": 5, + "replace": 5, + "assign": 0, + "unchanged": 0 + }, + "ready": true + } + ], + "errors": [], + "batch_sha256": "c0cc496a06d9535a40840a0c7488cf365d8e47c5c58cc29aca72fb6d98273700" +} diff --git a/docs/evidence/RMGR-WP-0005-batch-0007-fleet-completion-readiness-2026-08-31.md b/docs/evidence/RMGR-WP-0005-batch-0007-fleet-completion-readiness-2026-08-31.md new file mode 100644 index 0000000..8c8ccd0 --- /dev/null +++ b/docs/evidence/RMGR-WP-0005-batch-0007-fleet-completion-readiness-2026-08-31.md @@ -0,0 +1,63 @@ +# RMGR-WP-0005 batch 0007 fleet-completion readiness + +Date: 2026-08-31 +Decision: `RMGR-DEC-2026-006` (pending) +Source plan SHA-256: `ab8ae2e55470553f105c6209d6aa4c7b828085bd6c71cec7b16173b8a19bef7b` +Batch SHA-256: `c0cc496a06d9535a40840a0c7488cf365d8e47c5c58cc29aca72fb6d98273700` + +## Outcome + +Batch 0007 is ready for an explicit approve, revise, or reject decision. No +identifier mutation has run. The sealed batch contains ten clean, +Forgejo-synchronized repositories, 85 replacements, zero assignments, and 19 +already-canonical records. + +| Repository | Replace | Unchanged | Primary projection state | +| --- | ---: | ---: | --- | +| `fin-hub` | 13 | 0 | 13 legacy sources | +| `net-kingdom` | 16 | 19 | 16 legacy sources | +| `prj-canon-federation` | 13 | 0 | 13 legacy sources | +| `prj-forgejo-org-refactor` | 6 | 0 | 6 legacy sources | +| `prj-state-hub-retirement` | 8 | 0 | 8 legacy sources | +| `prj-unattended-progress-company` | 13 | 0 | 13 legacy sources | +| `railiance-master` | 3 | 0 | 3 legacy sources | +| `railiance-telemetry` | 4 | 0 | 4 legacy sources | +| `rapp-qonto` | 4 | 0 | 1 legacy source, 3 safe duplicate targets | +| `soul-frame` | 5 | 0 | 5 legacy sources | + +## Preconditions closed + +- A refreshed, non-mutating fleet scan covers 42 eligible repositories and 306 + live records: 85 replacements, 6 assignments, and 215 unchanged records. +- `audit-core` received all six missing deterministic identifiers through its + ordinary reconciliation path and was pushed in commit `95dcb78`. +- The three `rapp-qonto` duplicate task targets have byte-equivalent business + payloads and no inbound task references. State Hub now coalesces only that + exact safe shape, retains durable aliases, and refuses divergent or referenced + duplicates. +- State Hub focused migration tests pass (19), its full suite passes (828), and + the dashboard production build succeeds. Repo Manager's full suite passes + (150) and Ruff is clean. +- State Hub commit `a7c91a6` is deployed on railiance01 and pinned by commit + `667ed28`; the live health endpoint reports the expected current schema. +- Fresh batch preflight reports `ok: true`, `ready_for_approval: true`, and no + source, Git, projection, collision, or status errors. + +## Execution and rollback + +Approval authorizes repository-atomic sequential execution, stopping on the +first failure. Before each repository, the executor repeats plan-seal, source, +Git, and primary-projection checks. It then updates the primary transaction, +rewrites the complete repository mapping atomically, commits and pushes the +authoritative file change, and verifies identifiers, relationships, aliases, +and consistency before continuing. + +If a repository fails after its projection phase, reverse its file transaction +if written and then reverse its projection transaction through the durable +aliases. Repositories already completed remain valid independent cutovers; +reversing those would require a separate decision. + +Canonical machine evidence: + +- `docs/evidence/RMGR-WP-0005-fleet-plan-2026-08-31-v2.json` +- `docs/evidence/RMGR-WP-0005-batch-0007-fleet-completion-preflight-2026-08-31.json` diff --git a/docs/evidence/RMGR-WP-0005-fleet-plan-2026-08-31-v2.json b/docs/evidence/RMGR-WP-0005-fleet-plan-2026-08-31-v2.json new file mode 100644 index 0000000..2f5228a --- /dev/null +++ b/docs/evidence/RMGR-WP-0005-fleet-plan-2026-08-31-v2.json @@ -0,0 +1,3240 @@ +{ + "schema": "repo-manager.identifier-migration-plan.v1", + "ok": true, + "ready_to_apply": true, + "root": "/home/worsch", + "namespace": "helixforge", + "derivation_version": "repo-manager.work-record-uuid.v1", + "namespace_uuid": "a4058507-5c4a-5a00-ab06-fffa4fb46009", + "scope": "live workplans and unfinished tasks", + "apply_policy": "all-or-nothing per repository", + "generated_at": "2026-08-31T12:31:31.083557Z", + "totals": { + "repositories": 42, + "eligible": 42, + "skipped": 0, + "records": 306, + "replace": 85, + "assign": 6, + "unchanged": 215 + }, + "repositories": [ + { + "repo": "activity-core", + "path": "/home/worsch/activity-core", + "planned_head_sha": "ea6fb0e92a25825b42e00b2f85aa23cf50605294", + "source_fingerprint": "c22d6cbbac659990e1884f86ab7d02715bc821b8a51e4cdd37a54c53c90f5015", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "activity-core", + "path": "workplans/ACTIVITY-WP-0031-production-execution-reliability-cleanup.md", + "kind": "workplan", + "record_id": "ACTIVITY-WP-0031", + "current_uuid": "93b37937-a29b-505e-adc2-390980cd8ceb", + "derived_uuid": "93b37937-a29b-505e-adc2-390980cd8ceb", + "action": "unchanged" + }, + { + "repo": "activity-core", + "path": "workplans/ACTIVITY-WP-0031-production-execution-reliability-cleanup.md", + "kind": "task", + "record_id": "ACTIVITY-WP-0031-T01", + "current_uuid": "d84116ae-8219-569a-8d7b-e4eb83c192c3", + "derived_uuid": "d84116ae-8219-569a-8d7b-e4eb83c192c3", + "action": "unchanged" + }, + { + "repo": "activity-core", + "path": "workplans/ACTIVITY-WP-0031-production-execution-reliability-cleanup.md", + "kind": "task", + "record_id": "ACTIVITY-WP-0031-T05", + "current_uuid": "a7eb3615-dd11-54c9-80ec-a147d100f8b7", + "derived_uuid": "a7eb3615-dd11-54c9-80ec-a147d100f8b7", + "action": "unchanged" + }, + { + "repo": "activity-core", + "path": "workplans/ACTIVITY-WP-0032-glas-profile-execution-contract.md", + "kind": "workplan", + "record_id": "ACTIVITY-WP-0032", + "current_uuid": "256dad13-28b4-5361-ab8a-7d1373a5d14b", + "derived_uuid": "256dad13-28b4-5361-ab8a-7d1373a5d14b", + "action": "unchanged" + }, + { + "repo": "activity-core", + "path": "workplans/ACTIVITY-WP-0032-glas-profile-execution-contract.md", + "kind": "task", + "record_id": "ACTIVITY-WP-0032-T05", + "current_uuid": "e71423f9-8baf-566b-8a70-eec195e2f65f", + "derived_uuid": "e71423f9-8baf-566b-8a70-eec195e2f65f", + "action": "unchanged" + }, + { + "repo": "activity-core", + "path": "workplans/ACTIVITY-WP-0034-sbom-controlled-source-reference.md", + "kind": "workplan", + "record_id": "ACTIVITY-WP-0034", + "current_uuid": "409c06c0-65df-5eaf-8099-9b4e70185f19", + "derived_uuid": "409c06c0-65df-5eaf-8099-9b4e70185f19", + "action": "unchanged" + }, + { + "repo": "activity-core", + "path": "workplans/ACTIVITY-WP-0034-sbom-controlled-source-reference.md", + "kind": "task", + "record_id": "ACTIVITY-WP-0034-T02", + "current_uuid": "036de401-18de-5a94-8f0d-18d60b64c56a", + "derived_uuid": "036de401-18de-5a94-8f0d-18d60b64c56a", + "action": "unchanged" + }, + { + "repo": "activity-core", + "path": "workplans/ACTIVITY-WP-0035-intent-boundary-guardrails.md", + "kind": "workplan", + "record_id": "ACTIVITY-WP-0035", + "current_uuid": "fbcc10a9-bc1e-50b2-ba86-47adcb18666d", + "derived_uuid": "fbcc10a9-bc1e-50b2-ba86-47adcb18666d", + "action": "unchanged" + }, + { + "repo": "activity-core", + "path": "workplans/ACTIVITY-WP-0035-intent-boundary-guardrails.md", + "kind": "task", + "record_id": "ACTIVITY-WP-0035-T08", + "current_uuid": "2ae1aca9-1c86-5b1a-b9fd-95059a24cd65", + "derived_uuid": "2ae1aca9-1c86-5b1a-b9fd-95059a24cd65", + "action": "unchanged" + }, + { + "repo": "activity-core", + "path": "workplans/ACTIVITY-WP-0036-queue-identity-and-lease-integrity.md", + "kind": "workplan", + "record_id": "ACTIVITY-WP-0036", + "current_uuid": "01e6d5d4-6e1a-5f0d-81f0-ded97e0f71cd", + "derived_uuid": "01e6d5d4-6e1a-5f0d-81f0-ded97e0f71cd", + "action": "unchanged" + }, + { + "repo": "activity-core", + "path": "workplans/ACTIVITY-WP-0036-queue-identity-and-lease-integrity.md", + "kind": "task", + "record_id": "ACTIVITY-WP-0036-T04", + "current_uuid": "1228e10a-067b-54db-baa3-a8fc9549492b", + "derived_uuid": "1228e10a-067b-54db-baa3-a8fc9549492b", + "action": "unchanged" + } + ] + }, + { + "repo": "adaptive-pricing", + "path": "/home/worsch/adaptive-pricing", + "planned_head_sha": "5ff416f6a82f6e034a5cd901a72b3674062db1c1", + "source_fingerprint": "db926197fc29055d9f09017f006b62ade6ee9fec0f184eb11f44275ae2083f89", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "adaptive-pricing", + "path": "workplans/ADAPTIVE-WP-0010-plan-derived-guardrail-ceilings.md", + "kind": "workplan", + "record_id": "ADAPTIVE-WP-0010", + "current_uuid": "543e6398-d2cb-5105-977e-b90461adac3e", + "derived_uuid": "543e6398-d2cb-5105-977e-b90461adac3e", + "action": "unchanged" + }, + { + "repo": "adaptive-pricing", + "path": "workplans/ADAPTIVE-WP-0010-plan-derived-guardrail-ceilings.md", + "kind": "task", + "record_id": "ADAPTIVE-WP-0010-T01", + "current_uuid": "7533431c-a0de-5ac8-a811-14e4604ad651", + "derived_uuid": "7533431c-a0de-5ac8-a811-14e4604ad651", + "action": "unchanged" + }, + { + "repo": "adaptive-pricing", + "path": "workplans/ADAPTIVE-WP-0010-plan-derived-guardrail-ceilings.md", + "kind": "task", + "record_id": "ADAPTIVE-WP-0010-T02", + "current_uuid": "7bd4dace-3505-5c68-977d-f80b30aebc77", + "derived_uuid": "7bd4dace-3505-5c68-977d-f80b30aebc77", + "action": "unchanged" + }, + { + "repo": "adaptive-pricing", + "path": "workplans/ADAPTIVE-WP-0010-plan-derived-guardrail-ceilings.md", + "kind": "task", + "record_id": "ADAPTIVE-WP-0010-T03", + "current_uuid": "46e49880-21ff-580f-a2ad-82c8f1401afc", + "derived_uuid": "46e49880-21ff-580f-a2ad-82c8f1401afc", + "action": "unchanged" + }, + { + "repo": "adaptive-pricing", + "path": "workplans/ADAPTIVE-WP-0010-plan-derived-guardrail-ceilings.md", + "kind": "task", + "record_id": "ADAPTIVE-WP-0010-T04", + "current_uuid": "a3eeffa6-57b0-5dc1-8b07-4b9b2a3d3534", + "derived_uuid": "a3eeffa6-57b0-5dc1-8b07-4b9b2a3d3534", + "action": "unchanged" + } + ] + }, + { + "repo": "approval-engine", + "path": "/home/worsch/approval-engine", + "planned_head_sha": "c64c5faec44d393b4015fd4738a14cff66011fb2", + "source_fingerprint": "77b232b8a4d45cbd1c2c4b5f7ce91b984ff05b7d875a0adec1afb64a2366cb0e", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "approval-engine", + "path": "workplans/APPROVAL-WP-0001-v07-alignment-and-engine-spine.md", + "kind": "workplan", + "record_id": "APPROVAL-WP-0001", + "current_uuid": "546f2fae-c53e-5ea5-8c63-320118d8ee1e", + "derived_uuid": "546f2fae-c53e-5ea5-8c63-320118d8ee1e", + "action": "unchanged" + }, + { + "repo": "approval-engine", + "path": "workplans/APPROVAL-WP-0001-v07-alignment-and-engine-spine.md", + "kind": "task", + "record_id": "APPROVAL-WP-0001-T05", + "current_uuid": "204bdfeb-a669-569e-a654-10c1a9fcacbc", + "derived_uuid": "204bdfeb-a669-569e-a654-10c1a9fcacbc", + "action": "unchanged" + } + ] + }, + { + "repo": "audit-core", + "path": "/home/worsch/audit-core", + "planned_head_sha": "9dff75e59e51a0da092aea5add06a96782a3f84c", + "source_fingerprint": "a4b06d984a24d746d0e1aa552ba106258573769a74971e15b576d2f32618681f", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "audit-core", + "path": "workplans/AUDIT-WP-0008-tenancy-posture-alignment.md", + "kind": "workplan", + "record_id": "AUDIT-WP-0008", + "current_uuid": "a9a248b2-d26c-503e-a8fc-4f3675e6ed51", + "derived_uuid": "a9a248b2-d26c-503e-a8fc-4f3675e6ed51", + "action": "unchanged" + }, + { + "repo": "audit-core", + "path": "workplans/AUDIT-WP-0008-tenancy-posture-alignment.md", + "kind": "task", + "record_id": "AUDIT-WP-0008-T07", + "current_uuid": "4e3ab790-daa6-5fbb-837e-9a9a26848201", + "derived_uuid": "4e3ab790-daa6-5fbb-837e-9a9a26848201", + "action": "unchanged" + }, + { + "repo": "audit-core", + "path": "workplans/AUDIT-WP-0009-evidence-role-conformance.md", + "kind": "workplan", + "record_id": "AUDIT-WP-0009", + "current_uuid": "46a96b03-bc08-53b5-9c93-4071adabf734", + "derived_uuid": "46a96b03-bc08-53b5-9c93-4071adabf734", + "action": "unchanged" + }, + { + "repo": "audit-core", + "path": "workplans/AUDIT-WP-0009-evidence-role-conformance.md", + "kind": "task", + "record_id": "AUDIT-WP-0009-T01", + "current_uuid": "f545b0e4-8c99-5186-affd-ce9a41209ed7", + "derived_uuid": "f545b0e4-8c99-5186-affd-ce9a41209ed7", + "action": "unchanged" + }, + { + "repo": "audit-core", + "path": "workplans/AUDIT-WP-0009-evidence-role-conformance.md", + "kind": "task", + "record_id": "AUDIT-WP-0009-T02", + "current_uuid": "6de9945f-4dd1-57dd-898a-f59c35b1df6c", + "derived_uuid": "6de9945f-4dd1-57dd-898a-f59c35b1df6c", + "action": "unchanged" + }, + { + "repo": "audit-core", + "path": "workplans/AUDIT-WP-0009-evidence-role-conformance.md", + "kind": "task", + "record_id": "AUDIT-WP-0009-T03", + "current_uuid": "acae6085-ada7-51b2-8dc0-4abac7f7e7b3", + "derived_uuid": "acae6085-ada7-51b2-8dc0-4abac7f7e7b3", + "action": "unchanged" + }, + { + "repo": "audit-core", + "path": "workplans/AUDIT-WP-0009-evidence-role-conformance.md", + "kind": "task", + "record_id": "AUDIT-WP-0009-T04", + "current_uuid": "f36470af-4019-54b2-96d7-e049d867c7db", + "derived_uuid": "f36470af-4019-54b2-96d7-e049d867c7db", + "action": "unchanged" + }, + { + "repo": "audit-core", + "path": "workplans/AUDIT-WP-0009-evidence-role-conformance.md", + "kind": "task", + "record_id": "AUDIT-WP-0009-T05", + "current_uuid": "382575ca-1801-5a32-a93d-90a8b9c8adbf", + "derived_uuid": "382575ca-1801-5a32-a93d-90a8b9c8adbf", + "action": "unchanged" + }, + { + "repo": "audit-core", + "path": "workplans/AUDIT-WP-0009-evidence-role-conformance.md", + "kind": "task", + "record_id": "AUDIT-WP-0009-T06", + "current_uuid": "0a8d6eed-75dd-5aaa-bf86-60be9dadca03", + "derived_uuid": "0a8d6eed-75dd-5aaa-bf86-60be9dadca03", + "action": "unchanged" + }, + { + "repo": "audit-core", + "path": "workplans/AUDIT-WP-0009-evidence-role-conformance.md", + "kind": "task", + "record_id": "AUDIT-WP-0009-T07", + "current_uuid": "f572dfeb-0d1b-58d6-be83-405125189028", + "derived_uuid": "f572dfeb-0d1b-58d6-be83-405125189028", + "action": "unchanged" + }, + { + "repo": "audit-core", + "path": "workplans/AUDIT-WP-0009-evidence-role-conformance.md", + "kind": "task", + "record_id": "AUDIT-WP-0009-T08", + "current_uuid": "f7b513ee-af48-5c5a-a34e-3e9922d29b76", + "derived_uuid": "f7b513ee-af48-5c5a-a34e-3e9922d29b76", + "action": "unchanged" + }, + { + "repo": "audit-core", + "path": "workplans/AUDIT-WP-0009-evidence-role-conformance.md", + "kind": "task", + "record_id": "AUDIT-WP-0009-T09", + "current_uuid": "fd4a4ac3-e525-57c1-9179-e0fcd0226913", + "derived_uuid": "fd4a4ac3-e525-57c1-9179-e0fcd0226913", + "action": "unchanged" + }, + { + "repo": "audit-core", + "path": "workplans/AUDIT-WP-0009-evidence-role-conformance.md", + "kind": "task", + "record_id": "AUDIT-WP-0009-T10", + "current_uuid": "ac3464fd-3df9-51a1-b1f4-3bf3c60e4265", + "derived_uuid": "ac3464fd-3df9-51a1-b1f4-3bf3c60e4265", + "action": "unchanged" + }, + { + "repo": "audit-core", + "path": "workplans/AUDIT-WP-0010-tenant-engine-sender-admission.md", + "kind": "workplan", + "record_id": "AUDIT-WP-0010", + "current_uuid": null, + "derived_uuid": "54655357-74da-5f7f-8fa6-647d4c969f21", + "action": "assign" + }, + { + "repo": "audit-core", + "path": "workplans/AUDIT-WP-0010-tenant-engine-sender-admission.md", + "kind": "task", + "record_id": "AUDIT-WP-0010-T01", + "current_uuid": null, + "derived_uuid": "e26170e3-78f1-5d98-bb8f-46cef32244bb", + "action": "assign" + }, + { + "repo": "audit-core", + "path": "workplans/AUDIT-WP-0010-tenant-engine-sender-admission.md", + "kind": "task", + "record_id": "AUDIT-WP-0010-T02", + "current_uuid": null, + "derived_uuid": "13855bd9-4ff4-5e8c-ab98-d5ff45103d22", + "action": "assign" + }, + { + "repo": "audit-core", + "path": "workplans/AUDIT-WP-0010-tenant-engine-sender-admission.md", + "kind": "task", + "record_id": "AUDIT-WP-0010-T03", + "current_uuid": null, + "derived_uuid": "1a75fba2-a625-5e87-bba9-e38f010856fc", + "action": "assign" + }, + { + "repo": "audit-core", + "path": "workplans/AUDIT-WP-0010-tenant-engine-sender-admission.md", + "kind": "task", + "record_id": "AUDIT-WP-0010-T04", + "current_uuid": null, + "derived_uuid": "56bde19e-6b54-5d9e-a3d7-8b13e810cb51", + "action": "assign" + }, + { + "repo": "audit-core", + "path": "workplans/AUDIT-WP-0010-tenant-engine-sender-admission.md", + "kind": "task", + "record_id": "AUDIT-WP-0010-T05", + "current_uuid": null, + "derived_uuid": "777bb728-4a4d-5c5b-8b62-24fdb6ab31e3", + "action": "assign" + } + ] + }, + { + "repo": "coordination-engine", + "path": "/home/worsch/coordination-engine", + "planned_head_sha": "3fc4d67cf176236877ae3f4b4865d700a4b73f89", + "source_fingerprint": "ef7540e66b2b3894f4ce56fb1e6c451eeb881b7ea142db5bd0a94056e87c9cba", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "coordination-engine", + "path": "workplans/COORDINATION-WP-0003-worker-coordination-service.md", + "kind": "workplan", + "record_id": "COORDINATION-WP-0003", + "current_uuid": "78a91239-ae31-5e03-98c9-54f3cbe90cb5", + "derived_uuid": "78a91239-ae31-5e03-98c9-54f3cbe90cb5", + "action": "unchanged" + }, + { + "repo": "coordination-engine", + "path": "workplans/COORDINATION-WP-0003-worker-coordination-service.md", + "kind": "task", + "record_id": "COORDINATION-WP-0003-T02", + "current_uuid": "1a428ed2-01d4-5af7-9341-db83712da9d9", + "derived_uuid": "1a428ed2-01d4-5af7-9341-db83712da9d9", + "action": "unchanged" + }, + { + "repo": "coordination-engine", + "path": "workplans/COORDINATION-WP-0003-worker-coordination-service.md", + "kind": "task", + "record_id": "COORDINATION-WP-0003-T04", + "current_uuid": "4ba98e37-cd98-5fb6-9065-4d241dfbabd2", + "derived_uuid": "4ba98e37-cd98-5fb6-9065-4d241dfbabd2", + "action": "unchanged" + }, + { + "repo": "coordination-engine", + "path": "workplans/COORDINATION-WP-0003-worker-coordination-service.md", + "kind": "task", + "record_id": "COORDINATION-WP-0003-T03", + "current_uuid": "074e42ed-2049-5379-aac8-bb3b88672f60", + "derived_uuid": "074e42ed-2049-5379-aac8-bb3b88672f60", + "action": "unchanged" + } + ] + }, + { + "repo": "core-hub", + "path": "/home/worsch/core-hub", + "planned_head_sha": "a1637ed449982b500c989267909ff9aedb6f81a6", + "source_fingerprint": "67395c2777f6bfbcc03b571d17b8e473cf4e5ecff1f9e693f571bb0d99eca1c6", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "core-hub", + "path": "workplans/CORE-WP-0010-runtime-absorption-and-archive.md", + "kind": "workplan", + "record_id": "CORE-WP-0010", + "current_uuid": "9cc1abf3-2ab0-54a4-a250-83f382a49441", + "derived_uuid": "9cc1abf3-2ab0-54a4-a250-83f382a49441", + "action": "unchanged" + }, + { + "repo": "core-hub", + "path": "workplans/CORE-WP-0010-runtime-absorption-and-archive.md", + "kind": "task", + "record_id": "CORE-WP-0010-T05", + "current_uuid": "6e67fd41-3f52-5085-85b6-1661c322e290", + "derived_uuid": "6e67fd41-3f52-5085-85b6-1661c322e290", + "action": "unchanged" + } + ] + }, + { + "repo": "fin-hub", + "path": "/home/worsch/fin-hub", + "planned_head_sha": "4d4cdee875ab1a662aa3a19fdbfd6fc10b166088", + "source_fingerprint": "87d20c856f5a6f17071948a1cd1c4a149d867a54b99f2f5924413a33811dedd0", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "fin-hub", + "path": "workplans/FIN-WP-0003-fabric-authority-boundary.md", + "kind": "workplan", + "record_id": "FIN-WP-0003", + "current_uuid": "1f6698f4-65b9-4e3b-bdf5-b079341e4581", + "derived_uuid": "21623d7d-25f8-5d80-9baa-f4d20e1c7a6e", + "action": "replace" + }, + { + "repo": "fin-hub", + "path": "workplans/FIN-WP-0003-fabric-authority-boundary.md", + "kind": "task", + "record_id": "FIN-WP-0003-T01", + "current_uuid": "4471c006-5740-4241-8c81-251134c82f0d", + "derived_uuid": "c6f6d2c5-4df2-5f8a-a838-76e4a0cb2974", + "action": "replace" + }, + { + "repo": "fin-hub", + "path": "workplans/FIN-WP-0003-fabric-authority-boundary.md", + "kind": "task", + "record_id": "FIN-WP-0003-T02", + "current_uuid": "76c7ed79-8614-4e42-9e4c-f50bf789b584", + "derived_uuid": "9743357c-d32d-5508-845e-d341fd611c49", + "action": "replace" + }, + { + "repo": "fin-hub", + "path": "workplans/FIN-WP-0003-fabric-authority-boundary.md", + "kind": "task", + "record_id": "FIN-WP-0003-T03", + "current_uuid": "ae36e4e7-c39d-4027-bc49-e7abb52fb9e1", + "derived_uuid": "b57b5135-7e77-5cbe-9da8-fa226e43a0a5", + "action": "replace" + }, + { + "repo": "fin-hub", + "path": "workplans/FIN-WP-0004-resource-cost-evidence-contract.md", + "kind": "workplan", + "record_id": "FIN-WP-0004", + "current_uuid": "67b6de6c-4820-4478-9789-f50260204c27", + "derived_uuid": "e8b432af-43ae-517f-a69b-80d4f0db976d", + "action": "replace" + }, + { + "repo": "fin-hub", + "path": "workplans/FIN-WP-0004-resource-cost-evidence-contract.md", + "kind": "task", + "record_id": "FIN-WP-0004-T05", + "current_uuid": "9a411734-76f6-4c8d-9a48-b5a08cf8fd1f", + "derived_uuid": "aabb9b66-cc20-5f96-83d8-5df9dc55282e", + "action": "replace" + }, + { + "repo": "fin-hub", + "path": "workplans/FIN-WP-0005-datev-accounting-adapter-operations.md", + "kind": "workplan", + "record_id": "FIN-WP-0005", + "current_uuid": "1c081ee5-cf39-4868-ac17-48aada6e102b", + "derived_uuid": "58432770-da19-5b72-a946-cacbe1eb24ca", + "action": "replace" + }, + { + "repo": "fin-hub", + "path": "workplans/FIN-WP-0005-datev-accounting-adapter-operations.md", + "kind": "task", + "record_id": "FIN-WP-0005-T01", + "current_uuid": "55cb6ec1-2bd6-4f33-8a4b-7791193c4c09", + "derived_uuid": "7cdda85d-cdd6-544c-b873-f27ec7ef448d", + "action": "replace" + }, + { + "repo": "fin-hub", + "path": "workplans/FIN-WP-0005-datev-accounting-adapter-operations.md", + "kind": "task", + "record_id": "FIN-WP-0005-T02", + "current_uuid": "e2400fb4-ff8e-4336-9702-60d0c2e254b3", + "derived_uuid": "c2e0b529-43d5-5c17-af07-8140ae98d4c2", + "action": "replace" + }, + { + "repo": "fin-hub", + "path": "workplans/FIN-WP-0005-datev-accounting-adapter-operations.md", + "kind": "task", + "record_id": "FIN-WP-0005-T03", + "current_uuid": "16865fc6-5e6e-46cd-9ed1-109fa0eeb8e7", + "derived_uuid": "c6b3177a-a9a3-5a91-9917-ffca94f77d7a", + "action": "replace" + }, + { + "repo": "fin-hub", + "path": "workplans/FIN-WP-0005-datev-accounting-adapter-operations.md", + "kind": "task", + "record_id": "FIN-WP-0005-T04", + "current_uuid": "e372997a-a5a2-4c02-a6f4-50ea34add067", + "derived_uuid": "0be9e6cf-504f-5c63-a31c-12a9390fc79e", + "action": "replace" + }, + { + "repo": "fin-hub", + "path": "workplans/FIN-WP-0006-internal-transfer-settlement.md", + "kind": "workplan", + "record_id": "FIN-WP-0006", + "current_uuid": "681c39ef-b902-4ccd-8018-0fa25bccf455", + "derived_uuid": "e9413a20-5b11-50ff-ba21-15215841cf11", + "action": "replace" + }, + { + "repo": "fin-hub", + "path": "workplans/FIN-WP-0006-internal-transfer-settlement.md", + "kind": "task", + "record_id": "FIN-WP-0006-T01", + "current_uuid": "d9618171-b1cb-4df2-bcaf-92eb937e316e", + "derived_uuid": "9ef3fab5-51a6-57ef-8121-b9714298c502", + "action": "replace" + } + ] + }, + { + "repo": "flex-auth", + "path": "/home/worsch/flex-auth", + "planned_head_sha": "8ea8644ea248ae5278bf80288a979ac7174c47d4", + "source_fingerprint": "b1fe1956c09e368bb1db81b8feb005d0467b9b495e0f4b7c1685ad4040bc942c", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "flex-auth", + "path": "workplans/FLEX-WP-0017-action-bound-authorization-contract.md", + "kind": "workplan", + "record_id": "FLEX-WP-0017", + "current_uuid": "d75b7256-8b3d-5797-911c-96c3199b8baa", + "derived_uuid": "d75b7256-8b3d-5797-911c-96c3199b8baa", + "action": "unchanged" + }, + { + "repo": "flex-auth", + "path": "workplans/FLEX-WP-0017-action-bound-authorization-contract.md", + "kind": "task", + "record_id": "FLEX-WP-0017-T03", + "current_uuid": "82d39961-8140-5a7f-9bd8-5164dd1742e5", + "derived_uuid": "82d39961-8140-5a7f-9bd8-5164dd1742e5", + "action": "unchanged" + }, + { + "repo": "flex-auth", + "path": "workplans/FLEX-WP-0017-action-bound-authorization-contract.md", + "kind": "task", + "record_id": "FLEX-WP-0017-T05", + "current_uuid": "8c3fc0a2-0855-5ac9-afa5-d03b8b1f0bf9", + "derived_uuid": "8c3fc0a2-0855-5ac9-afa5-d03b8b1f0bf9", + "action": "unchanged" + }, + { + "repo": "flex-auth", + "path": "workplans/FLEX-WP-0019-layer-model-conformance.md", + "kind": "workplan", + "record_id": "FLEX-WP-0019", + "current_uuid": "84b9dc5a-71f2-5c70-ace6-78242b13d0f1", + "derived_uuid": "84b9dc5a-71f2-5c70-ace6-78242b13d0f1", + "action": "unchanged" + }, + { + "repo": "flex-auth", + "path": "workplans/FLEX-WP-0019-layer-model-conformance.md", + "kind": "task", + "record_id": "FLEX-WP-0019-T01", + "current_uuid": "f72b1305-114e-5ba2-b84c-f6cc0b524178", + "derived_uuid": "f72b1305-114e-5ba2-b84c-f6cc0b524178", + "action": "unchanged" + }, + { + "repo": "flex-auth", + "path": "workplans/FLEX-WP-0019-layer-model-conformance.md", + "kind": "task", + "record_id": "FLEX-WP-0019-T02", + "current_uuid": "7a980074-8488-5ab1-9202-60878adb261d", + "derived_uuid": "7a980074-8488-5ab1-9202-60878adb261d", + "action": "unchanged" + }, + { + "repo": "flex-auth", + "path": "workplans/FLEX-WP-0019-layer-model-conformance.md", + "kind": "task", + "record_id": "FLEX-WP-0019-T03", + "current_uuid": "9d9c0e7a-56e2-5c71-9110-cea973243c22", + "derived_uuid": "9d9c0e7a-56e2-5c71-9110-cea973243c22", + "action": "unchanged" + }, + { + "repo": "flex-auth", + "path": "workplans/FLEX-WP-0019-layer-model-conformance.md", + "kind": "task", + "record_id": "FLEX-WP-0019-T04", + "current_uuid": "d5917b24-2efb-503e-9a9d-837702cafc1c", + "derived_uuid": "d5917b24-2efb-503e-9a9d-837702cafc1c", + "action": "unchanged" + }, + { + "repo": "flex-auth", + "path": "workplans/FLEX-WP-0019-layer-model-conformance.md", + "kind": "task", + "record_id": "FLEX-WP-0019-T05", + "current_uuid": "f7f501d7-6862-5542-88f7-78b704524706", + "derived_uuid": "f7f501d7-6862-5542-88f7-78b704524706", + "action": "unchanged" + }, + { + "repo": "flex-auth", + "path": "workplans/FLEX-WP-0019-layer-model-conformance.md", + "kind": "task", + "record_id": "FLEX-WP-0019-T06", + "current_uuid": "bc109ee3-14b0-5603-a655-0d7376c2a41c", + "derived_uuid": "bc109ee3-14b0-5603-a655-0d7376c2a41c", + "action": "unchanged" + }, + { + "repo": "flex-auth", + "path": "workplans/FLEX-WP-0020-repository-identity-migration.md", + "kind": "workplan", + "record_id": "FLEX-WP-0020", + "current_uuid": "99a661a8-b36c-5c1c-b78b-1e8930bcd0a9", + "derived_uuid": "99a661a8-b36c-5c1c-b78b-1e8930bcd0a9", + "action": "unchanged" + }, + { + "repo": "flex-auth", + "path": "workplans/FLEX-WP-0020-repository-identity-migration.md", + "kind": "task", + "record_id": "FLEX-WP-0020-T01", + "current_uuid": "bb989019-50a7-5273-ba09-b2df2e2602a4", + "derived_uuid": "bb989019-50a7-5273-ba09-b2df2e2602a4", + "action": "unchanged" + }, + { + "repo": "flex-auth", + "path": "workplans/FLEX-WP-0020-repository-identity-migration.md", + "kind": "task", + "record_id": "FLEX-WP-0020-T02", + "current_uuid": "102e9dc7-4724-5e80-84c4-092e6ecfbb2b", + "derived_uuid": "102e9dc7-4724-5e80-84c4-092e6ecfbb2b", + "action": "unchanged" + }, + { + "repo": "flex-auth", + "path": "workplans/FLEX-WP-0020-repository-identity-migration.md", + "kind": "task", + "record_id": "FLEX-WP-0020-T03", + "current_uuid": "5095ddbc-b69c-5a52-b97f-08fca9b610c3", + "derived_uuid": "5095ddbc-b69c-5a52-b97f-08fca9b610c3", + "action": "unchanged" + }, + { + "repo": "flex-auth", + "path": "workplans/FLEX-WP-0020-repository-identity-migration.md", + "kind": "task", + "record_id": "FLEX-WP-0020-T04", + "current_uuid": "9bb138e1-5edb-5714-8d89-3b1b7039a7ce", + "derived_uuid": "9bb138e1-5edb-5714-8d89-3b1b7039a7ce", + "action": "unchanged" + }, + { + "repo": "flex-auth", + "path": "workplans/FLEX-WP-0020-repository-identity-migration.md", + "kind": "task", + "record_id": "FLEX-WP-0020-T05", + "current_uuid": "86fecbb6-b008-5354-8d70-0f4ba5077a58", + "derived_uuid": "86fecbb6-b008-5354-8d70-0f4ba5077a58", + "action": "unchanged" + }, + { + "repo": "flex-auth", + "path": "workplans/FLEX-WP-0020-repository-identity-migration.md", + "kind": "task", + "record_id": "FLEX-WP-0020-T06", + "current_uuid": "aa7ccd59-ddd3-5af0-a866-30e88552fc09", + "derived_uuid": "aa7ccd59-ddd3-5af0-a866-30e88552fc09", + "action": "unchanged" + }, + { + "repo": "flex-auth", + "path": "workplans/FLEX-WP-0020-repository-identity-migration.md", + "kind": "task", + "record_id": "FLEX-WP-0020-T07", + "current_uuid": "155041ed-8cba-5e5e-ac59-fc03ef6dd0ce", + "derived_uuid": "155041ed-8cba-5e5e-ac59-fc03ef6dd0ce", + "action": "unchanged" + }, + { + "repo": "flex-auth", + "path": "workplans/FLEX-WP-0020-repository-identity-migration.md", + "kind": "task", + "record_id": "FLEX-WP-0020-T08", + "current_uuid": "c8afe078-41cf-5d8c-84d1-a49e4b618d34", + "derived_uuid": "c8afe078-41cf-5d8c-84d1-a49e4b618d34", + "action": "unchanged" + }, + { + "repo": "flex-auth", + "path": "workplans/FLEX-WP-0020-repository-identity-migration.md", + "kind": "task", + "record_id": "FLEX-WP-0020-T09", + "current_uuid": "fdb50a96-f7fa-5d4a-9efa-231750dcb2f1", + "derived_uuid": "fdb50a96-f7fa-5d4a-9efa-231750dcb2f1", + "action": "unchanged" + }, + { + "repo": "flex-auth", + "path": "workplans/FLEX-WP-0020-repository-identity-migration.md", + "kind": "task", + "record_id": "FLEX-WP-0020-T10", + "current_uuid": "3dc49eb4-1f39-5250-87c9-716a9a97790d", + "derived_uuid": "3dc49eb4-1f39-5250-87c9-716a9a97790d", + "action": "unchanged" + }, + { + "repo": "flex-auth", + "path": "workplans/FLEX-WP-0020-repository-identity-migration.md", + "kind": "task", + "record_id": "FLEX-WP-0020-T11", + "current_uuid": "46d8318b-d1fb-52e3-b632-52230ed1438f", + "derived_uuid": "46d8318b-d1fb-52e3-b632-52230ed1438f", + "action": "unchanged" + } + ] + }, + { + "repo": "gate-house", + "path": "/home/worsch/gate-house", + "planned_head_sha": "6076d5d9ba9321173946b4421e5a6506929533c9", + "source_fingerprint": "2da44d64ffa3adb9eab3185599fb9f233ec0dd266ef60736e98803b83a8e2774", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "gate-house", + "path": "workplans/GH-WP-0001-foundation.md", + "kind": "workplan", + "record_id": "GH-WP-0001", + "current_uuid": "2ec4cf1a-a73f-5793-9738-8d8019cccca8", + "derived_uuid": "2ec4cf1a-a73f-5793-9738-8d8019cccca8", + "action": "unchanged" + }, + { + "repo": "gate-house", + "path": "workplans/GH-WP-0001-foundation.md", + "kind": "task", + "record_id": "GH-WP-0001-T04", + "current_uuid": "7903d142-9763-5b3f-839d-2a1599130a2b", + "derived_uuid": "7903d142-9763-5b3f-839d-2a1599130a2b", + "action": "unchanged" + }, + { + "repo": "gate-house", + "path": "workplans/GH-WP-0001-foundation.md", + "kind": "task", + "record_id": "GH-WP-0001-T05", + "current_uuid": "010e3162-cab1-5644-b262-b0d1d7d676f8", + "derived_uuid": "010e3162-cab1-5644-b262-b0d1d7d676f8", + "action": "unchanged" + }, + { + "repo": "gate-house", + "path": "workplans/GH-WP-0001-foundation.md", + "kind": "task", + "record_id": "GH-WP-0001-T06", + "current_uuid": "8cc018e1-2787-5435-9c2c-c2b01cf75ae4", + "derived_uuid": "8cc018e1-2787-5435-9c2c-c2b01cf75ae4", + "action": "unchanged" + } + ] + }, + { + "repo": "glas-harness", + "path": "/home/worsch/glas-harness", + "planned_head_sha": "02b29af9ca87867e0d398c06139d771a19728b70", + "source_fingerprint": "fb5dfcf3b8dfcbd90ab762a6d8f8195c7a8fb1e3601be69ccf6d783c4c2b09ab", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "glas-harness", + "path": "workplans/GLAS-WP-0005-sandbox-boundary-runtime-hardening.md", + "kind": "workplan", + "record_id": "GLAS-WP-0005", + "current_uuid": "c8049700-73ca-549a-b250-1020de1cddc5", + "derived_uuid": "c8049700-73ca-549a-b250-1020de1cddc5", + "action": "unchanged" + }, + { + "repo": "glas-harness", + "path": "workplans/GLAS-WP-0005-sandbox-boundary-runtime-hardening.md", + "kind": "task", + "record_id": "GLAS-WP-0005-T05", + "current_uuid": "a4be4d68-b0af-5273-978a-367bba414f0c", + "derived_uuid": "a4be4d68-b0af-5273-978a-367bba414f0c", + "action": "unchanged" + } + ] + }, + { + "repo": "hub-core", + "path": "/home/worsch/hub-core", + "planned_head_sha": "8db1a24ca4bec86bab1e0a30e9b77731488199e6", + "source_fingerprint": "a2076b7fcaabdb366bb6587b1809bdaad86eecaef6009b3e93b211ebc233be7b", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "hub-core", + "path": "workplans/HUB-WP-0006-repository-classification-navigation.md", + "kind": "workplan", + "record_id": "HUB-WP-0006", + "current_uuid": "05ebd06e-4af8-5f6c-918c-c143c1520e00", + "derived_uuid": "05ebd06e-4af8-5f6c-918c-c143c1520e00", + "action": "unchanged" + }, + { + "repo": "hub-core", + "path": "workplans/HUB-WP-0006-repository-classification-navigation.md", + "kind": "task", + "record_id": "HUB-WP-0006-T06", + "current_uuid": "7c8225f7-03dc-57b0-a668-c3d781bd828a", + "derived_uuid": "7c8225f7-03dc-57b0-a668-c3d781bd828a", + "action": "unchanged" + } + ] + }, + { + "repo": "issue-core", + "path": "/home/worsch/issue-core", + "planned_head_sha": "f9d276dadf3c7ad3383d673508b86ebec17356e4", + "source_fingerprint": "ec7b7818c6c60124b239d0b6c2d5da226604b0a1b234a0fb39770ab3e651527b", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "issue-core", + "path": "workplans/ISSUE-WP-0006-forgejo-only-projection-boundary.md", + "kind": "workplan", + "record_id": "ISSUE-WP-0006", + "current_uuid": "4d465264-cbe1-56ba-84ed-bd580b649b76", + "derived_uuid": "4d465264-cbe1-56ba-84ed-bd580b649b76", + "action": "unchanged" + }, + { + "repo": "issue-core", + "path": "workplans/ISSUE-WP-0006-forgejo-only-projection-boundary.md", + "kind": "task", + "record_id": "ISSUE-WP-0006-T01", + "current_uuid": "927eee42-e22d-5c0d-a4f8-dcd36c53c8e9", + "derived_uuid": "927eee42-e22d-5c0d-a4f8-dcd36c53c8e9", + "action": "unchanged" + }, + { + "repo": "issue-core", + "path": "workplans/ISSUE-WP-0006-forgejo-only-projection-boundary.md", + "kind": "task", + "record_id": "ISSUE-WP-0006-T02", + "current_uuid": "a1d69a48-833b-5e5e-8286-14f5aba627f3", + "derived_uuid": "a1d69a48-833b-5e5e-8286-14f5aba627f3", + "action": "unchanged" + }, + { + "repo": "issue-core", + "path": "workplans/ISSUE-WP-0006-forgejo-only-projection-boundary.md", + "kind": "task", + "record_id": "ISSUE-WP-0006-T03", + "current_uuid": "75eef8a3-abd7-50dd-9171-3488fda84da5", + "derived_uuid": "75eef8a3-abd7-50dd-9171-3488fda84da5", + "action": "unchanged" + }, + { + "repo": "issue-core", + "path": "workplans/ISSUE-WP-0006-forgejo-only-projection-boundary.md", + "kind": "task", + "record_id": "ISSUE-WP-0006-T04", + "current_uuid": "5be0bce4-1816-599f-a98b-4fa1565a8b0e", + "derived_uuid": "5be0bce4-1816-599f-a98b-4fa1565a8b0e", + "action": "unchanged" + } + ] + }, + { + "repo": "kings-guard", + "path": "/home/worsch/kings-guard", + "planned_head_sha": "4b37bb18a5d5d71ba98606fb09cf5e84946d620a", + "source_fingerprint": "984a44a48aa49cf1a4526f9991b1e496d934879719557237b49c6f5c5946f750", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "kings-guard", + "path": "workplans/KG-WP-0003-evidence-completeness-and-live-observation.md", + "kind": "workplan", + "record_id": "KG-WP-0003", + "current_uuid": "a6c1c760-1386-58fa-9392-d9c3c4dadc41", + "derived_uuid": "a6c1c760-1386-58fa-9392-d9c3c4dadc41", + "action": "unchanged" + }, + { + "repo": "kings-guard", + "path": "workplans/KG-WP-0003-evidence-completeness-and-live-observation.md", + "kind": "task", + "record_id": "KG-WP-0003-T01", + "current_uuid": "dd660dbf-9148-5f35-aa4a-74deb10e6f8a", + "derived_uuid": "dd660dbf-9148-5f35-aa4a-74deb10e6f8a", + "action": "unchanged" + }, + { + "repo": "kings-guard", + "path": "workplans/KG-WP-0003-evidence-completeness-and-live-observation.md", + "kind": "task", + "record_id": "KG-WP-0003-T02", + "current_uuid": "5b66aec0-a753-5039-bcbe-bc69cf1ad13e", + "derived_uuid": "5b66aec0-a753-5039-bcbe-bc69cf1ad13e", + "action": "unchanged" + }, + { + "repo": "kings-guard", + "path": "workplans/KG-WP-0003-evidence-completeness-and-live-observation.md", + "kind": "task", + "record_id": "KG-WP-0003-T03", + "current_uuid": "2cd878c0-8b70-5f2b-9f82-c4d74df5833c", + "derived_uuid": "2cd878c0-8b70-5f2b-9f82-c4d74df5833c", + "action": "unchanged" + }, + { + "repo": "kings-guard", + "path": "workplans/KG-WP-0003-evidence-completeness-and-live-observation.md", + "kind": "task", + "record_id": "KG-WP-0003-T04", + "current_uuid": "73367acf-d888-5acc-ae85-7231a9cbe9fe", + "derived_uuid": "73367acf-d888-5acc-ae85-7231a9cbe9fe", + "action": "unchanged" + }, + { + "repo": "kings-guard", + "path": "workplans/KG-WP-0003-evidence-completeness-and-live-observation.md", + "kind": "task", + "record_id": "KG-WP-0003-T05", + "current_uuid": "d7ed9faf-58ee-59a1-ad1e-b2fcf817317f", + "derived_uuid": "d7ed9faf-58ee-59a1-ad1e-b2fcf817317f", + "action": "unchanged" + }, + { + "repo": "kings-guard", + "path": "workplans/KG-WP-0003-evidence-completeness-and-live-observation.md", + "kind": "task", + "record_id": "KG-WP-0003-T06", + "current_uuid": "98326ed2-ee5f-58ce-9f99-429e621117a6", + "derived_uuid": "98326ed2-ee5f-58ce-9f99-429e621117a6", + "action": "unchanged" + }, + { + "repo": "kings-guard", + "path": "workplans/KG-WP-0003-evidence-completeness-and-live-observation.md", + "kind": "task", + "record_id": "KG-WP-0003-T07", + "current_uuid": "ae516be8-5199-5f81-b47f-7843b5993f97", + "derived_uuid": "ae516be8-5199-5f81-b47f-7843b5993f97", + "action": "unchanged" + }, + { + "repo": "kings-guard", + "path": "workplans/KG-WP-0003-evidence-completeness-and-live-observation.md", + "kind": "task", + "record_id": "KG-WP-0003-T08", + "current_uuid": "e7003fb3-2e7c-5440-b489-b619b3f0c65d", + "derived_uuid": "e7003fb3-2e7c-5440-b489-b619b3f0c65d", + "action": "unchanged" + } + ] + }, + { + "repo": "markitect-main", + "path": "/home/worsch/markitect-main", + "planned_head_sha": "807df24a44e85966027ca7f3f4f732c58053acc5", + "source_fingerprint": "4e51abd39647f5234db38ecaf07013348f8edd4bb657a65b398b72394863779b", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "markitect-main", + "path": "workplans/MARKITECT-WP-0002-testdrive-jsui-publication.md", + "kind": "workplan", + "record_id": "MARKITECT-WP-0002", + "current_uuid": "e03ef262-5284-5dd3-92d2-dbd85c6b6159", + "derived_uuid": "e03ef262-5284-5dd3-92d2-dbd85c6b6159", + "action": "unchanged" + }, + { + "repo": "markitect-main", + "path": "workplans/MARKITECT-WP-0002-testdrive-jsui-publication.md", + "kind": "task", + "record_id": "MARKITECT-WP-0002-T01", + "current_uuid": "1852eca1-92e2-518e-bb21-9dffbeb32a4f", + "derived_uuid": "1852eca1-92e2-518e-bb21-9dffbeb32a4f", + "action": "unchanged" + } + ] + }, + { + "repo": "net-kingdom", + "path": "/home/worsch/net-kingdom", + "planned_head_sha": "9a7f5c9337d5ed6d50316c53c8118700d6bb8751", + "source_fingerprint": "26639909442d8e19f68b06fd47890b96a3bc79d42434bf3f7c4f30bc5be67f6c", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "net-kingdom", + "path": "workplans/NK-WP-0009-netkingdom-security-pattern-tutorials.md", + "kind": "workplan", + "record_id": "NK-WP-0009", + "current_uuid": "66c9f1e9-6b2f-454b-a6d4-04e5fe42385a", + "derived_uuid": "d4d02dbf-3974-502d-8b87-b776fc63e17e", + "action": "replace" + }, + { + "repo": "net-kingdom", + "path": "workplans/NK-WP-0009-netkingdom-security-pattern-tutorials.md", + "kind": "task", + "record_id": "NK-WP-0009-T01", + "current_uuid": "79150b07-f25d-4407-a118-e08b6e588d37", + "derived_uuid": "3c6824a0-39e6-51f5-b46f-5861a9375439", + "action": "replace" + }, + { + "repo": "net-kingdom", + "path": "workplans/NK-WP-0009-netkingdom-security-pattern-tutorials.md", + "kind": "task", + "record_id": "NK-WP-0009-T02", + "current_uuid": "07647ba6-90e1-4569-947a-ebccce7a2d5e", + "derived_uuid": "d13760fd-2527-5a39-acb1-11c8091d65a1", + "action": "replace" + }, + { + "repo": "net-kingdom", + "path": "workplans/NK-WP-0009-netkingdom-security-pattern-tutorials.md", + "kind": "task", + "record_id": "NK-WP-0009-T03", + "current_uuid": "0f34eda3-f1f3-4c49-9eba-36167b6c5ea9", + "derived_uuid": "16cf51a4-0763-59e9-9b4c-d486f5bde908", + "action": "replace" + }, + { + "repo": "net-kingdom", + "path": "workplans/NK-WP-0009-netkingdom-security-pattern-tutorials.md", + "kind": "task", + "record_id": "NK-WP-0009-T04", + "current_uuid": "3c17d1ac-3232-43b4-b541-ea6538da2afb", + "derived_uuid": "1d28e3f1-fb39-5d0e-a7ee-ce2e9bc16ed5", + "action": "replace" + }, + { + "repo": "net-kingdom", + "path": "workplans/NK-WP-0009-netkingdom-security-pattern-tutorials.md", + "kind": "task", + "record_id": "NK-WP-0009-T05", + "current_uuid": "aff82173-0b8e-4216-855a-887ac68b63e0", + "derived_uuid": "c380ef19-4bc2-5ade-b127-baf18c64bf35", + "action": "replace" + }, + { + "repo": "net-kingdom", + "path": "workplans/NK-WP-0009-netkingdom-security-pattern-tutorials.md", + "kind": "task", + "record_id": "NK-WP-0009-T06", + "current_uuid": "df427aa3-233f-4479-aed9-706676f8e87d", + "derived_uuid": "5b6a1670-a283-56e9-892e-ef8b91194a7b", + "action": "replace" + }, + { + "repo": "net-kingdom", + "path": "workplans/NK-WP-0011-enterprise-federation-saml.md", + "kind": "workplan", + "record_id": "NK-WP-0011", + "current_uuid": "a44beef8-c18b-4ae7-b7fe-a178cc4fcdf0", + "derived_uuid": "1075448f-d533-5f9e-94b7-c3adfe151a07", + "action": "replace" + }, + { + "repo": "net-kingdom", + "path": "workplans/NK-WP-0011-enterprise-federation-saml.md", + "kind": "task", + "record_id": "NK-WP-0011-T01", + "current_uuid": "934f9223-2b6f-4d01-b49b-406b5b98b6e4", + "derived_uuid": "a5807808-fb34-50de-8f67-9128011833d4", + "action": "replace" + }, + { + "repo": "net-kingdom", + "path": "workplans/NK-WP-0011-enterprise-federation-saml.md", + "kind": "task", + "record_id": "NK-WP-0011-T02", + "current_uuid": "7b514cda-41b3-492f-8731-5a131422059d", + "derived_uuid": "2fe6f100-3a5d-563e-b033-7d7b846ae487", + "action": "replace" + }, + { + "repo": "net-kingdom", + "path": "workplans/NK-WP-0011-enterprise-federation-saml.md", + "kind": "task", + "record_id": "NK-WP-0011-T03", + "current_uuid": "8c29602e-ab9b-446a-8fee-5e2d8fbcb100", + "derived_uuid": "32d1411b-10a4-5a8b-8f43-99ac46d83908", + "action": "replace" + }, + { + "repo": "net-kingdom", + "path": "workplans/NK-WP-0011-enterprise-federation-saml.md", + "kind": "task", + "record_id": "NK-WP-0011-T04", + "current_uuid": "d62d7683-24b1-458c-9fd6-96e576b52a64", + "derived_uuid": "6697a994-7343-5ea8-8b37-bc3b921e5a9b", + "action": "replace" + }, + { + "repo": "net-kingdom", + "path": "workplans/NK-WP-0011-enterprise-federation-saml.md", + "kind": "task", + "record_id": "NK-WP-0011-T05", + "current_uuid": "85319768-5d81-460d-89dc-8de76b63e0dc", + "derived_uuid": "d845380d-3dbc-5e59-8f2b-5a4d1b32d89d", + "action": "replace" + }, + { + "repo": "net-kingdom", + "path": "workplans/NK-WP-0011-enterprise-federation-saml.md", + "kind": "task", + "record_id": "NK-WP-0011-T06", + "current_uuid": "53801dc2-7bdb-4fa3-9fa0-c1450ef1003b", + "derived_uuid": "9cb7fd93-c16e-5102-83ce-195b3aa87446", + "action": "replace" + }, + { + "repo": "net-kingdom", + "path": "workplans/NK-WP-0011-enterprise-federation-saml.md", + "kind": "task", + "record_id": "NK-WP-0011-T07", + "current_uuid": "981f79bd-63ee-4da0-8d7d-9af8e468715e", + "derived_uuid": "38998c68-29bf-50d2-8c8d-0c75184d5833", + "action": "replace" + }, + { + "repo": "net-kingdom", + "path": "workplans/NK-WP-0011-enterprise-federation-saml.md", + "kind": "task", + "record_id": "NK-WP-0011-T08", + "current_uuid": "13634760-7817-40c0-b7db-5e0f4196dbf0", + "derived_uuid": "e5f44ddc-9645-5f61-b84c-da5ab9cccb6d", + "action": "replace" + }, + { + "repo": "net-kingdom", + "path": "workplans/NK-WP-0022-railiance01-identity-cutover-and-coulombcore-retirement.md", + "kind": "workplan", + "record_id": "NK-WP-0022", + "current_uuid": "d76ddccc-00c8-548a-b141-2cd660fa38da", + "derived_uuid": "d76ddccc-00c8-548a-b141-2cd660fa38da", + "action": "unchanged" + }, + { + "repo": "net-kingdom", + "path": "workplans/NK-WP-0022-railiance01-identity-cutover-and-coulombcore-retirement.md", + "kind": "task", + "record_id": "NK-WP-0022-T08", + "current_uuid": "42a3b4c0-3481-5cfa-bdc2-66d05e751829", + "derived_uuid": "42a3b4c0-3481-5cfa-bdc2-66d05e751829", + "action": "unchanged" + }, + { + "repo": "net-kingdom", + "path": "workplans/NK-WP-0027-reef-placement-reconciliation.md", + "kind": "workplan", + "record_id": "NK-WP-0027", + "current_uuid": "965ad365-6b81-50a1-a2a3-2d0c1fcce0b4", + "derived_uuid": "965ad365-6b81-50a1-a2a3-2d0c1fcce0b4", + "action": "unchanged" + }, + { + "repo": "net-kingdom", + "path": "workplans/NK-WP-0027-reef-placement-reconciliation.md", + "kind": "task", + "record_id": "NK-WP-0027-T02", + "current_uuid": "5b35b646-a525-55da-852a-6005613d42ea", + "derived_uuid": "5b35b646-a525-55da-852a-6005613d42ea", + "action": "unchanged" + }, + { + "repo": "net-kingdom", + "path": "workplans/NK-WP-0027-reef-placement-reconciliation.md", + "kind": "task", + "record_id": "NK-WP-0027-T03", + "current_uuid": "e3f0bb0f-0c85-5cb9-a5ab-75f668cd3447", + "derived_uuid": "e3f0bb0f-0c85-5cb9-a5ab-75f668cd3447", + "action": "unchanged" + }, + { + "repo": "net-kingdom", + "path": "workplans/NK-WP-0027-reef-placement-reconciliation.md", + "kind": "task", + "record_id": "NK-WP-0027-T06", + "current_uuid": "bf8b3e1d-7ee0-5ad0-8705-5a580a9fb546", + "derived_uuid": "bf8b3e1d-7ee0-5ad0-8705-5a580a9fb546", + "action": "unchanged" + }, + { + "repo": "net-kingdom", + "path": "workplans/NK-WP-0031-deterministic-posture-feedback.md", + "kind": "workplan", + "record_id": "NK-WP-0031", + "current_uuid": "9d7b04f9-3803-5613-b7a5-8bd606c77f5a", + "derived_uuid": "9d7b04f9-3803-5613-b7a5-8bd606c77f5a", + "action": "unchanged" + }, + { + "repo": "net-kingdom", + "path": "workplans/NK-WP-0031-deterministic-posture-feedback.md", + "kind": "task", + "record_id": "NK-WP-0031-T04", + "current_uuid": "7d2029d2-db8d-526e-ab73-a0751becb193", + "derived_uuid": "7d2029d2-db8d-526e-ab73-a0751becb193", + "action": "unchanged" + }, + { + "repo": "net-kingdom", + "path": "workplans/NK-WP-0032-openbao-operator-loopback-callback.md", + "kind": "workplan", + "record_id": "NK-WP-0032", + "current_uuid": "516ee5b9-685b-5986-88d2-bde66c2ba96c", + "derived_uuid": "516ee5b9-685b-5986-88d2-bde66c2ba96c", + "action": "unchanged" + }, + { + "repo": "net-kingdom", + "path": "workplans/NK-WP-0032-openbao-operator-loopback-callback.md", + "kind": "task", + "record_id": "NK-WP-0032-T03", + "current_uuid": "73b77110-2d4f-527e-98eb-2ec33897681e", + "derived_uuid": "73b77110-2d4f-527e-98eb-2ec33897681e", + "action": "unchanged" + }, + { + "repo": "net-kingdom", + "path": "workplans/NK-WP-0032-openbao-operator-loopback-callback.md", + "kind": "task", + "record_id": "NK-WP-0032-T04", + "current_uuid": "f62bda4a-7607-5c50-9e04-664cc1b829ac", + "derived_uuid": "f62bda4a-7607-5c50-9e04-664cc1b829ac", + "action": "unchanged" + }, + { + "repo": "net-kingdom", + "path": "workplans/NK-WP-0033-keycape-secret-exposure-rotation.md", + "kind": "workplan", + "record_id": "NK-WP-0033", + "current_uuid": "63665674-6880-593e-96e6-bab3211b1352", + "derived_uuid": "63665674-6880-593e-96e6-bab3211b1352", + "action": "unchanged" + }, + { + "repo": "net-kingdom", + "path": "workplans/NK-WP-0033-keycape-secret-exposure-rotation.md", + "kind": "task", + "record_id": "NK-WP-0033-T03", + "current_uuid": "f0f6d6c3-9c45-56b7-9fd6-52fb0ea9054a", + "derived_uuid": "f0f6d6c3-9c45-56b7-9fd6-52fb0ea9054a", + "action": "unchanged" + }, + { + "repo": "net-kingdom", + "path": "workplans/NK-WP-0033-keycape-secret-exposure-rotation.md", + "kind": "task", + "record_id": "NK-WP-0033-T05", + "current_uuid": "41e55d5c-ae28-5ee2-be25-b9a3758428f7", + "derived_uuid": "41e55d5c-ae28-5ee2-be25-b9a3758428f7", + "action": "unchanged" + }, + { + "repo": "net-kingdom", + "path": "workplans/NK-WP-0034-verification-that-verifies.md", + "kind": "workplan", + "record_id": "NK-WP-0034", + "current_uuid": "c87e142c-4eda-5c1b-84a9-ee5a848f3f63", + "derived_uuid": "c87e142c-4eda-5c1b-84a9-ee5a848f3f63", + "action": "unchanged" + }, + { + "repo": "net-kingdom", + "path": "workplans/NK-WP-0034-verification-that-verifies.md", + "kind": "task", + "record_id": "NK-WP-0034-T01", + "current_uuid": "9b5d8034-0ef1-53f9-ad4d-37de536bdc62", + "derived_uuid": "9b5d8034-0ef1-53f9-ad4d-37de536bdc62", + "action": "unchanged" + }, + { + "repo": "net-kingdom", + "path": "workplans/NK-WP-0034-verification-that-verifies.md", + "kind": "task", + "record_id": "NK-WP-0034-T02", + "current_uuid": "0bd09a40-8b4d-5f9d-8d4c-81c55aa0c565", + "derived_uuid": "0bd09a40-8b4d-5f9d-8d4c-81c55aa0c565", + "action": "unchanged" + }, + { + "repo": "net-kingdom", + "path": "workplans/NK-WP-0034-verification-that-verifies.md", + "kind": "task", + "record_id": "NK-WP-0034-T03", + "current_uuid": "becb4dce-4971-5755-888f-5276c4a56fe7", + "derived_uuid": "becb4dce-4971-5755-888f-5276c4a56fe7", + "action": "unchanged" + }, + { + "repo": "net-kingdom", + "path": "workplans/NK-WP-0034-verification-that-verifies.md", + "kind": "task", + "record_id": "NK-WP-0034-T04", + "current_uuid": "d43ae8e8-eda6-5c1d-9e1b-01966b0e92da", + "derived_uuid": "d43ae8e8-eda6-5c1d-9e1b-01966b0e92da", + "action": "unchanged" + } + ] + }, + { + "repo": "ops-hub", + "path": "/home/worsch/ops-hub", + "planned_head_sha": "9bbbf2032daf257d786446217bad79dc051a529c", + "source_fingerprint": "aef1881670409f4a17425ed12914a362495c23213dafb4cad64e476115e834f9", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "ops-hub", + "path": "workplans/OPS-WP-0003-extension-contract-alignment.md", + "kind": "workplan", + "record_id": "OPS-WP-0003", + "current_uuid": "d688d60b-7f86-5fbe-bf3f-76ff926d9a17", + "derived_uuid": "d688d60b-7f86-5fbe-bf3f-76ff926d9a17", + "action": "unchanged" + }, + { + "repo": "ops-hub", + "path": "workplans/OPS-WP-0003-extension-contract-alignment.md", + "kind": "task", + "record_id": "OPS-WP-0003-T01", + "current_uuid": "a938b0e2-912e-5126-aa6f-d63bdeebca5d", + "derived_uuid": "a938b0e2-912e-5126-aa6f-d63bdeebca5d", + "action": "unchanged" + }, + { + "repo": "ops-hub", + "path": "workplans/OPS-WP-0003-extension-contract-alignment.md", + "kind": "task", + "record_id": "OPS-WP-0003-T02", + "current_uuid": "1d1c422d-892c-5404-8d7f-a1f78c5cd87a", + "derived_uuid": "1d1c422d-892c-5404-8d7f-a1f78c5cd87a", + "action": "unchanged" + }, + { + "repo": "ops-hub", + "path": "workplans/OPS-WP-0003-extension-contract-alignment.md", + "kind": "task", + "record_id": "OPS-WP-0003-T03", + "current_uuid": "947306d4-8a00-5cd6-8c6d-1f266d45055c", + "derived_uuid": "947306d4-8a00-5cd6-8c6d-1f266d45055c", + "action": "unchanged" + } + ] + }, + { + "repo": "ops-mason", + "path": "/home/worsch/ops-mason", + "planned_head_sha": "f920bcad1af688197c15417257b392aec42db9e7", + "source_fingerprint": "313052df20b551ceeab8f7bc16b9d4cd09117f4a1721d2a98344780eed8cad22", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "ops-mason", + "path": "workplans/MASON-WP-0003-state-hub-forge-read-lane.md", + "kind": "workplan", + "record_id": "MASON-WP-0003", + "current_uuid": "4015b46d-02f1-56ac-853e-87e8542cf0dd", + "derived_uuid": "4015b46d-02f1-56ac-853e-87e8542cf0dd", + "action": "unchanged" + }, + { + "repo": "ops-mason", + "path": "workplans/MASON-WP-0003-state-hub-forge-read-lane.md", + "kind": "task", + "record_id": "MASON-WP-0003-T03", + "current_uuid": "e14f0eb3-a920-5623-b4c1-c20858dbb45d", + "derived_uuid": "e14f0eb3-a920-5623-b4c1-c20858dbb45d", + "action": "unchanged" + }, + { + "repo": "ops-mason", + "path": "workplans/MASON-WP-0004-credential-inventory-descriptions.md", + "kind": "workplan", + "record_id": "MASON-WP-0004", + "current_uuid": "e5656747-a974-581a-a3d4-4e6bb7262f4c", + "derived_uuid": "e5656747-a974-581a-a3d4-4e6bb7262f4c", + "action": "unchanged" + }, + { + "repo": "ops-mason", + "path": "workplans/MASON-WP-0004-credential-inventory-descriptions.md", + "kind": "task", + "record_id": "MASON-WP-0004-T01", + "current_uuid": "5bda75f2-f780-579e-9d44-cc4011662b9a", + "derived_uuid": "5bda75f2-f780-579e-9d44-cc4011662b9a", + "action": "unchanged" + }, + { + "repo": "ops-mason", + "path": "workplans/MASON-WP-0004-credential-inventory-descriptions.md", + "kind": "task", + "record_id": "MASON-WP-0004-T02", + "current_uuid": "a6a944d7-21c5-5043-a78d-b3809de0ee64", + "derived_uuid": "a6a944d7-21c5-5043-a78d-b3809de0ee64", + "action": "unchanged" + }, + { + "repo": "ops-mason", + "path": "workplans/MASON-WP-0004-credential-inventory-descriptions.md", + "kind": "task", + "record_id": "MASON-WP-0004-T03", + "current_uuid": "fff26914-d854-5854-b350-d7241812fb04", + "derived_uuid": "fff26914-d854-5854-b350-d7241812fb04", + "action": "unchanged" + }, + { + "repo": "ops-mason", + "path": "workplans/MASON-WP-0004-credential-inventory-descriptions.md", + "kind": "task", + "record_id": "MASON-WP-0004-T04", + "current_uuid": "9a0cea06-eb63-54ad-963d-db4ea79c7c66", + "derived_uuid": "9a0cea06-eb63-54ad-963d-db4ea79c7c66", + "action": "unchanged" + } + ] + }, + { + "repo": "ops-warden", + "path": "/home/worsch/ops-warden", + "planned_head_sha": "4e267179db741b27a3e62f81f753cd9752c97412", + "source_fingerprint": "b865c0adfa7d4f1b5ee6e4fca5be1ddc6dfdf1a0f9c50567493f07484b90699c", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "ops-warden", + "path": "workplans/WARDEN-WP-0027-credential-governance-lockdown.md", + "kind": "workplan", + "record_id": "WARDEN-WP-0027", + "current_uuid": "21528e8d-a049-523d-9ae1-da7a27cb8bbf", + "derived_uuid": "21528e8d-a049-523d-9ae1-da7a27cb8bbf", + "action": "unchanged" + }, + { + "repo": "ops-warden", + "path": "workplans/WARDEN-WP-0027-credential-governance-lockdown.md", + "kind": "task", + "record_id": "WARDEN-WP-0027-T02", + "current_uuid": "cae498ee-6307-5d32-9f1b-a471cfcc2536", + "derived_uuid": "cae498ee-6307-5d32-9f1b-a471cfcc2536", + "action": "unchanged" + }, + { + "repo": "ops-warden", + "path": "workplans/WARDEN-WP-0034-layer-model-v07-conformance.md", + "kind": "workplan", + "record_id": "WARDEN-WP-0034", + "current_uuid": "ae3ff76f-883d-5e2f-b6aa-144d61e8fdef", + "derived_uuid": "ae3ff76f-883d-5e2f-b6aa-144d61e8fdef", + "action": "unchanged" + }, + { + "repo": "ops-warden", + "path": "workplans/WARDEN-WP-0034-layer-model-v07-conformance.md", + "kind": "task", + "record_id": "WARDEN-WP-0034-T01", + "current_uuid": "8b3bdb9f-d2c2-5b3e-89e2-417bf3e37484", + "derived_uuid": "8b3bdb9f-d2c2-5b3e-89e2-417bf3e37484", + "action": "unchanged" + }, + { + "repo": "ops-warden", + "path": "workplans/WARDEN-WP-0034-layer-model-v07-conformance.md", + "kind": "task", + "record_id": "WARDEN-WP-0034-T02", + "current_uuid": "3318ee1a-b5d9-5d39-baf7-9c42a8bc7b55", + "derived_uuid": "3318ee1a-b5d9-5d39-baf7-9c42a8bc7b55", + "action": "unchanged" + }, + { + "repo": "ops-warden", + "path": "workplans/WARDEN-WP-0034-layer-model-v07-conformance.md", + "kind": "task", + "record_id": "WARDEN-WP-0034-T03", + "current_uuid": "a891b32c-b0a7-59f6-a5cd-977be65c09ca", + "derived_uuid": "a891b32c-b0a7-59f6-a5cd-977be65c09ca", + "action": "unchanged" + }, + { + "repo": "ops-warden", + "path": "workplans/WARDEN-WP-0034-layer-model-v07-conformance.md", + "kind": "task", + "record_id": "WARDEN-WP-0034-T04", + "current_uuid": "94e73daa-f74d-51fd-8639-68896a4066ee", + "derived_uuid": "94e73daa-f74d-51fd-8639-68896a4066ee", + "action": "unchanged" + }, + { + "repo": "ops-warden", + "path": "workplans/WARDEN-WP-0034-layer-model-v07-conformance.md", + "kind": "task", + "record_id": "WARDEN-WP-0034-T05", + "current_uuid": "7d1b3c82-9b96-5087-a53a-496212909029", + "derived_uuid": "7d1b3c82-9b96-5087-a53a-496212909029", + "action": "unchanged" + } + ] + }, + { + "repo": "policy-nexus", + "path": "/home/worsch/policy-nexus", + "planned_head_sha": "6515ed9ef8499cb3de3397f0ae3993cc71440599", + "source_fingerprint": "935992dd740f0af585d14d849af89d5af8e93949d8430874cbba43fa3e2e48c5", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "policy-nexus", + "path": "workplans/POLICY-NEXUS-WP-0002-arc42-architecture-collection.md", + "kind": "workplan", + "record_id": "POLICY-NEXUS-WP-0002", + "current_uuid": "cf780ff6-ccc1-58e5-aace-665ff9234f5c", + "derived_uuid": "cf780ff6-ccc1-58e5-aace-665ff9234f5c", + "action": "unchanged" + }, + { + "repo": "policy-nexus", + "path": "workplans/POLICY-NEXUS-WP-0002-arc42-architecture-collection.md", + "kind": "task", + "record_id": "POLICY-NEXUS-WP-0002-T06", + "current_uuid": "f4761eb6-ab53-5c02-8b7c-f301d3ca04fa", + "derived_uuid": "f4761eb6-ab53-5c02-8b7c-f301d3ca04fa", + "action": "unchanged" + }, + { + "repo": "policy-nexus", + "path": "workplans/POLICY-NEXUS-WP-0002-arc42-architecture-collection.md", + "kind": "task", + "record_id": "POLICY-NEXUS-WP-0002-T07", + "current_uuid": "4a07237f-715d-595a-9448-ae1e342ca633", + "derived_uuid": "4a07237f-715d-595a-9448-ae1e342ca633", + "action": "unchanged" + }, + { + "repo": "policy-nexus", + "path": "workplans/POLICY-NEXUS-WP-0003-adr-review-cleanup-publish.md", + "kind": "workplan", + "record_id": "POLICY-NEXUS-WP-0003", + "current_uuid": "d1cfae73-460d-59f7-88c3-b251e563fb05", + "derived_uuid": "d1cfae73-460d-59f7-88c3-b251e563fb05", + "action": "unchanged" + }, + { + "repo": "policy-nexus", + "path": "workplans/POLICY-NEXUS-WP-0003-adr-review-cleanup-publish.md", + "kind": "task", + "record_id": "POLICY-NEXUS-WP-0003-T06", + "current_uuid": "a06165fe-dabd-58bb-a67a-50e97122a0cc", + "derived_uuid": "a06165fe-dabd-58bb-a67a-50e97122a0cc", + "action": "unchanged" + }, + { + "repo": "policy-nexus", + "path": "workplans/POLICY-NEXUS-WP-0003-adr-review-cleanup-publish.md", + "kind": "task", + "record_id": "POLICY-NEXUS-WP-0003-T07", + "current_uuid": "f752e1f3-881e-5c3e-bcd3-071283f7d40b", + "derived_uuid": "f752e1f3-881e-5c3e-bcd3-071283f7d40b", + "action": "unchanged" + } + ] + }, + { + "repo": "prj-canon-federation", + "path": "/home/worsch/prj-canon-federation", + "planned_head_sha": "5756309077554d3de1f5ceef953a95a28116195d", + "source_fingerprint": "f70680a4c532ed0b86bf8db1c964a42440a355b98a578fd81d746de0d045c64a", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "prj-canon-federation", + "path": "workplans/CFED-WP-0001-foundation.md", + "kind": "workplan", + "record_id": "CFED-WP-0001", + "current_uuid": "7a96da54-050d-4210-96f9-0bb411aaaec8", + "derived_uuid": "1c5615fc-03b7-5648-ba58-e828b8c0cb0f", + "action": "replace" + }, + { + "repo": "prj-canon-federation", + "path": "workplans/CFED-WP-0001-foundation.md", + "kind": "task", + "record_id": "CFED-WP-0001-T02", + "current_uuid": "0ca7878c-f925-44f3-bf00-51b91fba0b3e", + "derived_uuid": "9c5ba080-e304-52cd-86d5-749a5a642387", + "action": "replace" + }, + { + "repo": "prj-canon-federation", + "path": "workplans/CFED-WP-0001-foundation.md", + "kind": "task", + "record_id": "CFED-WP-0001-T03", + "current_uuid": "45cd377e-d6f1-4708-8fb4-a822b2930aed", + "derived_uuid": "57092ca3-e1a8-5469-83be-d0338a78c150", + "action": "replace" + }, + { + "repo": "prj-canon-federation", + "path": "workplans/CFED-WP-0001-foundation.md", + "kind": "task", + "record_id": "CFED-WP-0001-T04", + "current_uuid": "743a2da9-56b3-4c3a-ba89-94a3525ce3b7", + "derived_uuid": "1be7aa81-4fc8-5a5a-8451-e288e660a326", + "action": "replace" + }, + { + "repo": "prj-canon-federation", + "path": "workplans/CFED-WP-0001-foundation.md", + "kind": "task", + "record_id": "CFED-WP-0001-T05", + "current_uuid": "986a0ac6-12c2-4bae-a849-c23f1da10325", + "derived_uuid": "700a0c89-1b17-5993-a76e-7ef22b5847d9", + "action": "replace" + }, + { + "repo": "prj-canon-federation", + "path": "workplans/CFED-WP-0001-foundation.md", + "kind": "task", + "record_id": "CFED-WP-0001-T06", + "current_uuid": "0a29bb3e-6460-4c4a-ba19-bcd2c38cd344", + "derived_uuid": "6bdb96c9-0524-5d3c-89e0-7c91df7ee56c", + "action": "replace" + }, + { + "repo": "prj-canon-federation", + "path": "workplans/CFED-WP-0001-foundation.md", + "kind": "task", + "record_id": "CFED-WP-0001-T07", + "current_uuid": "776905c6-26a9-4754-b289-d9dd4d328fb5", + "derived_uuid": "26a96020-49bb-5a5e-97d1-c478b83bffd0", + "action": "replace" + }, + { + "repo": "prj-canon-federation", + "path": "workplans/CFED-WP-0001-foundation.md", + "kind": "task", + "record_id": "CFED-WP-0001-T08", + "current_uuid": "3eee0510-cfa0-4571-a599-8654c3f01aa0", + "derived_uuid": "e0558c32-415f-5563-bca2-438b35fa6b53", + "action": "replace" + }, + { + "repo": "prj-canon-federation", + "path": "workplans/CFED-WP-0001-foundation.md", + "kind": "task", + "record_id": "CFED-WP-0001-T09", + "current_uuid": "5d3e744e-b390-41e1-b7ca-caa4cf60664e", + "derived_uuid": "42ebf476-6a45-5e23-b507-eb90bc4f5c07", + "action": "replace" + }, + { + "repo": "prj-canon-federation", + "path": "workplans/CFED-WP-0001-foundation.md", + "kind": "task", + "record_id": "CFED-WP-0001-T11", + "current_uuid": "4cff900d-aeb5-46ed-a59d-3aab5a2aa637", + "derived_uuid": "526843be-1dfa-5cd0-ba0c-123ea37d0f63", + "action": "replace" + }, + { + "repo": "prj-canon-federation", + "path": "workplans/CFED-WP-0001-foundation.md", + "kind": "task", + "record_id": "CFED-WP-0001-T12", + "current_uuid": "8e238d89-da71-4126-b0a2-cca7f5eac657", + "derived_uuid": "f82385e9-5735-5147-aab6-d86653f33e26", + "action": "replace" + }, + { + "repo": "prj-canon-federation", + "path": "workplans/CFED-WP-0001-foundation.md", + "kind": "task", + "record_id": "CFED-WP-0001-T13", + "current_uuid": "d87513dc-8bcf-470e-be3c-cb78f053e0a3", + "derived_uuid": "b6d097a3-1abc-584b-ab23-7a05c969670d", + "action": "replace" + }, + { + "repo": "prj-canon-federation", + "path": "workplans/CFED-WP-0001-foundation.md", + "kind": "task", + "record_id": "CFED-WP-0001-T10", + "current_uuid": "f89a08fe-c6ba-4f81-a063-6f49727eae2d", + "derived_uuid": "2faeb8fb-58cc-5ea8-b5a8-ea0ed9583b30", + "action": "replace" + } + ] + }, + { + "repo": "prj-forgejo-org-refactor", + "path": "/home/worsch/prj-forgejo-org-refactor", + "planned_head_sha": "847ee07c5c0ae791d53ec8d00107e6b1b16717cc", + "source_fingerprint": "e8cdbeabb5f6b285569bf3d9cb2a02399f695ad54033b68a08127baf1aeae0e7", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "prj-forgejo-org-refactor", + "path": "workplans/ORGREF-WP-0001-foundation-and-entry-gate.md", + "kind": "workplan", + "record_id": "ORGREF-WP-0001", + "current_uuid": "cfe053ed-4317-4977-b545-47fa997d6c77", + "derived_uuid": "c1dcd349-1a7a-51ae-8827-4ce96cfe0008", + "action": "replace" + }, + { + "repo": "prj-forgejo-org-refactor", + "path": "workplans/ORGREF-WP-0001-foundation-and-entry-gate.md", + "kind": "task", + "record_id": "ORGREF-WP-0001-T01", + "current_uuid": "c027b40f-f25a-403f-8d83-e29044bab20a", + "derived_uuid": "4964bf8f-96eb-59f0-8a50-5ecb5c7dbc8f", + "action": "replace" + }, + { + "repo": "prj-forgejo-org-refactor", + "path": "workplans/ORGREF-WP-0001-foundation-and-entry-gate.md", + "kind": "task", + "record_id": "ORGREF-WP-0001-T02", + "current_uuid": "90d6a61e-b715-4073-aa3e-e92340c78dc8", + "derived_uuid": "00d150ed-81dd-51ac-af7b-197900373cbe", + "action": "replace" + }, + { + "repo": "prj-forgejo-org-refactor", + "path": "workplans/ORGREF-WP-0001-foundation-and-entry-gate.md", + "kind": "task", + "record_id": "ORGREF-WP-0001-T03", + "current_uuid": "2e458360-3035-47e8-a0c5-33e2249ffaa0", + "derived_uuid": "4b57ef3f-2a7c-56ff-b19d-e751b0b4685d", + "action": "replace" + }, + { + "repo": "prj-forgejo-org-refactor", + "path": "workplans/ORGREF-WP-0001-foundation-and-entry-gate.md", + "kind": "task", + "record_id": "ORGREF-WP-0001-T04", + "current_uuid": "32030788-ed92-492f-920d-5b9a51663fc0", + "derived_uuid": "a55d95e2-6014-5d84-ba6e-b178c3901f3e", + "action": "replace" + }, + { + "repo": "prj-forgejo-org-refactor", + "path": "workplans/ORGREF-WP-0001-foundation-and-entry-gate.md", + "kind": "task", + "record_id": "ORGREF-WP-0001-T05", + "current_uuid": "4f5d510a-c52b-42d4-9a84-ecf432ce4866", + "derived_uuid": "3ad6090f-5aa9-5087-a670-37d7b2ffdb7c", + "action": "replace" + } + ] + }, + { + "repo": "prj-state-hub-retirement", + "path": "/home/worsch/prj-state-hub-retirement", + "planned_head_sha": "91c28692f13429df7b1d311ffbcbb79b9fd432e4", + "source_fingerprint": "9d355c3e663502c23d9b65292dd9d18b266be98ca9476af1513018c15f0dd3df", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "prj-state-hub-retirement", + "path": "workplans/SHR-WP-0002-predecessor-and-deployment-reality.md", + "kind": "workplan", + "record_id": "SHR-WP-0002", + "current_uuid": "c94c3ba1-6c31-4989-a2eb-650726add747", + "derived_uuid": "53f42c0c-3a35-53b0-99c8-8eaee7b17354", + "action": "replace" + }, + { + "repo": "prj-state-hub-retirement", + "path": "workplans/SHR-WP-0002-predecessor-and-deployment-reality.md", + "kind": "task", + "record_id": "SHR-WP-0002-T01", + "current_uuid": "7bf75488-59c9-47ab-a2ff-6ae459dd1444", + "derived_uuid": "8c54ea9b-8a92-55bc-80ce-8425678f3efe", + "action": "replace" + }, + { + "repo": "prj-state-hub-retirement", + "path": "workplans/SHR-WP-0002-predecessor-and-deployment-reality.md", + "kind": "task", + "record_id": "SHR-WP-0002-T02", + "current_uuid": "d2dbe425-345f-46cf-af70-0ca4b69a336e", + "derived_uuid": "fdae9c55-5a85-5b11-91ed-0b724129d887", + "action": "replace" + }, + { + "repo": "prj-state-hub-retirement", + "path": "workplans/SHR-WP-0002-predecessor-and-deployment-reality.md", + "kind": "task", + "record_id": "SHR-WP-0002-T03", + "current_uuid": "3254b7d3-e319-44a6-ae63-23b0d080247a", + "derived_uuid": "06119690-312f-5d14-aee0-2fc4dac1e89e", + "action": "replace" + }, + { + "repo": "prj-state-hub-retirement", + "path": "workplans/SHR-WP-0002-predecessor-and-deployment-reality.md", + "kind": "task", + "record_id": "SHR-WP-0002-T04", + "current_uuid": "b2196340-fa22-4531-81a2-a34bc217d66c", + "derived_uuid": "3815d764-b484-5342-9c7d-2edacc02be13", + "action": "replace" + }, + { + "repo": "prj-state-hub-retirement", + "path": "workplans/SHR-WP-0002-predecessor-and-deployment-reality.md", + "kind": "task", + "record_id": "SHR-WP-0002-T05", + "current_uuid": "2b97a7c5-f877-4020-ba83-8eb00c3690e6", + "derived_uuid": "c2957182-4bb3-5aa9-9940-656956cfe52d", + "action": "replace" + }, + { + "repo": "prj-state-hub-retirement", + "path": "workplans/SHR-WP-0002-predecessor-and-deployment-reality.md", + "kind": "task", + "record_id": "SHR-WP-0002-T06", + "current_uuid": "9b390f80-1cbb-4485-a958-14b0e24a0b26", + "derived_uuid": "714ce904-bccd-5cd8-ae2e-a756f5c0bccc", + "action": "replace" + }, + { + "repo": "prj-state-hub-retirement", + "path": "workplans/SHR-WP-0002-predecessor-and-deployment-reality.md", + "kind": "task", + "record_id": "SHR-WP-0002-T07", + "current_uuid": "07636ddf-a26b-4760-8353-2532af9fd938", + "derived_uuid": "a89cf85d-d613-5434-92cb-11f850889b08", + "action": "replace" + } + ] + }, + { + "repo": "prj-unattended-progress-company", + "path": "/home/worsch/prj-unattended-progress-company", + "planned_head_sha": "d57de00e0eda3fef048c6bf451b32af9a15da1f4", + "source_fingerprint": "5adadf8049df4dc8b7b2b43b751120bd1a71822acf1b50ad0a463af31514778b", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "prj-unattended-progress-company", + "path": "workplans/UPC-WP-0002-company-vessel-closeout.md", + "kind": "workplan", + "record_id": "UPC-WP-0002", + "current_uuid": "b8f00a8a-646e-4a2e-861d-c96b43e794ff", + "derived_uuid": "8d47ba5f-0608-5f83-8b4b-7dee53ada6f6", + "action": "replace" + }, + { + "repo": "prj-unattended-progress-company", + "path": "workplans/UPC-WP-0002-company-vessel-closeout.md", + "kind": "task", + "record_id": "UPC-WP-0002-T01", + "current_uuid": "6da07153-7a6c-43c7-b580-7ea9f5a5195c", + "derived_uuid": "ab714cd3-9457-5386-8b3c-056702c234e4", + "action": "replace" + }, + { + "repo": "prj-unattended-progress-company", + "path": "workplans/UPC-WP-0002-company-vessel-closeout.md", + "kind": "task", + "record_id": "UPC-WP-0002-T02", + "current_uuid": "65dfcc19-3088-427c-98d4-125b39516565", + "derived_uuid": "0d10e613-a92e-5f3a-8152-d24e25c8aeae", + "action": "replace" + }, + { + "repo": "prj-unattended-progress-company", + "path": "workplans/UPC-WP-0002-company-vessel-closeout.md", + "kind": "task", + "record_id": "UPC-WP-0002-T03", + "current_uuid": "6bca2e44-6742-4668-9d20-ae7ce8b567b9", + "derived_uuid": "ac7e4972-d6bc-5e35-b34e-c51bfbcedf2b", + "action": "replace" + }, + { + "repo": "prj-unattended-progress-company", + "path": "workplans/UPC-WP-0002-company-vessel-closeout.md", + "kind": "task", + "record_id": "UPC-WP-0002-T04", + "current_uuid": "c6aca17d-b5d0-41eb-8175-61dc43d4b666", + "derived_uuid": "7fff1007-5283-5d3b-8408-d8a504b9542f", + "action": "replace" + }, + { + "repo": "prj-unattended-progress-company", + "path": "workplans/UPC-WP-0003-unattended-and-load.md", + "kind": "workplan", + "record_id": "UPC-WP-0003", + "current_uuid": "47871f09-f17c-414d-b3c4-dc6582ed3ddd", + "derived_uuid": "81b17b8a-4b22-5510-8830-a8d19aed821e", + "action": "replace" + }, + { + "repo": "prj-unattended-progress-company", + "path": "workplans/UPC-WP-0003-unattended-and-load.md", + "kind": "task", + "record_id": "UPC-WP-0003-T01", + "current_uuid": "e2437c6e-580d-4ad9-924d-d04b7e4a054b", + "derived_uuid": "57636795-371d-56ac-b4f4-cfcf2968e133", + "action": "replace" + }, + { + "repo": "prj-unattended-progress-company", + "path": "workplans/UPC-WP-0003-unattended-and-load.md", + "kind": "task", + "record_id": "UPC-WP-0003-T02", + "current_uuid": "c15f290f-04b5-4878-8a21-c6c9795a0811", + "derived_uuid": "b38eebc3-51a7-54e4-a4d3-8f8edfc16aac", + "action": "replace" + }, + { + "repo": "prj-unattended-progress-company", + "path": "workplans/UPC-WP-0003-unattended-and-load.md", + "kind": "task", + "record_id": "UPC-WP-0003-T03", + "current_uuid": "fee4912b-f0a1-4bae-8955-96c7f3e5e250", + "derived_uuid": "d79967eb-a270-53aa-a501-0a4f38d8c1cc", + "action": "replace" + }, + { + "repo": "prj-unattended-progress-company", + "path": "workplans/UPC-WP-0004-first-offer-and-revenue.md", + "kind": "workplan", + "record_id": "UPC-WP-0004", + "current_uuid": "8d5d0db2-c334-49cb-ac55-11696026ff09", + "derived_uuid": "a6cf0a20-a3d5-56c6-8fc7-8cb167c71d66", + "action": "replace" + }, + { + "repo": "prj-unattended-progress-company", + "path": "workplans/UPC-WP-0004-first-offer-and-revenue.md", + "kind": "task", + "record_id": "UPC-WP-0004-T01", + "current_uuid": "9cb476fe-9a1d-494b-96d8-04cb51b4bbed", + "derived_uuid": "cd349f71-aa8b-5480-80c2-38083aa16f58", + "action": "replace" + }, + { + "repo": "prj-unattended-progress-company", + "path": "workplans/UPC-WP-0004-first-offer-and-revenue.md", + "kind": "task", + "record_id": "UPC-WP-0004-T02", + "current_uuid": "34954c9e-5022-409c-acf3-3195c0e1b797", + "derived_uuid": "86cf36f9-0330-538b-8c79-4f62b75bb331", + "action": "replace" + }, + { + "repo": "prj-unattended-progress-company", + "path": "workplans/UPC-WP-0004-first-offer-and-revenue.md", + "kind": "task", + "record_id": "UPC-WP-0004-T03", + "current_uuid": "0516cd4e-ab84-433b-9314-4b401c4d168f", + "derived_uuid": "0f7fd4f6-f320-5715-be1c-0a9536516e65", + "action": "replace" + } + ] + }, + { + "repo": "railiance-cluster", + "path": "/home/worsch/railiance-cluster", + "planned_head_sha": "db7860ec2e2bda803d5bc6f0a467935e0d98697f", + "source_fingerprint": "b88f26d7fb52957b7e2273082ddcc8ebd809dc268359729a43cebb17ca331507", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "railiance-cluster", + "path": "workplans/RCLUSTER-WP-0007-threephoenix-ha-cluster.md", + "kind": "workplan", + "record_id": "RCLUSTER-WP-0007", + "current_uuid": "16da36fe-5a10-522b-b6d6-02dbb6de6c14", + "derived_uuid": "16da36fe-5a10-522b-b6d6-02dbb6de6c14", + "action": "unchanged" + }, + { + "repo": "railiance-cluster", + "path": "workplans/RCLUSTER-WP-0007-threephoenix-ha-cluster.md", + "kind": "task", + "record_id": "RCLUSTER-WP-0007-T01", + "current_uuid": "9d1f463f-e4d1-5e75-97fd-e57b833bc2b9", + "derived_uuid": "9d1f463f-e4d1-5e75-97fd-e57b833bc2b9", + "action": "unchanged" + }, + { + "repo": "railiance-cluster", + "path": "workplans/RCLUSTER-WP-0007-threephoenix-ha-cluster.md", + "kind": "task", + "record_id": "RCLUSTER-WP-0007-T02", + "current_uuid": "a1f4fa2b-69a7-5de4-8c44-15e8f9baf0b2", + "derived_uuid": "a1f4fa2b-69a7-5de4-8c44-15e8f9baf0b2", + "action": "unchanged" + }, + { + "repo": "railiance-cluster", + "path": "workplans/RCLUSTER-WP-0007-threephoenix-ha-cluster.md", + "kind": "task", + "record_id": "RCLUSTER-WP-0007-T05", + "current_uuid": "02cc3adb-9d42-5540-9f32-4e5f1198b79e", + "derived_uuid": "02cc3adb-9d42-5540-9f32-4e5f1198b79e", + "action": "unchanged" + }, + { + "repo": "railiance-cluster", + "path": "workplans/RCLUSTER-WP-0007-threephoenix-ha-cluster.md", + "kind": "task", + "record_id": "RCLUSTER-WP-0007-T06", + "current_uuid": "4f033381-24aa-5773-bca6-337ccacc0e7a", + "derived_uuid": "4f033381-24aa-5773-bca6-337ccacc0e7a", + "action": "unchanged" + }, + { + "repo": "railiance-cluster", + "path": "workplans/RCLUSTER-WP-0007-threephoenix-ha-cluster.md", + "kind": "task", + "record_id": "RCLUSTER-WP-0007-T07", + "current_uuid": "b45b3086-3beb-56d4-a028-6bf651834992", + "derived_uuid": "b45b3086-3beb-56d4-a028-6bf651834992", + "action": "unchanged" + } + ] + }, + { + "repo": "railiance-infra", + "path": "/home/worsch/railiance-infra", + "planned_head_sha": "f3e8bf3ab4b1dafa4d0b251b88ab2ef23a30c37b", + "source_fingerprint": "08bedfbf11fc5f9416527333e0f8b45436ed47abc04d4d9338f65d3574767054", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "railiance-infra", + "path": "workplans/RAIL-HO-WP-0011-reproducible-s1-declaration-and-handoff.md", + "kind": "workplan", + "record_id": "RAIL-HO-WP-0011", + "current_uuid": "5738f113-1c4e-5d27-95b2-b6655e0b7279", + "derived_uuid": "5738f113-1c4e-5d27-95b2-b6655e0b7279", + "action": "unchanged" + }, + { + "repo": "railiance-infra", + "path": "workplans/RAIL-HO-WP-0011-reproducible-s1-declaration-and-handoff.md", + "kind": "task", + "record_id": "RAIL-HO-WP-0011-T05", + "current_uuid": "ba526585-6141-5df1-9094-a1322394d8b5", + "derived_uuid": "ba526585-6141-5df1-9094-a1322394d8b5", + "action": "unchanged" + }, + { + "repo": "railiance-infra", + "path": "workplans/RAIL-HO-WP-0011-reproducible-s1-declaration-and-handoff.md", + "kind": "task", + "record_id": "RAIL-HO-WP-0011-T08", + "current_uuid": "920f869a-2554-58a9-b0da-8a0bbd7c5ef1", + "derived_uuid": "920f869a-2554-58a9-b0da-8a0bbd7c5ef1", + "action": "unchanged" + }, + { + "repo": "railiance-infra", + "path": "workplans/RAIL-HO-WP-0012-s1-backup-recovery-loop.md", + "kind": "workplan", + "record_id": "RAIL-HO-WP-0012", + "current_uuid": "5ea28f8f-376c-5230-8bb7-ca871c1a75f4", + "derived_uuid": "5ea28f8f-376c-5230-8bb7-ca871c1a75f4", + "action": "unchanged" + }, + { + "repo": "railiance-infra", + "path": "workplans/RAIL-HO-WP-0012-s1-backup-recovery-loop.md", + "kind": "task", + "record_id": "RAIL-HO-WP-0012-T05", + "current_uuid": "783dff8b-849e-5ed9-a668-af1184be7bdd", + "derived_uuid": "783dff8b-849e-5ed9-a668-af1184be7bdd", + "action": "unchanged" + }, + { + "repo": "railiance-infra", + "path": "workplans/RAIL-HO-WP-0012-s1-backup-recovery-loop.md", + "kind": "task", + "record_id": "RAIL-HO-WP-0012-T06", + "current_uuid": "2ae6feab-3aa3-58e8-a4a9-1bd70a5e30ca", + "derived_uuid": "2ae6feab-3aa3-58e8-a4a9-1bd70a5e30ca", + "action": "unchanged" + } + ] + }, + { + "repo": "railiance-master", + "path": "/home/worsch/railiance-master", + "planned_head_sha": "a0c35b7438c4c6a3ccc368a18910802440d73f87", + "source_fingerprint": "17494c5675a3d58f6402e6f46739260c36dee623502face9a96b16ea15454209", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "railiance-master", + "path": "workplans/RMASTER-WP-0020-openbao-migration-to-reef-railiance.md", + "kind": "workplan", + "record_id": "RMASTER-WP-0020", + "current_uuid": "0616a297-18c5-4c4e-a4fc-69135b3f9a15", + "derived_uuid": "a7d0c934-75d7-53cc-a35b-6a789a2e0f14", + "action": "replace" + }, + { + "repo": "railiance-master", + "path": "workplans/RMASTER-WP-0020-openbao-migration-to-reef-railiance.md", + "kind": "task", + "record_id": "RMASTER-WP-0020-T08", + "current_uuid": "1dc50d98-64e8-4755-a52e-2b94b765019e", + "derived_uuid": "abf1b45e-2d6b-528e-8712-1575749f4657", + "action": "replace" + }, + { + "repo": "railiance-master", + "path": "workplans/RMASTER-WP-0020-openbao-migration-to-reef-railiance.md", + "kind": "task", + "record_id": "RMASTER-WP-0020-T09", + "current_uuid": "287920d3-b038-495f-b521-d16cfc7ba941", + "derived_uuid": "020060b9-fb2c-571a-9488-59de29d7c158", + "action": "replace" + } + ] + }, + { + "repo": "railiance-platform", + "path": "/home/worsch/railiance-platform", + "planned_head_sha": "e5f3497337575e1fd85fe2bfde5b2183c690d94e", + "source_fingerprint": "cc238a1e5bf32303b2f27c0eb8b7d93efec996033726fc7352d591c91567c863", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "railiance-platform", + "path": "workplans/RPF-WP-0015-audit-core-custody-and-recovery-coordination.md", + "kind": "workplan", + "record_id": "RPF-WP-0015", + "current_uuid": "f4640325-e89c-591d-b58e-ec6b087900ac", + "derived_uuid": "f4640325-e89c-591d-b58e-ec6b087900ac", + "action": "unchanged" + }, + { + "repo": "railiance-platform", + "path": "workplans/RPF-WP-0015-audit-core-custody-and-recovery-coordination.md", + "kind": "task", + "record_id": "RPF-WP-0015-T02", + "current_uuid": "fda4262a-56f6-5f06-a070-8fe7e1297209", + "derived_uuid": "fda4262a-56f6-5f06-a070-8fe7e1297209", + "action": "unchanged" + }, + { + "repo": "railiance-platform", + "path": "workplans/RPF-WP-0015-audit-core-custody-and-recovery-coordination.md", + "kind": "task", + "record_id": "RPF-WP-0015-T03", + "current_uuid": "ba729d18-f053-539f-86ef-5cb8ad4cce45", + "derived_uuid": "ba729d18-f053-539f-86ef-5cb8ad4cce45", + "action": "unchanged" + }, + { + "repo": "railiance-platform", + "path": "workplans/RPF-WP-0025-openbao-operator-only-access.md", + "kind": "workplan", + "record_id": "RPF-WP-0025", + "current_uuid": "6dda6039-295e-5cac-aef6-3183c3218649", + "derived_uuid": "6dda6039-295e-5cac-aef6-3183c3218649", + "action": "unchanged" + }, + { + "repo": "railiance-platform", + "path": "workplans/RPF-WP-0025-openbao-operator-only-access.md", + "kind": "task", + "record_id": "RPF-WP-0025-T03", + "current_uuid": "8850d742-7cd7-5a1b-ba52-4dbc4bdeba7e", + "derived_uuid": "8850d742-7cd7-5a1b-ba52-4dbc4bdeba7e", + "action": "unchanged" + }, + { + "repo": "railiance-platform", + "path": "workplans/RPF-WP-0027-keycape-live-secret-exposure-recovery.md", + "kind": "workplan", + "record_id": "RPF-WP-0027", + "current_uuid": "b2c25a01-4a80-55c1-90cf-8538000f7e0e", + "derived_uuid": "b2c25a01-4a80-55c1-90cf-8538000f7e0e", + "action": "unchanged" + }, + { + "repo": "railiance-platform", + "path": "workplans/RPF-WP-0027-keycape-live-secret-exposure-recovery.md", + "kind": "task", + "record_id": "RPF-WP-0027-T03", + "current_uuid": "714ae011-903d-55e2-ac47-801b8ef879d1", + "derived_uuid": "714ae011-903d-55e2-ac47-801b8ef879d1", + "action": "unchanged" + }, + { + "repo": "railiance-platform", + "path": "workplans/RPF-WP-0027-keycape-live-secret-exposure-recovery.md", + "kind": "task", + "record_id": "RPF-WP-0027-T04", + "current_uuid": "28b31e57-7a76-5100-8a61-9aa87339c5d7", + "derived_uuid": "28b31e57-7a76-5100-8a61-9aa87339c5d7", + "action": "unchanged" + }, + { + "repo": "railiance-platform", + "path": "workplans/RPF-WP-0027-keycape-live-secret-exposure-recovery.md", + "kind": "task", + "record_id": "RPF-WP-0027-T05", + "current_uuid": "9cb5fa67-012a-58cf-bafb-e7c7d4f9782d", + "derived_uuid": "9cb5fa67-012a-58cf-bafb-e7c7d4f9782d", + "action": "unchanged" + }, + { + "repo": "railiance-platform", + "path": "workplans/RPF-WP-0027-keycape-live-secret-exposure-recovery.md", + "kind": "task", + "record_id": "RPF-WP-0027-T06", + "current_uuid": "3b9748c4-2906-5ba7-9d34-0a7067a59283", + "derived_uuid": "3b9748c4-2906-5ba7-9d34-0a7067a59283", + "action": "unchanged" + } + ] + }, + { + "repo": "railiance-telemetry", + "path": "/home/worsch/railiance-telemetry", + "planned_head_sha": "047af271943b94f0c029931864b1ea167e820f90", + "source_fingerprint": "ef071e93aae8d232c24b8604555937fd5a2c0f337746835010b8fecc8968fa6b", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "railiance-telemetry", + "path": "workplans/RTELE-WP-0001-statehub-bootstrap.md", + "kind": "workplan", + "record_id": "RTELE-WP-0001", + "current_uuid": "60f5fe7c-9749-40be-9945-6ad608398b3f", + "derived_uuid": "3acd587b-3ac6-5eee-af31-05170ff8bcf7", + "action": "replace" + }, + { + "repo": "railiance-telemetry", + "path": "workplans/RTELE-WP-0001-statehub-bootstrap.md", + "kind": "task", + "record_id": "RTELE-WP-0001-T01", + "current_uuid": "de712c57-79fa-49be-97a2-873e9e1a8bec", + "derived_uuid": "4aca4677-6712-553b-ac26-0682fdf211de", + "action": "replace" + }, + { + "repo": "railiance-telemetry", + "path": "workplans/RTELE-WP-0001-statehub-bootstrap.md", + "kind": "task", + "record_id": "RTELE-WP-0001-T02", + "current_uuid": "79febfbb-6a67-40e0-9c24-96ff83ab706e", + "derived_uuid": "b6632ce1-dc84-532d-b277-adce8510a304", + "action": "replace" + }, + { + "repo": "railiance-telemetry", + "path": "workplans/RTELE-WP-0001-statehub-bootstrap.md", + "kind": "task", + "record_id": "RTELE-WP-0001-T03", + "current_uuid": "adea3657-c074-443b-9c5e-3c2095dd7c5b", + "derived_uuid": "4877f6e2-8298-5bab-b6a8-9a1ec1718289", + "action": "replace" + } + ] + }, + { + "repo": "rapp-core-hub", + "path": "/home/worsch/rapp-core-hub", + "planned_head_sha": "b322bf1531650a09a9ef0669d3c63091532ab078", + "source_fingerprint": "28c31230c4434875d34678e0d43762340d86fbb960d8d44118e6fbd8de45fb5a", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "rapp-core-hub", + "path": "workplans/RAPPCOREHUB-WP-0002-hub-core-candidate-and-cutover.md", + "kind": "workplan", + "record_id": "RAPPCOREHUB-WP-0002", + "current_uuid": "626cb2d7-9525-5712-be9e-93c1ed840fc5", + "derived_uuid": "626cb2d7-9525-5712-be9e-93c1ed840fc5", + "action": "unchanged" + }, + { + "repo": "rapp-core-hub", + "path": "workplans/RAPPCOREHUB-WP-0002-hub-core-candidate-and-cutover.md", + "kind": "task", + "record_id": "RAPPCOREHUB-WP-0002-T05", + "current_uuid": "42a1e9a2-bc6f-5a6b-87a2-72e55634ca55", + "derived_uuid": "42a1e9a2-bc6f-5a6b-87a2-72e55634ca55", + "action": "unchanged" + } + ] + }, + { + "repo": "rapp-openbao", + "path": "/home/worsch/rapp-openbao", + "planned_head_sha": "89bc86b8aff549953ec744395ca47578aaac7591", + "source_fingerprint": "518f0c9e30457a8aa61aa75da61c7addb176367220c6f51b6ec9684ec2c61f1f", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "rapp-openbao", + "path": "workplans/RAPP-OPENBAO-WP-0002-operator-only-ui-exposure.md", + "kind": "workplan", + "record_id": "RAPP-OPENBAO-WP-0002", + "current_uuid": "df859d65-c6ee-5058-a662-ad74eb82d3d2", + "derived_uuid": "df859d65-c6ee-5058-a662-ad74eb82d3d2", + "action": "unchanged" + }, + { + "repo": "rapp-openbao", + "path": "workplans/RAPP-OPENBAO-WP-0002-operator-only-ui-exposure.md", + "kind": "task", + "record_id": "RAPP-OPENBAO-WP-0002-T02", + "current_uuid": "1ada4afb-ba65-5974-b3f1-53404d0636b5", + "derived_uuid": "1ada4afb-ba65-5974-b3f1-53404d0636b5", + "action": "unchanged" + }, + { + "repo": "rapp-openbao", + "path": "workplans/RAPP-OPENBAO-WP-0002-operator-only-ui-exposure.md", + "kind": "task", + "record_id": "RAPP-OPENBAO-WP-0002-T03", + "current_uuid": "ea0aba38-fb53-56aa-b0ef-299edbb6113c", + "derived_uuid": "ea0aba38-fb53-56aa-b0ef-299edbb6113c", + "action": "unchanged" + } + ] + }, + { + "repo": "rapp-qonto", + "path": "/home/worsch/rapp-qonto", + "planned_head_sha": "240c462b9412a3932cc27dbbc13933378f4af07e", + "source_fingerprint": "3a4de22edfc774ce2e8be9c2ba507bec1128268c3cae540c78b3de753eb07868", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "rapp-qonto", + "path": "workplans/RAPP-QONTO-WP-0002-resource-usage-and-cost-evidence.md", + "kind": "workplan", + "record_id": "RAPP-QONTO-WP-0002", + "current_uuid": "25b3b715-9a56-499e-a85c-a09ebd9bbb79", + "derived_uuid": "6152c89b-a4f3-55b6-af0b-d57462b3c6f7", + "action": "replace" + }, + { + "repo": "rapp-qonto", + "path": "workplans/RAPP-QONTO-WP-0002-resource-usage-and-cost-evidence.md", + "kind": "task", + "record_id": "RAPP-QONTO-WP-0002-T01", + "current_uuid": "f6ece6fb-1a9f-4709-af02-e93cbb76d263", + "derived_uuid": "09483a24-55ca-5de2-a19c-a00f938dba86", + "action": "replace" + }, + { + "repo": "rapp-qonto", + "path": "workplans/RAPP-QONTO-WP-0002-resource-usage-and-cost-evidence.md", + "kind": "task", + "record_id": "RAPP-QONTO-WP-0002-T02", + "current_uuid": "c16049af-d9d6-4dc1-b6c5-c24017eee17d", + "derived_uuid": "88cca0db-f8d8-52fd-ae5d-3ed4996f64b8", + "action": "replace" + }, + { + "repo": "rapp-qonto", + "path": "workplans/RAPP-QONTO-WP-0002-resource-usage-and-cost-evidence.md", + "kind": "task", + "record_id": "RAPP-QONTO-WP-0002-T03", + "current_uuid": "14f73bec-d123-4940-b9af-5dbfcf9d4853", + "derived_uuid": "3d5be5e8-ba76-51a6-944f-b13268f4a73e", + "action": "replace" + } + ] + }, + { + "repo": "rapp-tenant-engine", + "path": "/home/worsch/rapp-tenant-engine", + "planned_head_sha": "70a6dc3113b4da070690bf6e7a21c2bac67e2004", + "source_fingerprint": "6c5ad2990a81a1e07bda0eda5ae0e4c23f15419b9c757fae8422e0b919c02edd", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "rapp-tenant-engine", + "path": "workplans/RAPP-TENANT-ENGINE-WP-0001-bootstrap.md", + "kind": "workplan", + "record_id": "RAPP-TENANT-ENGINE-WP-0001", + "current_uuid": "ec2896aa-9226-5516-a537-2de02138949f", + "derived_uuid": "ec2896aa-9226-5516-a537-2de02138949f", + "action": "unchanged" + } + ] + }, + { + "repo": "reef-railiance", + "path": "/home/worsch/reef-railiance", + "planned_head_sha": "dcf51b30287de32cffe7388eed7b77ae97adf3f9", + "source_fingerprint": "7fe2e32795989605520e0db0dad2974fe123e99f8821d45cae99b0707e4517b5", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "reef-railiance", + "path": "workplans/REEF-RAILIANCE-WP-0003-rapp-qonto-production-gates.md", + "kind": "workplan", + "record_id": "REEF-RAILIANCE-WP-0003", + "current_uuid": "8ac413ad-2f57-53e6-b586-c5bec9cfbd1f", + "derived_uuid": "8ac413ad-2f57-53e6-b586-c5bec9cfbd1f", + "action": "unchanged" + }, + { + "repo": "reef-railiance", + "path": "workplans/REEF-RAILIANCE-WP-0003-rapp-qonto-production-gates.md", + "kind": "task", + "record_id": "REEF-RAILIANCE-WP-0003-T04", + "current_uuid": "9d792070-5f2b-5b3d-ba52-92c8b0d4a6b8", + "derived_uuid": "9d792070-5f2b-5b3d-ba52-92c8b0d4a6b8", + "action": "unchanged" + } + ] + }, + { + "repo": "reef-storage", + "path": "/home/worsch/reef-storage", + "planned_head_sha": "e3bb6ef09a5d618a659ca41ef356c71f7f247104", + "source_fingerprint": "bb12e37b2519953da5625cbb9ff6eff6f48940251f6a9aea0db61c12f186d046", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "reef-storage", + "path": "workplans/REEF-STORAGE-WP-0002-fill-after-purchase.md", + "kind": "workplan", + "record_id": "REEF-STORAGE-WP-0002", + "current_uuid": "af6ed97f-fc45-5fc0-b8e9-6010c217808f", + "derived_uuid": "af6ed97f-fc45-5fc0-b8e9-6010c217808f", + "action": "unchanged" + }, + { + "repo": "reef-storage", + "path": "workplans/REEF-STORAGE-WP-0002-fill-after-purchase.md", + "kind": "task", + "record_id": "REEF-STORAGE-WP-0002-T02", + "current_uuid": "140c2250-a4c2-56f6-98b7-3ffcb57be7b9", + "derived_uuid": "140c2250-a4c2-56f6-98b7-3ffcb57be7b9", + "action": "unchanged" + } + ] + }, + { + "repo": "rein-aharness", + "path": "/home/worsch/rein-aharness", + "planned_head_sha": "7641fcde4008038ca0f1c965c40c382f548024bb", + "source_fingerprint": "1dae2badf6dd816a1626997cf97cc588d40f62523aadab5d0f04fb75d22360d9", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "rein-aharness", + "path": "workplans/REINAH-WP-0003-governed-runtime-integrity.md", + "kind": "workplan", + "record_id": "REINAH-WP-0003", + "current_uuid": "eba2eff1-10a7-50a3-a70b-14e7d398f27f", + "derived_uuid": "eba2eff1-10a7-50a3-a70b-14e7d398f27f", + "action": "unchanged" + }, + { + "repo": "rein-aharness", + "path": "workplans/REINAH-WP-0003-governed-runtime-integrity.md", + "kind": "task", + "record_id": "REINAH-WP-0003-T02", + "current_uuid": "31da4226-27c0-5e3c-baeb-de01e07cebb1", + "derived_uuid": "31da4226-27c0-5e3c-baeb-de01e07cebb1", + "action": "unchanged" + }, + { + "repo": "rein-aharness", + "path": "workplans/REINAH-WP-0003-governed-runtime-integrity.md", + "kind": "task", + "record_id": "REINAH-WP-0003-T03", + "current_uuid": "6297dee4-c10f-5d5f-8d7c-7edfafa27e7f", + "derived_uuid": "6297dee4-c10f-5d5f-8d7c-7edfafa27e7f", + "action": "unchanged" + }, + { + "repo": "rein-aharness", + "path": "workplans/REINAH-WP-0003-governed-runtime-integrity.md", + "kind": "task", + "record_id": "REINAH-WP-0003-T04", + "current_uuid": "f6c7f80c-3807-54ac-b44a-ef582433b927", + "derived_uuid": "f6c7f80c-3807-54ac-b44a-ef582433b927", + "action": "unchanged" + }, + { + "repo": "rein-aharness", + "path": "workplans/REINAH-WP-0003-governed-runtime-integrity.md", + "kind": "task", + "record_id": "REINAH-WP-0003-T05", + "current_uuid": "c4a3f08f-2874-5672-9f29-aecddd697d90", + "derived_uuid": "c4a3f08f-2874-5672-9f29-aecddd697d90", + "action": "unchanged" + }, + { + "repo": "rein-aharness", + "path": "workplans/REINAH-WP-0003-governed-runtime-integrity.md", + "kind": "task", + "record_id": "REINAH-WP-0003-T06", + "current_uuid": "68a13c4f-0cc7-5d0b-917e-441164da8c84", + "derived_uuid": "68a13c4f-0cc7-5d0b-917e-441164da8c84", + "action": "unchanged" + } + ] + }, + { + "repo": "repo-manager", + "path": "/home/worsch/repo-manager", + "planned_head_sha": "c52d222cc6e464e90d9dd3bf98d39190dfe4a6a1", + "source_fingerprint": "46d7f430c3cfb92a3fa19a152c171acd7c94ad49dbdafa096b3ae72fbe2c95d2", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "repo-manager", + "path": "workplans/RMGR-WP-0005-registrar-consolidation-deterministic-ids.md", + "kind": "workplan", + "record_id": "RMGR-WP-0005", + "current_uuid": "6dcf854e-9229-569d-90f0-2d9df235a61d", + "derived_uuid": "6dcf854e-9229-569d-90f0-2d9df235a61d", + "action": "unchanged" + }, + { + "repo": "repo-manager", + "path": "workplans/RMGR-WP-0005-registrar-consolidation-deterministic-ids.md", + "kind": "task", + "record_id": "RMGR-WP-0005-T04", + "current_uuid": "3fd25c8f-25ea-566e-91c7-ac5ccba83009", + "derived_uuid": "3fd25c8f-25ea-566e-91c7-ac5ccba83009", + "action": "unchanged" + }, + { + "repo": "repo-manager", + "path": "workplans/RMGR-WP-0005-registrar-consolidation-deterministic-ids.md", + "kind": "task", + "record_id": "RMGR-WP-0005-T05", + "current_uuid": "f2634e3a-b32e-5862-85bf-78437fc976dc", + "derived_uuid": "f2634e3a-b32e-5862-85bf-78437fc976dc", + "action": "unchanged" + } + ] + }, + { + "repo": "risk-nexus", + "path": "/home/worsch/risk-nexus", + "planned_head_sha": "96d06e320a5351b654cdbda0d2d55cf92dceb3af", + "source_fingerprint": "2d6c15762ff412f8f2ccfada768fc7078a5711b4fcab5a20a0d666890f83dac7", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "risk-nexus", + "path": "workplans/RISK-WP-0002-publication-handover.md", + "kind": "workplan", + "record_id": "RISK-WP-0002", + "current_uuid": "b79af69c-5b08-55df-8caa-258eed3e397e", + "derived_uuid": "b79af69c-5b08-55df-8caa-258eed3e397e", + "action": "unchanged" + }, + { + "repo": "risk-nexus", + "path": "workplans/RISK-WP-0002-publication-handover.md", + "kind": "task", + "record_id": "RISK-WP-0002-T01", + "current_uuid": "9ac32008-76b6-591c-82a1-ad6e2f8368b7", + "derived_uuid": "9ac32008-76b6-591c-82a1-ad6e2f8368b7", + "action": "unchanged" + } + ] + }, + { + "repo": "secrets-engine", + "path": "/home/worsch/secrets-engine", + "planned_head_sha": "465c0d704947bb42ab9ca2646d5ced6a045c7331", + "source_fingerprint": "9e56e7617cb5c695fdc5e08297b521bc4dfbd85c7496cee1fb36d513acc3bd7d", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "secrets-engine", + "path": "workplans/SECRETS-WP-0006-catalog-lane-adoption.md", + "kind": "workplan", + "record_id": "SECRETS-WP-0006", + "current_uuid": "31f7f8ea-7f73-516c-8877-f03a13f1db82", + "derived_uuid": "31f7f8ea-7f73-516c-8877-f03a13f1db82", + "action": "unchanged" + }, + { + "repo": "secrets-engine", + "path": "workplans/SECRETS-WP-0006-catalog-lane-adoption.md", + "kind": "task", + "record_id": "SECRETS-WP-0006-T05", + "current_uuid": "fb103f1e-2ff7-5de5-9a2c-191a19c43542", + "derived_uuid": "fb103f1e-2ff7-5de5-9a2c-191a19c43542", + "action": "unchanged" + }, + { + "repo": "secrets-engine", + "path": "workplans/SECRETS-WP-0006-catalog-lane-adoption.md", + "kind": "task", + "record_id": "SECRETS-WP-0006-T06", + "current_uuid": "1431edae-5791-5892-8c4b-829419b537d2", + "derived_uuid": "1431edae-5791-5892-8c4b-829419b537d2", + "action": "unchanged" + }, + { + "repo": "secrets-engine", + "path": "workplans/SECRETS-WP-0007-production-lifecycle-hardening.md", + "kind": "workplan", + "record_id": "SECRETS-WP-0007", + "current_uuid": "68a39be1-bd9c-5133-ad64-e7bca892aaf3", + "derived_uuid": "68a39be1-bd9c-5133-ad64-e7bca892aaf3", + "action": "unchanged" + }, + { + "repo": "secrets-engine", + "path": "workplans/SECRETS-WP-0007-production-lifecycle-hardening.md", + "kind": "task", + "record_id": "SECRETS-WP-0007-T04", + "current_uuid": "4b58edec-c705-55e5-9ece-362e1ff13079", + "derived_uuid": "4b58edec-c705-55e5-9ece-362e1ff13079", + "action": "unchanged" + }, + { + "repo": "secrets-engine", + "path": "workplans/SECRETS-WP-0007-production-lifecycle-hardening.md", + "kind": "task", + "record_id": "SECRETS-WP-0007-T07", + "current_uuid": "a0a1dd92-d703-5a95-b488-d895f34d5cf7", + "derived_uuid": "a0a1dd92-d703-5a95-b488-d895f34d5cf7", + "action": "unchanged" + }, + { + "repo": "secrets-engine", + "path": "workplans/SECRETS-WP-0008-layer-model-lifecycle-conformance.md", + "kind": "workplan", + "record_id": "SECRETS-WP-0008", + "current_uuid": "9c9e5164-b2f5-5ea2-a557-5368d65e9fe0", + "derived_uuid": "9c9e5164-b2f5-5ea2-a557-5368d65e9fe0", + "action": "unchanged" + }, + { + "repo": "secrets-engine", + "path": "workplans/SECRETS-WP-0008-layer-model-lifecycle-conformance.md", + "kind": "task", + "record_id": "SECRETS-WP-0008-T02", + "current_uuid": "3eb9cff8-1441-5437-9e92-a2b655c82d04", + "derived_uuid": "3eb9cff8-1441-5437-9e92-a2b655c82d04", + "action": "unchanged" + }, + { + "repo": "secrets-engine", + "path": "workplans/SECRETS-WP-0008-layer-model-lifecycle-conformance.md", + "kind": "task", + "record_id": "SECRETS-WP-0008-T06", + "current_uuid": "d7bc8bdc-a0f8-5058-a640-374ef9859148", + "derived_uuid": "d7bc8bdc-a0f8-5058-a640-374ef9859148", + "action": "unchanged" + } + ] + }, + { + "repo": "soul-frame", + "path": "/home/worsch/soul-frame", + "planned_head_sha": "6ccd5e2a6a523125eaba8798fb8fb317368170a3", + "source_fingerprint": "97149208faf5b5e3332cfca6f01a9cec854218536634c958284395e99af1930c", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "soul-frame", + "path": "workplans/SOUL-WP-0008-phase-vii-paper.md", + "kind": "workplan", + "record_id": "SOUL-WP-0008", + "current_uuid": "a1398af7-a2e4-4a32-9612-1d0eb47a036b", + "derived_uuid": "c730a7e2-244e-558c-9ec1-66d04e275ff8", + "action": "replace" + }, + { + "repo": "soul-frame", + "path": "workplans/SOUL-WP-0008-phase-vii-paper.md", + "kind": "task", + "record_id": "SOUL-WP-0008-T01", + "current_uuid": "4c3a35c6-bd71-4995-97d7-a4117a1f50ae", + "derived_uuid": "6b11edf8-3eb7-582f-8eba-d58f870d6329", + "action": "replace" + }, + { + "repo": "soul-frame", + "path": "workplans/SOUL-WP-0008-phase-vii-paper.md", + "kind": "task", + "record_id": "SOUL-WP-0008-T02", + "current_uuid": "d4675ea1-7676-4f38-9b7b-38cec3c90a48", + "derived_uuid": "7b7d4731-3938-599b-899f-db65134be08d", + "action": "replace" + }, + { + "repo": "soul-frame", + "path": "workplans/SOUL-WP-0008-phase-vii-paper.md", + "kind": "task", + "record_id": "SOUL-WP-0008-T03", + "current_uuid": "f3eab6e4-6482-4b19-8a4d-d3311194e2f5", + "derived_uuid": "f44863b9-6dd5-55b6-aaf2-b08c21072483", + "action": "replace" + }, + { + "repo": "soul-frame", + "path": "workplans/SOUL-WP-0008-phase-vii-paper.md", + "kind": "task", + "record_id": "SOUL-WP-0008-T04", + "current_uuid": "e22041ed-2b69-4c2c-9359-96ddf7104c6d", + "derived_uuid": "cfc9ef36-4aa9-5bf5-a41a-a8ce5912cac5", + "action": "replace" + } + ] + }, + { + "repo": "state-hub", + "path": "/home/worsch/state-hub", + "planned_head_sha": "142c94287e308845fd23967fae85842f1edfa1a4", + "source_fingerprint": "a9b18ad8bd6bd15a364c0f559e80a795aa27bd0348531208c46be7146b1f8fc9", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "state-hub", + "path": "workplans/CUST-WP-0038-state-hub-threephoenix-ha.md", + "kind": "workplan", + "record_id": "CUST-WP-0038", + "current_uuid": "ccb87fa4-6381-5f22-b097-6e026f56a9c1", + "derived_uuid": "ccb87fa4-6381-5f22-b097-6e026f56a9c1", + "action": "unchanged" + }, + { + "repo": "state-hub", + "path": "workplans/CUST-WP-0038-state-hub-threephoenix-ha.md", + "kind": "task", + "record_id": "CUST-WP-0038-T01", + "current_uuid": "5c79e069-281e-5b3c-a45e-3e906b9053fa", + "derived_uuid": "5c79e069-281e-5b3c-a45e-3e906b9053fa", + "action": "unchanged" + }, + { + "repo": "state-hub", + "path": "workplans/CUST-WP-0038-state-hub-threephoenix-ha.md", + "kind": "task", + "record_id": "CUST-WP-0038-T02", + "current_uuid": "b91f9086-c526-5452-bade-ad2451ce3bd3", + "derived_uuid": "b91f9086-c526-5452-bade-ad2451ce3bd3", + "action": "unchanged" + }, + { + "repo": "state-hub", + "path": "workplans/CUST-WP-0038-state-hub-threephoenix-ha.md", + "kind": "task", + "record_id": "CUST-WP-0038-T03", + "current_uuid": "b6fbdfe2-7561-561d-936b-d531300f88aa", + "derived_uuid": "b6fbdfe2-7561-561d-936b-d531300f88aa", + "action": "unchanged" + }, + { + "repo": "state-hub", + "path": "workplans/CUST-WP-0038-state-hub-threephoenix-ha.md", + "kind": "task", + "record_id": "CUST-WP-0038-T04", + "current_uuid": "c7f59893-6042-540c-ada7-e3661ffdabf7", + "derived_uuid": "c7f59893-6042-540c-ada7-e3661ffdabf7", + "action": "unchanged" + }, + { + "repo": "state-hub", + "path": "workplans/CUST-WP-0038-state-hub-threephoenix-ha.md", + "kind": "task", + "record_id": "CUST-WP-0038-T05", + "current_uuid": "390f292d-1d74-5ca7-a08c-530e9c679bd3", + "derived_uuid": "390f292d-1d74-5ca7-a08c-530e9c679bd3", + "action": "unchanged" + }, + { + "repo": "state-hub", + "path": "workplans/CUST-WP-0038-state-hub-threephoenix-ha.md", + "kind": "task", + "record_id": "CUST-WP-0038-T06", + "current_uuid": "e7640bd3-827b-5f8c-b03b-93e76eb8c412", + "derived_uuid": "e7640bd3-827b-5f8c-b03b-93e76eb8c412", + "action": "unchanged" + }, + { + "repo": "state-hub", + "path": "workplans/CUST-WP-0038-state-hub-threephoenix-ha.md", + "kind": "task", + "record_id": "CUST-WP-0038-T07", + "current_uuid": "6492555c-aa6a-5c91-a2cf-3824fe1f1b12", + "derived_uuid": "6492555c-aa6a-5c91-a2cf-3824fe1f1b12", + "action": "unchanged" + }, + { + "repo": "state-hub", + "path": "workplans/CUST-WP-0038-state-hub-threephoenix-ha.md", + "kind": "task", + "record_id": "CUST-WP-0038-T08", + "current_uuid": "57412aef-f47a-5b58-b0a3-ca066d05ca09", + "derived_uuid": "57412aef-f47a-5b58-b0a3-ca066d05ca09", + "action": "unchanged" + }, + { + "repo": "state-hub", + "path": "workplans/STATE-WP-0079-retirement-strangler.md", + "kind": "workplan", + "record_id": "STATE-WP-0079", + "current_uuid": "ed077b62-7048-5752-bf65-f90471f45854", + "derived_uuid": "ed077b62-7048-5752-bf65-f90471f45854", + "action": "unchanged" + }, + { + "repo": "state-hub", + "path": "workplans/STATE-WP-0079-retirement-strangler.md", + "kind": "task", + "record_id": "STATE-WP-0079-T04", + "current_uuid": "3a454438-1955-547f-a491-8eab7cd25710", + "derived_uuid": "3a454438-1955-547f-a491-8eab7cd25710", + "action": "unchanged" + }, + { + "repo": "state-hub", + "path": "workplans/STATE-WP-0079-retirement-strangler.md", + "kind": "task", + "record_id": "STATE-WP-0079-T05", + "current_uuid": "f6cf8c01-eb59-5ca8-a541-23928d4a000c", + "derived_uuid": "f6cf8c01-eb59-5ca8-a541-23928d4a000c", + "action": "unchanged" + }, + { + "repo": "state-hub", + "path": "workplans/STATE-WP-0079-retirement-strangler.md", + "kind": "task", + "record_id": "STATE-WP-0079-T06", + "current_uuid": "9230c99b-af58-5794-9291-452e619a30fa", + "derived_uuid": "9230c99b-af58-5794-9291-452e619a30fa", + "action": "unchanged" + }, + { + "repo": "state-hub", + "path": "workplans/STATE-WP-0081-cluster-self-sufficiency-and-registrar.md", + "kind": "workplan", + "record_id": "STATE-WP-0081", + "current_uuid": "bb2798fd-0680-5027-8479-3af3a5b048de", + "derived_uuid": "bb2798fd-0680-5027-8479-3af3a5b048de", + "action": "unchanged" + }, + { + "repo": "state-hub", + "path": "workplans/STATE-WP-0081-cluster-self-sufficiency-and-registrar.md", + "kind": "task", + "record_id": "STATE-WP-0081-T01", + "current_uuid": "7dca680b-d34d-5bfe-838e-b463a4487a9c", + "derived_uuid": "7dca680b-d34d-5bfe-838e-b463a4487a9c", + "action": "unchanged" + }, + { + "repo": "state-hub", + "path": "workplans/STATE-WP-0081-cluster-self-sufficiency-and-registrar.md", + "kind": "task", + "record_id": "STATE-WP-0081-T02", + "current_uuid": "3fd4d23c-6b67-5b92-b312-25a7295773fd", + "derived_uuid": "3fd4d23c-6b67-5b92-b312-25a7295773fd", + "action": "unchanged" + }, + { + "repo": "state-hub", + "path": "workplans/STATE-WP-0081-cluster-self-sufficiency-and-registrar.md", + "kind": "task", + "record_id": "STATE-WP-0081-T03", + "current_uuid": "8e5a5eb8-f29c-5cab-a19d-3447b6e0c26a", + "derived_uuid": "8e5a5eb8-f29c-5cab-a19d-3447b6e0c26a", + "action": "unchanged" + }, + { + "repo": "state-hub", + "path": "workplans/STATE-WP-0081-cluster-self-sufficiency-and-registrar.md", + "kind": "task", + "record_id": "STATE-WP-0081-T04", + "current_uuid": "57ab0ced-ef3f-5260-b7d6-e2a78ff4e023", + "derived_uuid": "57ab0ced-ef3f-5260-b7d6-e2a78ff4e023", + "action": "unchanged" + }, + { + "repo": "state-hub", + "path": "workplans/STATE-WP-0081-cluster-self-sufficiency-and-registrar.md", + "kind": "task", + "record_id": "STATE-WP-0081-T05", + "current_uuid": "530fbd27-e463-51d2-b09c-ba9827d057de", + "derived_uuid": "530fbd27-e463-51d2-b09c-ba9827d057de", + "action": "unchanged" + }, + { + "repo": "state-hub", + "path": "workplans/STATE-WP-0081-cluster-self-sufficiency-and-registrar.md", + "kind": "task", + "record_id": "STATE-WP-0081-T06", + "current_uuid": "1d74e5e2-fb0f-5342-afbb-6ce2986823f4", + "derived_uuid": "1d74e5e2-fb0f-5342-afbb-6ce2986823f4", + "action": "unchanged" + }, + { + "repo": "state-hub", + "path": "workplans/STATE-WP-0081-cluster-self-sufficiency-and-registrar.md", + "kind": "task", + "record_id": "STATE-WP-0081-T07", + "current_uuid": "12a2ce9f-7cdf-501b-9018-4c960d45e855", + "derived_uuid": "12a2ce9f-7cdf-501b-9018-4c960d45e855", + "action": "unchanged" + }, + { + "repo": "state-hub", + "path": "workplans/STATE-WP-0081-cluster-self-sufficiency-and-registrar.md", + "kind": "task", + "record_id": "STATE-WP-0081-T08", + "current_uuid": "782c502a-5ce2-5ec3-8f07-b550c9705013", + "derived_uuid": "782c502a-5ce2-5ec3-8f07-b550c9705013", + "action": "unchanged" + }, + { + "repo": "state-hub", + "path": "workplans/STATE-WP-0085-repository-lineage-preserving-rename.md", + "kind": "workplan", + "record_id": "STATE-WP-0085", + "current_uuid": "4f5661de-5922-55d6-bd02-5dcb00b13f73", + "derived_uuid": "4f5661de-5922-55d6-bd02-5dcb00b13f73", + "action": "unchanged" + }, + { + "repo": "state-hub", + "path": "workplans/STATE-WP-0085-repository-lineage-preserving-rename.md", + "kind": "task", + "record_id": "STATE-WP-0085-T09", + "current_uuid": "df34f6ec-d137-52d0-93c4-3756a821097f", + "derived_uuid": "df34f6ec-d137-52d0-93c4-3756a821097f", + "action": "unchanged" + } + ] + }, + { + "repo": "test-driver", + "path": "/home/worsch/test-driver", + "planned_head_sha": "552096f9f840dfab8a510093fc45c7947dba0f5c", + "source_fingerprint": "c65138a456b8452935e29f0a14d469daca529a3553b975e47507baa6655b3223", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "test-driver", + "path": "workplans/TD-WP-0003-generalise-and-settle.md", + "kind": "workplan", + "record_id": "TD-WP-0003", + "current_uuid": "36a082df-1288-567d-9a0b-f2e0f292786c", + "derived_uuid": "36a082df-1288-567d-9a0b-f2e0f292786c", + "action": "unchanged" + }, + { + "repo": "test-driver", + "path": "workplans/TD-WP-0003-generalise-and-settle.md", + "kind": "task", + "record_id": "TD-WP-0003-T01", + "current_uuid": "0090ce51-0086-5079-a094-fb63b3b53415", + "derived_uuid": "0090ce51-0086-5079-a094-fb63b3b53415", + "action": "unchanged" + }, + { + "repo": "test-driver", + "path": "workplans/TD-WP-0003-generalise-and-settle.md", + "kind": "task", + "record_id": "TD-WP-0003-T02", + "current_uuid": "eedf5894-e540-5fa7-9dc3-7e2a5c892bd6", + "derived_uuid": "eedf5894-e540-5fa7-9dc3-7e2a5c892bd6", + "action": "unchanged" + }, + { + "repo": "test-driver", + "path": "workplans/TD-WP-0003-generalise-and-settle.md", + "kind": "task", + "record_id": "TD-WP-0003-T03", + "current_uuid": "95406a5d-bcb6-5bcb-abed-834ad16aeb69", + "derived_uuid": "95406a5d-bcb6-5bcb-abed-834ad16aeb69", + "action": "unchanged" + }, + { + "repo": "test-driver", + "path": "workplans/TD-WP-0003-generalise-and-settle.md", + "kind": "task", + "record_id": "TD-WP-0003-T04", + "current_uuid": "458dc9aa-3d0c-5e67-9f89-3ae8a5a5d297", + "derived_uuid": "458dc9aa-3d0c-5e67-9f89-3ae8a5a5d297", + "action": "unchanged" + }, + { + "repo": "test-driver", + "path": "workplans/TD-WP-0003-generalise-and-settle.md", + "kind": "task", + "record_id": "TD-WP-0003-T05", + "current_uuid": "34cc60cd-b966-54f8-a92d-cfe64587822f", + "derived_uuid": "34cc60cd-b966-54f8-a92d-cfe64587822f", + "action": "unchanged" + }, + { + "repo": "test-driver", + "path": "workplans/TD-WP-0003-generalise-and-settle.md", + "kind": "task", + "record_id": "TD-WP-0003-T06", + "current_uuid": "19f8e687-0ab2-5650-9efa-4eba3cb25d12", + "derived_uuid": "19f8e687-0ab2-5650-9efa-4eba3cb25d12", + "action": "unchanged" + }, + { + "repo": "test-driver", + "path": "workplans/TD-WP-0003-generalise-and-settle.md", + "kind": "task", + "record_id": "TD-WP-0003-T07", + "current_uuid": "62f08e27-f307-560f-9583-64c08835e29e", + "derived_uuid": "62f08e27-f307-560f-9583-64c08835e29e", + "action": "unchanged" + }, + { + "repo": "test-driver", + "path": "workplans/TD-WP-0003-generalise-and-settle.md", + "kind": "task", + "record_id": "TD-WP-0003-T08", + "current_uuid": "9e040e94-7245-5b4b-b177-cc337f904ceb", + "derived_uuid": "9e040e94-7245-5b4b-b177-cc337f904ceb", + "action": "unchanged" + } + ] + }, + { + "repo": "whitehat-security", + "path": "/home/worsch/whitehat-security", + "planned_head_sha": "69e03efd7f0d04a7d693b830256f92d1ebb8e92d", + "source_fingerprint": "e13f606df297f14c3f5a5e9a62447bc0a69cd35229114599a0858f426b9786f4", + "eligible": true, + "atomic_unit": true, + "blockers": [], + "mappings": [ + { + "repo": "whitehat-security", + "path": "workplans/WHITEHAT-WP-0001-cross-tenant-evidence.md", + "kind": "workplan", + "record_id": "WHITEHAT-WP-0001", + "current_uuid": "3049aa1e-b188-514f-9ad7-bf3026094fb9", + "derived_uuid": "3049aa1e-b188-514f-9ad7-bf3026094fb9", + "action": "unchanged" + }, + { + "repo": "whitehat-security", + "path": "workplans/WHITEHAT-WP-0001-cross-tenant-evidence.md", + "kind": "task", + "record_id": "WHITEHAT-WP-0001-T05", + "current_uuid": "7c2c3dab-a135-543b-86b1-d543ec6af0fc", + "derived_uuid": "7c2c3dab-a135-543b-86b1-d543ec6af0fc", + "action": "unchanged" + }, + { + "repo": "whitehat-security", + "path": "workplans/WHITEHAT-WP-0001-cross-tenant-evidence.md", + "kind": "task", + "record_id": "WHITEHAT-WP-0001-T06", + "current_uuid": "3a2d7a31-86b9-5c82-ab88-606b64381b2a", + "derived_uuid": "3a2d7a31-86b9-5c82-ab88-606b64381b2a", + "action": "unchanged" + } + ] + } + ], + "plan_sha256": "ab8ae2e55470553f105c6209d6aa4c7b828085bd6c71cec7b16173b8a19bef7b" +} diff --git a/docs/work-record-uuid-derivation_v1.md b/docs/work-record-uuid-derivation_v1.md index c1fa875..90dab11 100644 --- a/docs/work-record-uuid-derivation_v1.md +++ b/docs/work-record-uuid-derivation_v1.md @@ -80,10 +80,13 @@ origin. The batch records these facts and its own SHA-256 seal, but always emits `apply_authorized: false`. An explicit decision must cite that batch hash before any database or file mutation. Repeat `--projection-api-base` for every hub in the cutover. Each replacement is classified as `legacy_source`, -`derived_target`, `both_present`, or `neither_present`. The first two may coexist -inside one repository-atomic migration: State Hub migrates legacy rows, verifies -already-derived rows against their canonical record identity, and records the -same durable aliases for both. The latter two states are refused. Saved +`derived_target`, `duplicate_target`, `both_present`, or `neither_present`. The +first three may coexist inside one repository-atomic migration: State Hub +migrates legacy rows, verifies already-derived rows against their canonical +record identity, and may coalesce a `duplicate_target` task only when both +business payloads are equal and the legacy row has zero inbound references. +Other both-present and all neither-present states are refused. Durable aliases +are recorded for every converged replacement. Saved projection endpoints are rechecked by `migration-batch-verify`; omitting the option retains the offline source/Git-only planning mode. A projection-aware batch containing UUID assignments fails closed until an assignment-specific diff --git a/src/repo_manager/identifiers.py b/src/repo_manager/identifiers.py index 98fa840..21d5d70 100644 --- a/src/repo_manager/identifiers.py +++ b/src/repo_manager/identifiers.py @@ -375,9 +375,51 @@ def _projection_migration_preflight( A projection may legitimately be mixed when forge reconciliation created some deterministic targets before the sealed migration ran. Legacy-source - and derived-target are both convergent states; both-present and neither- - present are ambiguous and remain hard refusals. + and derived-target are both convergent states. An exact task duplicate is + also convergent when the legacy row has no conflicting canonical identity + and both API representations have identical business fields; State Hub + rechecks that equivalence and proves the legacy row is unreferenced inside + the apply transaction. Other both-present and all neither-present states + remain hard refusals. """ + duplicate_fields = ( + "workplan_id", + "title", + "description", + "status", + "priority", + "assignee", + "due_date", + "blocking_reason", + "needs_human", + "intervention_note", + "parent_task_id", + ) + + def mergeable_task_duplicate( + mapping: dict[str, Any], current: httpx.Response, derived: httpx.Response + ) -> bool: + if mapping.get("kind") != "task": + return False + try: + legacy_payload = current.json() + derived_payload = derived.json() + except ValueError: + return False + record_id = mapping.get("record_id") + return ( + isinstance(legacy_payload, dict) + and isinstance(derived_payload, dict) + and legacy_payload.get("id") == mapping.get("current_uuid") + and derived_payload.get("id") == mapping.get("derived_uuid") + and legacy_payload.get("record_id") in {None, record_id} + and derived_payload.get("record_id") == record_id + and all( + legacy_payload.get(field) == derived_payload.get(field) + for field in duplicate_fields + ) + ) + projections: list[dict[str, Any]] = [] errors: list[dict[str, str]] = [ { @@ -422,7 +464,15 @@ def _projection_migration_preflight( (200, 200): "both_present", (404, 404): "neither_present", }.get(status_pair, "unexpected_status") - check_ok = state in {"legacy_source", "derived_target"} + if state == "both_present" and mergeable_task_duplicate( + mapping, current, derived + ): + state = "duplicate_target" + check_ok = state in { + "legacy_source", + "derived_target", + "duplicate_target", + } check = { "record_id": mapping.get("record_id"), "kind": mapping.get("kind"), @@ -452,6 +502,7 @@ def _projection_migration_preflight( for state in ( "legacy_source", "derived_target", + "duplicate_target", "both_present", "neither_present", "unexpected_status", @@ -463,8 +514,10 @@ def _projection_migration_preflight( if convergent_states == {"legacy_source"} else "file_convergence" if convergent_states == {"derived_target"} + else "duplicate_convergence" + if convergent_states == {"duplicate_target"} else "mixed_convergence" - if convergent_states == {"legacy_source", "derived_target"} + if convergent_states else "blocked" ) projections.append( diff --git a/tests/test_identifiers.py b/tests/test_identifiers.py index 7060c35..84c4341 100644 --- a/tests/test_identifiers.py +++ b/tests/test_identifiers.py @@ -74,6 +74,83 @@ def test_projection_preflight_accepts_mixed_convergent_states(monkeypatch) -> No assert projection["state_counts"]["derived_target"] == 1 +def test_projection_preflight_accepts_equivalent_task_duplicate(monkeypatch) -> None: + mapping = { + "action": "replace", + "kind": "task", + "record_id": "ONE-WP-0001-T01", + "current_uuid": "22222222-2222-4222-8222-222222222222", + "derived_uuid": "bbbbbbbb-bbbb-4bbb-8bbb-bbbbbbbbbbbb", + } + shared = { + "workplan_id": "11111111-1111-4111-8111-111111111111", + "title": "Equivalent task", + "description": "Same source", + "status": "todo", + "priority": "high", + "assignee": None, + "due_date": None, + "blocking_reason": None, + "needs_human": False, + "intervention_note": None, + "parent_task_id": None, + } + + def projection_get(self, url): + value = str(url) + derived = value.endswith(mapping["derived_uuid"]) + return httpx.Response( + 200, + json={ + **shared, + "id": mapping["derived_uuid"] if derived else mapping["current_uuid"], + "record_id": mapping["record_id"] if derived else None, + }, + request=httpx.Request("GET", url), + ) + + monkeypatch.setattr(httpx.Client, "get", projection_get) + result = _projection_migration_preflight([mapping], ["http://hub.test"]) + + assert result["ok"] is True + projection = result["projections"][0] + assert projection["mode"] == "duplicate_convergence" + assert projection["state_counts"]["duplicate_target"] == 1 + + +def test_projection_preflight_rejects_divergent_task_duplicate(monkeypatch) -> None: + mapping = { + "action": "replace", + "kind": "task", + "record_id": "ONE-WP-0001-T01", + "current_uuid": "22222222-2222-4222-8222-222222222222", + "derived_uuid": "bbbbbbbb-bbbb-4bbb-8bbb-bbbbbbbbbbbb", + } + + def projection_get(self, url): + value = str(url) + derived = value.endswith(mapping["derived_uuid"]) + return httpx.Response( + 200, + json={ + "id": mapping["derived_uuid"] if derived else mapping["current_uuid"], + "record_id": mapping["record_id"] if derived else None, + "workplan_id": "11111111-1111-4111-8111-111111111111", + "title": "Derived" if derived else "Legacy", + "status": "todo", + "priority": "high", + "needs_human": False, + }, + request=httpx.Request("GET", url), + ) + + monkeypatch.setattr(httpx.Client, "get", projection_get) + result = _projection_migration_preflight([mapping], ["http://hub.test"]) + + assert result["ok"] is False + assert result["projections"][0]["state_counts"]["both_present"] == 1 + + def test_projection_migration_client_requires_primary_and_exact_seal(tmp_path: Path) -> None: repo = tmp_path / "one" path = repo / "workplans" / "one.md" diff --git a/workplans/RMGR-WP-0005-registrar-consolidation-deterministic-ids.md b/workplans/RMGR-WP-0005-registrar-consolidation-deterministic-ids.md index 36b83be..92fe8dd 100644 --- a/workplans/RMGR-WP-0005-registrar-consolidation-deterministic-ids.md +++ b/workplans/RMGR-WP-0005-registrar-consolidation-deterministic-ids.md @@ -676,6 +676,24 @@ the CLI default misspelled the primary label as `railliance01`; the corrected `railiance01` default is covered by the same change set. Evidence: `docs/evidence/RMGR-WP-0005-batch-0006-reef-railiance-cutover-2026-08-31.md`. +**Fleet-completion batch 0007 prepared (2026-08-31):** a fresh non-mutating +plan now covers 42 eligible repositories and 306 live records: 85 replacements, +6 assignments, and 215 unchanged. `audit-core` completed all six assignments +through ordinary deterministic reconciliation and pushed commit `95dcb78`. +The remaining action is therefore exactly 85 replacements across ten clean, +synchronized repositories. + +Three `rapp-qonto` tasks existed under both their legacy and deterministic UUIDs +with identical business payloads and no inbound task references. State Hub now +coalesces only that proven-safe duplicate shape transactionally, retains durable +aliases, and refuses referenced or divergent duplicates; the capability is live +on railiance01 from State Hub commit `a7c91a6` (deployment pin `667ed28`). Full +State Hub and Repo Manager test suites pass. Fresh preflight is clean and ready, +but mutation remains unauthorized pending `RMGR-DEC-2026-006`. Exact batch +seal: `c0cc496a06d9535a40840a0c7488cf365d8e47c5c58cc29aca72fb6d98273700`. +Evidence: +`docs/evidence/RMGR-WP-0005-batch-0007-fleet-completion-readiness-2026-08-31.md`. + ## Retire the interim rule ```task