01must proveConfirmed | A claim uses the read version and one to five hundred item references, reporting all ineligible, resolved, incompatible or already-held-here items together. | validation | api, service | test |
02must proveConfirmed | An item has only one active claim across draft and finalized reconciliations; competing attempts yield one winner and identify the existing holder and preparer to the other. | invariant | service, database | test |
03must proveConfirmed | Difference equals claimed money minus payout money in integer minor units, yielding Draft with no claims, In Progress with a nonzero difference and Balanced with a zero difference while open. ✓ 43 items of 10,000.00 against 9,725.00 read +275.00, in progress.✗ A balanced reconciliation is not finalized. | calculation | service, database | test |
04must proveConfirmed | Claims preserve matching strength, explanation, source batch and claimant; each claim or release operation advances version once and writes audit history. | lifecycle | service | test |
05must proveConfirmed | Release removes money from current totals but keeps the claim with release time, actor and reason, freeing the item for reuse; manual entries use removal instead. | lifecycle | service, database | test |
06must proveConfirmed | Authoritative acceptance claims the processor-linked payout-reference and settlement-grouping candidates together; repeating it with no new candidate preserves the version. | policy | service | test |
07must proveConfirmed | Claims change only an open reconciliation at its current version; stale edits fail. | validation | service, database | test |
08must proveConfirmed | A claim covers the complete item and preserves one unit, merchant and currency between item and reconciliation. | invariant | database | test |
09must proveConfirmed | A reconciliation cannot contain more than ten thousand claims. | invariant | database | test |
10must proveConfirmed | Update permission governs claim, release and authoritative acceptance; read-only callers cannot use them. | permission | api | test |
11Confirmed | Save Draft sends only differences from the persisted draft, processing releases and removals before new claims and manual entries. | policy | console | test |