TTP EXTENSION · MODEL COMPATIBILITY
Compatibility is evidence, not metadata.
When an artifact's model differs from the current authoritative model, exact identity mismatch should not automatically mean either “reuse” or “discard.” Reuse requires a scoped, identity-bound compatibility proof.
Canonical rule
READ ARTIFACT MODEL M_then
↓
RESOLVE CURRENT MODEL M_now
↓
M_then == M_now ?
├─ yes → ordinary applicability checks
└─ no
↓
RESOLVE COMPATIBILITY PROOF C
↓
VERIFY C BINDS
from-model + to-model
+ artifact identity
+ rule identity
+ current state/scope
↓
EVALUATE PREDICATE NOW
├─ false / unknown → HOLD / RECOMPUTE
└─ true → eligible for current-owner adoption
↓
FENCED COMMIT
↓
PROVE MODEL HISTORY → COMPATIBILITY → EFFECTI71–I74
- I71 — Model-version mismatch does not by itself prove incompatibility; compatibility must be proved.
- I72 — Compatibility proof must bind exact model identities, artifact identity, and current state/scope.
- I73 — A global compatibility flag is not equivalence evidence for every artifact.
- I74 — Failed or unknown compatibility proof requires hold, revalidation, or recomputation before consequence.
Verified scoped example
v1: min(limit, 2×price)
v2: min(limit, 2×price + tax_rate)
proof predicate:
tax_rate >= 0
AND
2×price >= limit
inside scope:
v1 == v2 == limit
outside scope:
proof fails closedA successful compatibility proof is not a statement that two model versions are globally interchangeable. It proves equivalence only for the identities and state assumptions it binds.
VERSION DIFFERENCE IS A QUESTION. COMPATIBILITY PROOF IS THE ANSWER.