repo-manager/docs/evidence/RMGR-WP-0005-batch-0005-adaptive-pricing.json
tegwick 055c6971ab feat(identifiers): verify batch projections
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a023c0-a0a3-7c03-b395-5a0d2757214d
2026-08-22 23:50:34 +02:00

182 lines
5.8 KiB
JSON

{
"schema": "repo-manager.identifier-migration-batch.v1",
"ok": false,
"ready_for_approval": false,
"apply_authorized": false,
"approval_required": true,
"projection_api_bases": [
"http://127.0.0.1:8000",
"http://127.0.0.1:18000"
],
"namespace": "helixforge",
"source_plan_sha256": "28cd01bdbc66c53ad5ef11b9821a74ebadd7c8cfdae4c227f37ce7f9d67cbf18",
"batch_policy": "repository-atomic, sequential, stop on first failure",
"rollback_order": "reverse files if written, then reverse central projection",
"generated_at": "2026-08-22T21:45:54.917855Z",
"totals": {
"repositories": 1,
"records": 5,
"replace": 5,
"assign": 0,
"unchanged": 0
},
"repositories": [
{
"repo": "adaptive-pricing",
"path": "/home/worsch/adaptive-pricing",
"planned_head_sha": "c65a2f1ff9a0b30700ee14818e36e931eb71cae3",
"source_fingerprint": "977e94daeb0a6955a3d4ba76393d0b273d285537d0789eb59350d5c283901887",
"source_verified": true,
"git_preflight": {
"ok": true,
"head_sha": "c65a2f1ff9a0b30700ee14818e36e931eb71cae3",
"expected_head_sha": "c65a2f1ff9a0b30700ee14818e36e931eb71cae3",
"upstream": "origin/main",
"behind": 0,
"ahead": 0,
"origin": "forgejo-remote:coulomb/adaptive-pricing.git",
"errors": []
},
"projection_preflight": {
"required": true,
"ok": false,
"projections": [
{
"api_base": "http://127.0.0.1:8000",
"ok": true,
"replacement_checks": [
{
"record_id": "ADAPTIVE-WP-0010",
"kind": "workplan",
"current_status": 200,
"derived_status": 404,
"ok": true
},
{
"record_id": "ADAPTIVE-WP-0010-T01",
"kind": "task",
"current_status": 200,
"derived_status": 404,
"ok": true
},
{
"record_id": "ADAPTIVE-WP-0010-T02",
"kind": "task",
"current_status": 200,
"derived_status": 404,
"ok": true
},
{
"record_id": "ADAPTIVE-WP-0010-T03",
"kind": "task",
"current_status": 200,
"derived_status": 404,
"ok": true
},
{
"record_id": "ADAPTIVE-WP-0010-T04",
"kind": "task",
"current_status": 200,
"derived_status": 404,
"ok": true
}
]
},
{
"api_base": "http://127.0.0.1:18000",
"ok": false,
"replacement_checks": [
{
"record_id": "ADAPTIVE-WP-0010",
"kind": "workplan",
"current_status": 404,
"derived_status": 404,
"ok": false
},
{
"record_id": "ADAPTIVE-WP-0010-T01",
"kind": "task",
"current_status": 404,
"derived_status": 404,
"ok": false
},
{
"record_id": "ADAPTIVE-WP-0010-T02",
"kind": "task",
"current_status": 404,
"derived_status": 404,
"ok": false
},
{
"record_id": "ADAPTIVE-WP-0010-T03",
"kind": "task",
"current_status": 404,
"derived_status": 404,
"ok": false
},
{
"record_id": "ADAPTIVE-WP-0010-T04",
"kind": "task",
"current_status": 404,
"derived_status": 404,
"ok": false
}
]
}
],
"errors": [
{
"scope": "http://127.0.0.1:18000:ADAPTIVE-WP-0010",
"reason": "projection requires current UUID=200 and derived UUID=404"
},
{
"scope": "http://127.0.0.1:18000:ADAPTIVE-WP-0010-T01",
"reason": "projection requires current UUID=200 and derived UUID=404"
},
{
"scope": "http://127.0.0.1:18000:ADAPTIVE-WP-0010-T02",
"reason": "projection requires current UUID=200 and derived UUID=404"
},
{
"scope": "http://127.0.0.1:18000:ADAPTIVE-WP-0010-T03",
"reason": "projection requires current UUID=200 and derived UUID=404"
},
{
"scope": "http://127.0.0.1:18000:ADAPTIVE-WP-0010-T04",
"reason": "projection requires current UUID=200 and derived UUID=404"
}
]
},
"mapping_counts": {
"records": 5,
"replace": 5,
"assign": 0,
"unchanged": 0
},
"ready": false
}
],
"errors": [
{
"scope": "http://127.0.0.1:18000:ADAPTIVE-WP-0010",
"reason": "projection requires current UUID=200 and derived UUID=404"
},
{
"scope": "http://127.0.0.1:18000:ADAPTIVE-WP-0010-T01",
"reason": "projection requires current UUID=200 and derived UUID=404"
},
{
"scope": "http://127.0.0.1:18000:ADAPTIVE-WP-0010-T02",
"reason": "projection requires current UUID=200 and derived UUID=404"
},
{
"scope": "http://127.0.0.1:18000:ADAPTIVE-WP-0010-T03",
"reason": "projection requires current UUID=200 and derived UUID=404"
},
{
"scope": "http://127.0.0.1:18000:ADAPTIVE-WP-0010-T04",
"reason": "projection requires current UUID=200 and derived UUID=404"
}
],
"batch_sha256": "20decab5521ea5477826d1b2a9c9670912a96c4b8245faf5d270c8d1efc988c5"
}