Add version-pinned reconciliation decisions

This commit is contained in:
2026-08-04 11:45:35 +02:00
parent 3991c179a4
commit 314e7c3edf
15 changed files with 724 additions and 7 deletions
@@ -23,7 +23,14 @@
"case_id": "A-1",
"status": "open",
"amount": 10
}
},
"_decision_state": "unreviewed",
"_decision_action": null,
"_decision_ref": null,
"_decision_actor_ref": null,
"_decision_at": null,
"_decision_reason": null,
"_decision_correction": null
},
{
"case_id": "A-2",
@@ -58,7 +65,14 @@
"case_id": "A-2",
"status": "closed",
"amount": 25
}
},
"_decision_state": "applied",
"_decision_action": "accept",
"_decision_ref": "decision:monthly-2026-07:A-2:1",
"_decision_actor_ref": "account:synthetic-reviewer",
"_decision_at": "2026-07-31T10:00:00Z",
"_decision_reason": "Synthetic fixture decision after source comparison.",
"_decision_correction": null
},
{
"monthly_case_id": "A-3",
@@ -77,6 +91,13 @@
"case_id": "A-3",
"status": "open",
"amount": 30
}
},
"_decision_state": "unreviewed",
"_decision_action": null,
"_decision_ref": null,
"_decision_actor_ref": null,
"_decision_at": null,
"_decision_reason": null,
"_decision_correction": null
}
]
@@ -73,11 +73,39 @@
"right_prefix": "monthly_"
}
},
{
"id": "decisions",
"type": "source.inline",
"label": "Review decisions",
"position": {"x": 1020, "y": 360},
"config": {
"source_name": "review_decisions",
"fixture": "review-decisions.json",
"rows": []
}
},
{
"id": "apply-decisions",
"type": "reconcile.decisions",
"label": "Apply current decisions",
"position": {"x": 1260, "y": 160},
"config": {
"decision_key_column": "key_hash",
"decision_input_column": "input_hash",
"decision_ref_column": "decision_ref",
"action_column": "action",
"actor_column": "actor_ref",
"decided_at_column": "decided_at",
"reason_column": "reason",
"correction_column": "correction",
"allowed_actions": ["accept", "reject", "correct", "defer"]
}
},
{
"id": "output",
"type": "output",
"label": "Review differences",
"position": {"x": 1260, "y": 160},
"position": {"x": 1500, "y": 160},
"config": {}
}
],
@@ -112,6 +140,18 @@
{
"id": "e6",
"source": "reconcile",
"target": "apply-decisions",
"target_port": "records"
},
{
"id": "e7",
"source": "decisions",
"target": "apply-decisions",
"target_port": "decisions"
},
{
"id": "e8",
"source": "apply-decisions",
"target": "output"
}
]
@@ -0,0 +1,12 @@
[
{
"key_hash": "20f1552752978558506b159b92bc738d34f484d3d76068173b0c96e1fc4a8c2d",
"input_hash": "182de78bc3297d90cd4b02392bfb4a53fc9d9c29851d567f68e10be477a57dd8",
"decision_ref": "decision:monthly-2026-07:A-2:1",
"action": "accept",
"actor_ref": "account:synthetic-reviewer",
"decided_at": "2026-07-31T10:00:00Z",
"reason": "Synthetic fixture decision after source comparison.",
"correction": null
}
]