01must proveConfirmed | Price selection returns the cheapest result permitted by the customer’s pricing and promotion combination rules. origin: COMM-M1 D12 (docs/milestones/decisions/COMM-M1-D12-andrew-2026-10-19.md) no proof recorded yet | invariant | service | test |
02must proveConfirmed | Combinable promotions discount audience prices; noncombinable promotions discount Standard instead, with the cheaper valid outcome retained for every audience. origin: COMM-M1 D12 (docs/milestones/decisions/COMM-M1-D12-andrew-2026-10-19.md) no proof recorded yet | calculation | service | test |
03must proveConfirmed | The evaluator explores all combinations of up to four noncombinable promotions, then considers additional promotions in entry order and retains only improvements. origin: COMM-M1 D12 Q1 (docs/milestones/decisions/COMM-M1-D12-evaluation-algorithm.md) no proof recorded yet | calculation | service | test |
04must proveConfirmed | Line benefits precede order benefits, and each group applies priority-ordered automatic promotions before entry-ordered codes against the previous result. origin: COMM-M1 D12 Q2 (docs/milestones/decisions/COMM-M1-D12-evaluation-algorithm.md) no proof recorded yet | calculation | service | test |
05must proveConfirmed | Exclusive benefits replace automatic discounts on their covered lines and cannot share a line with another code; combinations of up to four exclusive codes compete only when they reduce the total. origin: COMM-M1 D12 Q5 (docs/milestones/decisions/COMM-M1-D12-evaluation-algorithm.md) no proof recorded yet | calculation | service | test |
06must proveConfirmed | Alternatives compare totals before tax and shipping, minimum purchase uses qualifying lines after line discounts, and tied results retain audience pricing without consuming the code. origin: COMM-M1 D12 Q3, Q4, Q7 (docs/milestones/decisions/COMM-M1-D12-evaluation-algorithm.md) no proof recorded yet | calculation | service | test |
08must proveProposed | Percentage benefits round to whole minor units with exact halves increasing the discount in the buyer’s favour. origin: COMM-M1 D12-F3 (docs/milestones/COMM-M1-set-up-what-you-sell.md) no proof recorded yet | calculation | service | test |
09must proveConfirmed | Order discounts and caps allocate proportionally to eligible lines by largest remainder, with earlier lines breaking ties and each allocation retained for tax and accounting. origin: COMM-M1 D12 point 6 (docs/milestones/decisions/COMM-M1-D12-andrew-2026-10-19.md) no proof recorded yet | calculation | service, database | test |
10must proveProposed | Tax, shipping and fee lines and promotion-excluded products receive no ordinary discount; shipping benefits reduce the rated shipping charge to no less than zero, with tax on its net amount. origin: COMM-M1 D4 (docs/milestones/COMM-M1-set-up-what-you-sell.md) no proof recorded yet | policy | service | test |
11must proveProposed | Code refusal follows the defined sequence of identity, state, dates, currency, usage, purchaser restrictions, authentication, eligibility, matching lines and minimum purchase, using customer messages that conceal private limits and rules. no proof recorded yet | validation | service | test |
12must proveConfirmed | Valid but ineffective codes remain recorded as unapplied without consuming usage, including line conflicts and business-unit mismatch; invalid codes prevent placement. origin: COMM-M1 D12 point 8 (docs/milestones/decisions/COMM-M1-D12-andrew-2026-10-19.md) no proof recorded yet | policy | service | test |
13must proveProposed | Unavailable eligibility decisions refuse qualification, and restricted anonymous buyers receive a sign-in request before eligibility rejection. no proof recorded yet | policy | service | test |
14must proveConfirmed | The breakdown identifies line discounts and better audience or automatic alternatives, while invoice discount descriptions use customer-facing promotion names. origin: COMM-M1 D12 point 8 (docs/milestones/decisions/COMM-M1-D12-andrew-2026-10-19.md) no proof recorded yet | policy | service | test |
15must proveProposed | Unavailable selling-area checks leave parts unapplied during preview and prevent placement with a retry message and no saved sale. origin: COMM-M1b D-R3 (docs/milestones/COMM-M1b-promotions-and-codes.md) no proof recorded yet | policy | service | test |
16must proveConfirmed | Concurrent placement respects usage limits, with exactly one hundred successful uses when two hundred placements compete for one hundred available uses. origin: COMM-M1 plan A15 (promotions D-05) (docs/milestones/plans/COMM-M1-plan.md) no proof recorded yet | invariant | service, database | test |