TRANSACTIONAL TRUST · VERIFIED #028

The model changed. The result did not have to.

Exact model identity is safe but conservative. This executable benchmark shows when an older artifact can be reused under a newer causal model — and why a blanket backward-compatible flag is not enough.

Two models, one scoped equivalence

model-v1:
y = min(limit, 2 × price)

model-v2:
y = min(limit, 2 × price + tax_rate)

compatibility predicate:
tax_rate >= 0
AND
2 × price >= limit

Inside that region, both models necessarily return limit.

Safe reuse without recompute

price = 20
limit = 30
tax_rate = 8

v1 output = 30
v2 output = 30

proof binds:
from-model + to-model
+ rule identity
+ artifact digest
+ current values
+ predicate result

→ adoption rows = 1
→ HTTP 200
→ effect_count = 1
→ output = 30 ✅

Unsafe: global compatibility claim

price = 10
limit = 30
tax_rate = 8

v1 output = 20
v2 output = 28

blanket compatible(v1,v2)=true
→ adoption rows = 1
→ committed output = 20 ❌

The version pair is the same. The state is outside the proven equivalence scope.

Safe out-of-scope path

predicate = false
→ compatibility_scope_conflict
→ adoption rows = 0
→ effects = 0

recompute under v2
→ output = 28
→ effect_count = 1 ✅

Tampering either the target-model digest or artifact digest also produced compatibility_proof_binding_conflict with zero effects.

I71–I74

COMPATIBILITY IS EVIDENCE, NOT METADATA.

Evidence

GitHub Actions run: 31585859218
Artifact ID: 9137064805
Artifact digest:
sha256:eccd83344d2f34caa7a1b933500a32389572408c04bd1de3172340dd625e3b7e
Score: 10/10

This is a deterministic protocol benchmark, not production safety certification or a universal semantic-equivalence algorithm.

Read TTP Model Compatibility Proof RulePrevious: Verified #027 →