Conformance
A conformant ABP implementation must guarantee:
- Never exceed the Bucket’s declared limits, under any concurrency — sales ≤ commercial
capacity;
CONCRETE≤ physical capacity;Redeem≤ physical. Zero accidental oversell: physical is only exceeded by the explicitly configuredoverbook. A QUALITATIVE Unit never double-books. - Atomic multi-item — a
Holdof N Units is all-or-nothing when ATOMIC is requested. - Idempotent Fulfill — issuing the same artifact twice is a no-op (returns the first).
- TTL honored — a hold expires and frees the Unit without intervention.
- Validated, auditable FSM — every transition checked against the matrix and recorded in an append-only log.
- Typed result-codes — the codes below, not opaque exceptions.
- Every effect attributable to a Channel — commands come from an authenticated Channel.
- Re-accommodation preserves the commercial state — shrinking inventory (block /
reduction) never silently cancels a committed Booking. It forces a transition on the
resolution axis (AutoAssign or standby), keeping the FSM (a
PAIDstaysPAID). Every involuntary transition is audited (reason) in the event log.
The Eventheca Reservations product is the reference implementation: it passes a conformance suite (to be written) that exercises these 8 invariants.
Result-codes
Section titled “Result-codes”| Code | When |
|---|---|
OK | success |
UNIT_UNAVAILABLE | Unit already allocated/sold |
OVERSELL_PREVENTED | an attempt that would violate the Bucket’s capacity/uniqueness |
HOLD_EXPIRED | a command over an already-expired hold |
POLICY_VIOLATION | a sale rule (per-CPF limit, window, conditioned sale) |
IDEMPOTENT_REPLAY | replay of an idempotency-key; returns the prior result |
QUOTA_EXHAUSTED | reserved for Channel-credit (future league-owned registry) |
ALREADY_ASSIGNED | Assign over an already-CONCRETE allocation without overwrite |
NOT_RESOLVED | Unassign / Swap over a still-ANONYMOUS allocation |
BUMPED | Redeem denied: physical capacity exhausted (overbook standby) |
Sale rules (per-CPF limit, conditioned sale, gallery lock) are declarative configuration per Producer/event — never hardcoded.