docs: approve state-hub identifier pilot
Assistant: codex Assistant-Model: gpt-5.6-sol Assistant-Session: 01a053ff-1d6f-7fe2-ac1c-a6eb40a42a0c
This commit is contained in:
parent
5789e8c520
commit
54507b975a
3 changed files with 478 additions and 0 deletions
143
docs/evidence/RMGR-WP-0005-state-hub-pilot-batch-2026-08-31.json
Normal file
143
docs/evidence/RMGR-WP-0005-state-hub-pilot-batch-2026-08-31.json
Normal file
|
|
@ -0,0 +1,143 @@
|
|||
{
|
||||
"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": "c752d7962ee1008f6e31fe424a8c39e22a48f63003494546c4fdae8c7a29a019",
|
||||
"batch_policy": "repository-atomic, sequential, stop on first failure",
|
||||
"rollback_order": "reverse files if written, then reverse central projection",
|
||||
"generated_at": "2026-08-30T23:35:48.897638Z",
|
||||
"totals": {
|
||||
"repositories": 1,
|
||||
"records": 30,
|
||||
"replace": 9,
|
||||
"assign": 0,
|
||||
"unchanged": 21
|
||||
},
|
||||
"repositories": [
|
||||
{
|
||||
"repo": "state-hub",
|
||||
"path": "/home/worsch/state-hub",
|
||||
"planned_head_sha": "f39612558d92e0f822f2e735341eb5b3b3f0912f",
|
||||
"source_fingerprint": "695792b72630de00837574e2abe5951c6fe7ec453f95eca03c5ff72d595d684c",
|
||||
"source_verified": true,
|
||||
"git_preflight": {
|
||||
"ok": true,
|
||||
"head_sha": "f39612558d92e0f822f2e735341eb5b3b3f0912f",
|
||||
"expected_head_sha": "f39612558d92e0f822f2e735341eb5b3b3f0912f",
|
||||
"upstream": "origin/main",
|
||||
"behind": 0,
|
||||
"ahead": 0,
|
||||
"origin": "forgejo-remote:coulomb/state-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": 9,
|
||||
"derived_target": 0,
|
||||
"both_present": 0,
|
||||
"neither_present": 0,
|
||||
"unexpected_status": 0
|
||||
},
|
||||
"replacement_checks": [
|
||||
{
|
||||
"record_id": "CUST-WP-0038",
|
||||
"kind": "workplan",
|
||||
"current_status": 200,
|
||||
"derived_status": 404,
|
||||
"state": "legacy_source",
|
||||
"ok": true
|
||||
},
|
||||
{
|
||||
"record_id": "CUST-WP-0038-T01",
|
||||
"kind": "task",
|
||||
"current_status": 200,
|
||||
"derived_status": 404,
|
||||
"state": "legacy_source",
|
||||
"ok": true
|
||||
},
|
||||
{
|
||||
"record_id": "CUST-WP-0038-T02",
|
||||
"kind": "task",
|
||||
"current_status": 200,
|
||||
"derived_status": 404,
|
||||
"state": "legacy_source",
|
||||
"ok": true
|
||||
},
|
||||
{
|
||||
"record_id": "CUST-WP-0038-T03",
|
||||
"kind": "task",
|
||||
"current_status": 200,
|
||||
"derived_status": 404,
|
||||
"state": "legacy_source",
|
||||
"ok": true
|
||||
},
|
||||
{
|
||||
"record_id": "CUST-WP-0038-T04",
|
||||
"kind": "task",
|
||||
"current_status": 200,
|
||||
"derived_status": 404,
|
||||
"state": "legacy_source",
|
||||
"ok": true
|
||||
},
|
||||
{
|
||||
"record_id": "CUST-WP-0038-T05",
|
||||
"kind": "task",
|
||||
"current_status": 200,
|
||||
"derived_status": 404,
|
||||
"state": "legacy_source",
|
||||
"ok": true
|
||||
},
|
||||
{
|
||||
"record_id": "CUST-WP-0038-T06",
|
||||
"kind": "task",
|
||||
"current_status": 200,
|
||||
"derived_status": 404,
|
||||
"state": "legacy_source",
|
||||
"ok": true
|
||||
},
|
||||
{
|
||||
"record_id": "CUST-WP-0038-T07",
|
||||
"kind": "task",
|
||||
"current_status": 200,
|
||||
"derived_status": 404,
|
||||
"state": "legacy_source",
|
||||
"ok": true
|
||||
},
|
||||
{
|
||||
"record_id": "CUST-WP-0038-T08",
|
||||
"kind": "task",
|
||||
"current_status": 200,
|
||||
"derived_status": 404,
|
||||
"state": "legacy_source",
|
||||
"ok": true
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"errors": []
|
||||
},
|
||||
"mapping_counts": {
|
||||
"records": 30,
|
||||
"replace": 9,
|
||||
"assign": 0,
|
||||
"unchanged": 21
|
||||
},
|
||||
"ready": true
|
||||
}
|
||||
],
|
||||
"errors": [],
|
||||
"batch_sha256": "77156a9906703f599cdb2d0fee8e018a9860b23b2f1c1959ff0983d33b447763"
|
||||
}
|
||||
305
docs/evidence/RMGR-WP-0005-state-hub-pilot-plan-2026-08-31.json
Normal file
305
docs/evidence/RMGR-WP-0005-state-hub-pilot-plan-2026-08-31.json
Normal file
|
|
@ -0,0 +1,305 @@
|
|||
{
|
||||
"schema": "repo-manager.identifier-migration-plan.v1",
|
||||
"ok": true,
|
||||
"ready_to_apply": true,
|
||||
"root": "/home/worsch/state-hub",
|
||||
"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-30T23:30:06.909260Z",
|
||||
"totals": {
|
||||
"repositories": 1,
|
||||
"eligible": 1,
|
||||
"skipped": 0,
|
||||
"records": 30,
|
||||
"replace": 9,
|
||||
"assign": 0,
|
||||
"unchanged": 21
|
||||
},
|
||||
"repositories": [
|
||||
{
|
||||
"repo": "state-hub",
|
||||
"path": "/home/worsch/state-hub",
|
||||
"planned_head_sha": "f39612558d92e0f822f2e735341eb5b3b3f0912f",
|
||||
"source_fingerprint": "695792b72630de00837574e2abe5951c6fe7ec453f95eca03c5ff72d595d684c",
|
||||
"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": "8d0c1b5d-44da-4b91-8357-e6526d3e0a85",
|
||||
"derived_uuid": "ccb87fa4-6381-5f22-b097-6e026f56a9c1",
|
||||
"action": "replace"
|
||||
},
|
||||
{
|
||||
"repo": "state-hub",
|
||||
"path": "workplans/CUST-WP-0038-state-hub-threephoenix-ha.md",
|
||||
"kind": "task",
|
||||
"record_id": "CUST-WP-0038-T01",
|
||||
"current_uuid": "aa1bf291-3b6c-4940-a4f5-7680b0349110",
|
||||
"derived_uuid": "5c79e069-281e-5b3c-a45e-3e906b9053fa",
|
||||
"action": "replace"
|
||||
},
|
||||
{
|
||||
"repo": "state-hub",
|
||||
"path": "workplans/CUST-WP-0038-state-hub-threephoenix-ha.md",
|
||||
"kind": "task",
|
||||
"record_id": "CUST-WP-0038-T02",
|
||||
"current_uuid": "5575f244-5cef-47aa-a168-24027cd08140",
|
||||
"derived_uuid": "b91f9086-c526-5452-bade-ad2451ce3bd3",
|
||||
"action": "replace"
|
||||
},
|
||||
{
|
||||
"repo": "state-hub",
|
||||
"path": "workplans/CUST-WP-0038-state-hub-threephoenix-ha.md",
|
||||
"kind": "task",
|
||||
"record_id": "CUST-WP-0038-T03",
|
||||
"current_uuid": "5330fcc3-684b-49f6-8d28-ea8c929733d6",
|
||||
"derived_uuid": "b6fbdfe2-7561-561d-936b-d531300f88aa",
|
||||
"action": "replace"
|
||||
},
|
||||
{
|
||||
"repo": "state-hub",
|
||||
"path": "workplans/CUST-WP-0038-state-hub-threephoenix-ha.md",
|
||||
"kind": "task",
|
||||
"record_id": "CUST-WP-0038-T04",
|
||||
"current_uuid": "64175ed0-af36-47ea-9401-74c4b15ffe24",
|
||||
"derived_uuid": "c7f59893-6042-540c-ada7-e3661ffdabf7",
|
||||
"action": "replace"
|
||||
},
|
||||
{
|
||||
"repo": "state-hub",
|
||||
"path": "workplans/CUST-WP-0038-state-hub-threephoenix-ha.md",
|
||||
"kind": "task",
|
||||
"record_id": "CUST-WP-0038-T05",
|
||||
"current_uuid": "73c5008a-380e-42bf-ad57-1c9d0bda3a86",
|
||||
"derived_uuid": "390f292d-1d74-5ca7-a08c-530e9c679bd3",
|
||||
"action": "replace"
|
||||
},
|
||||
{
|
||||
"repo": "state-hub",
|
||||
"path": "workplans/CUST-WP-0038-state-hub-threephoenix-ha.md",
|
||||
"kind": "task",
|
||||
"record_id": "CUST-WP-0038-T06",
|
||||
"current_uuid": "4e5b97ff-ef1c-414d-812b-39b87b242c74",
|
||||
"derived_uuid": "e7640bd3-827b-5f8c-b03b-93e76eb8c412",
|
||||
"action": "replace"
|
||||
},
|
||||
{
|
||||
"repo": "state-hub",
|
||||
"path": "workplans/CUST-WP-0038-state-hub-threephoenix-ha.md",
|
||||
"kind": "task",
|
||||
"record_id": "CUST-WP-0038-T07",
|
||||
"current_uuid": "959062d8-decb-4969-a60b-0d3b618a8d6c",
|
||||
"derived_uuid": "6492555c-aa6a-5c91-a2cf-3824fe1f1b12",
|
||||
"action": "replace"
|
||||
},
|
||||
{
|
||||
"repo": "state-hub",
|
||||
"path": "workplans/CUST-WP-0038-state-hub-threephoenix-ha.md",
|
||||
"kind": "task",
|
||||
"record_id": "CUST-WP-0038-T08",
|
||||
"current_uuid": "d4a7ca26-c338-48a1-b8b1-85a356550add",
|
||||
"derived_uuid": "57412aef-f47a-5b58-b0a3-ca066d05ca09",
|
||||
"action": "replace"
|
||||
},
|
||||
{
|
||||
"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-0083-forge-derived-projection-reset.md",
|
||||
"kind": "workplan",
|
||||
"record_id": "STATE-WP-0083",
|
||||
"current_uuid": "40e36360-6b2a-5903-b769-47507d866ac8",
|
||||
"derived_uuid": "40e36360-6b2a-5903-b769-47507d866ac8",
|
||||
"action": "unchanged"
|
||||
},
|
||||
{
|
||||
"repo": "state-hub",
|
||||
"path": "workplans/STATE-WP-0083-forge-derived-projection-reset.md",
|
||||
"kind": "task",
|
||||
"record_id": "STATE-WP-0083-T02",
|
||||
"current_uuid": "3122ae66-1a9a-5102-a7ff-b7ba1564bf3c",
|
||||
"derived_uuid": "3122ae66-1a9a-5102-a7ff-b7ba1564bf3c",
|
||||
"action": "unchanged"
|
||||
},
|
||||
{
|
||||
"repo": "state-hub",
|
||||
"path": "workplans/STATE-WP-0084-forge-read-for-private-repositories.md",
|
||||
"kind": "workplan",
|
||||
"record_id": "STATE-WP-0084",
|
||||
"current_uuid": "9c4b8c79-edba-5d2d-ad37-a45707e89304",
|
||||
"derived_uuid": "9c4b8c79-edba-5d2d-ad37-a45707e89304",
|
||||
"action": "unchanged"
|
||||
},
|
||||
{
|
||||
"repo": "state-hub",
|
||||
"path": "workplans/STATE-WP-0084-forge-read-for-private-repositories.md",
|
||||
"kind": "task",
|
||||
"record_id": "STATE-WP-0084-T02",
|
||||
"current_uuid": "d8d41a89-1ebc-5118-bb73-cf8d8c114e16",
|
||||
"derived_uuid": "d8d41a89-1ebc-5118-bb73-cf8d8c114e16",
|
||||
"action": "unchanged"
|
||||
},
|
||||
{
|
||||
"repo": "state-hub",
|
||||
"path": "workplans/STATE-WP-0084-forge-read-for-private-repositories.md",
|
||||
"kind": "task",
|
||||
"record_id": "STATE-WP-0084-T03",
|
||||
"current_uuid": "b22b24d9-7ed3-533c-bda7-3130693cf4d2",
|
||||
"derived_uuid": "b22b24d9-7ed3-533c-bda7-3130693cf4d2",
|
||||
"action": "unchanged"
|
||||
},
|
||||
{
|
||||
"repo": "state-hub",
|
||||
"path": "workplans/STATE-WP-0084-forge-read-for-private-repositories.md",
|
||||
"kind": "task",
|
||||
"record_id": "STATE-WP-0084-T04",
|
||||
"current_uuid": "33c09a78-5974-57c6-bb7f-ad73082046bb",
|
||||
"derived_uuid": "33c09a78-5974-57c6-bb7f-ad73082046bb",
|
||||
"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"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"plan_sha256": "c752d7962ee1008f6e31fe424a8c39e22a48f63003494546c4fdae8c7a29a019"
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue