TL;DR
- 01Claim is what a party asserts. Commitment is what a party is on the hook for.
- 02Conflating them is how careful negotiations become careless ones.
- 03In the ACO they are distinct primitives at the type level. Commitments have status, deadline, source document, binding force.
Claims are what a party says. Commitments are what they are on the hook for. Conflating these is how careful negotiations become careless ones. The kernel keeps them distinct at the type level.
Why the distinction matters
A party can make many claims and very few commitments; the shape of a negotiation is often defined by the gap between them. "Claim drift without commitment drift" is the clearest signal of good-faith effort. "Commitment drift without claim drift" is the clearest signal of bad faith. Neither pattern is visible if the data model conflates the two.
Worked example
In a commercial dispute, the CEO of Party A says in a board meeting: "We always intended to deliver in Q2." This is a Claim. What Party A actually signed in the MSA — "Milestone M2 due 2026-06-30, late-delivery fee $X/day" — is a Commitment. Both can be true simultaneously. A legibility system that cannot separate them is indistinguishable from the PR layer of the company being analysed.
Status transitions
- ▸Active → Renegotiated, Contested, Broken, Fulfilled, Lapsed, Withdrawn.
- ▸Every transition is a typed record with valid-time + transaction-time + triggering claim/event + source span.
- ▸The invariant
Active → Fulfilledrequires intervening evidence is enforced by the validator.
For practitioners
You can run an audit. If a party says "we are still on track," the system can independently check whether the commitments they signed are still in active status. If a commitment moved from active to violated while nobody flagged it, the system surfaces it. Not a revolution — just honest bookkeeping at machine speed.
SOURCES