From 0125fbff12a4018d4fb0c9ca4ed0531df1a5ee8c Mon Sep 17 00:00:00 2001 From: twentyOne2x Date: Wed, 15 Jul 2026 05:28:59 +0200 Subject: [PATCH] Use composite evidence keys in rollback dependencies --- scripts/proposal_apply_lifecycle.py | 2 +- tests/test_proposal_apply_lifecycle.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/proposal_apply_lifecycle.py b/scripts/proposal_apply_lifecycle.py index cc0e79b..90cf91d 100644 --- a/scripts/proposal_apply_lifecycle.py +++ b/scripts/proposal_apply_lifecycle.py @@ -489,7 +489,7 @@ begin end if; select count(*) into downstream_dependency_count from ( - select ce.id + select ce.claim_id from public.claim_evidence ce where (ce.claim_id = any({claim_ids}) or ce.source_id = any({source_ids})) and not ({owned_evidence_predicate}) diff --git a/tests/test_proposal_apply_lifecycle.py b/tests/test_proposal_apply_lifecycle.py index a6294d0..879876e 100644 --- a/tests/test_proposal_apply_lifecycle.py +++ b/tests/test_proposal_apply_lifecycle.py @@ -499,6 +499,8 @@ def test_compensating_rollback_is_atomic_deterministic_and_refuses_state_drift() assert delete_positions == sorted(delete_positions) assert "set status = 'canceled'" in rollback_sql assert "downstream_dependency_count" in rollback_sql + assert "select ce.claim_id" in rollback_sql + assert "select ce.id" not in rollback_sql assert "downstream dependenc(ies) exist" in rollback_sql assert "immutable approval snapshot drifted" in rollback_sql