{ "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" }