Authority matrix
12 domains · 10 systems · versioned, because the answer changes across phases
| Domain | Owner and precedence | Measure | May change | Rationale, shown verbatim on every conflict | Effective |
|---|---|---|---|---|---|
| order_existence | shopify p1 | none | existence, status | An order exists because Shopify says so. i3 never mints or voids an order. | 2026-08-01 |
| sellable_qty | shopify p1 i3 p2 |
sellable | nothing | Shopify owns what the storefront promises. i3 owns the derivation. Winning this domain does not permit writing a balance, which is why the array is empty and the conflict routes to drift. | 2026-08-01 |
| dispatch_awb | ops2 p1 | none | status | ops2 owns dispatch, AWB and carrier events. i3 consumes them and never guesses a dispatch site from the order. | 2026-08-01 |
| return_intent | csd p1 | committed | custody | CSD owns why a customer is sending something back and which case it belongs to. It does not own whether the parcel arrived. | 2026-09-01 |
| physical_receipt | grn p1 iwms p2 |
on_hand | existence, condition | The counted receipt wins over a carton sum, because opening a carton into picking does not decrement the carton and the sum therefore overstates. | 2026-10-01 |
| carton_position | iwms p1 | none | status | IWMS owns which bin a carton is in. A read that arrives mid-move is a timing race, resolved by replay. | 2026-12-01 |
| physical_existence | rfid p1 IMM | on_hand | custody, condition | Immutable. A gate read proves a tag was at an antenna at a time. Nothing outvotes it. It also proves nothing else, so it may only move custody or condition, never a derived measure. | 2027-01-01 |
| unit_custody | rfid p1 IMM ops2 p2 |
committed | custody | Immutable. Whose hands a serial is in is settled by the last read. A carrier status string is evidence at weight 0.60 and can never by itself credit sellable stock. | 2027-01-01 |
| po_status | i3 p1 | incoming | status | i3 owns the supplier pipeline end to end. A sibling's copy is a mirror, and a stale mirror is missing data rather than a dispute. | 2026-10-01 |
| write_off_approval | finance p1 | owned | condition | Finance owns whether value may leave the balance sheet. An approval that exists only as a conversation is not a signature and cannot be backdated into one. | 2026-08-01 |
| landed_cost | netsuite p1 i3 p2 |
none | value | Value moves in cost_ledger, a second hash-chained journal, because a cost revision changes value with zero quantity. It may never travel through the quantity ledger. Exception AUX-0001 active until 12-08: i3 wins for the June close only, while the freight bridge is built. |
2026-11-01 |
| accounting_truth | netsuite p1 | none | nothing | NetSuite is the accounting system of record. Every valuation i3 publishes is a management figure that must reconcile to it, never replace it. i3 cannot change an accounting fact, only report a difference. | 2026-08-01 |
Two domains have may_change empty. Winning them lets a system be believed and changes nothing in the ledger, which is the correct outcome when the disagreement is about a derived number or about somebody else's book.