01must proveProposed | A delivery policy selects one financial condition—immediate, full payment, minimum amount, minimum percentage, paid deposit or none—and carries approval, readiness, reversal, bank-debit and parent-line settings; amount and percentage fields are required only for their matching conditions. ✓ minimum percent with 50 is accepted✗ minimum amount with no amount is refused naming the field | validation | api, service | test |
02must proveProposed | Each product, ordering profile or workspace default has at most one policy, and the workspace default alone omits a scope reference. | validation | service, database | test |
03must proveProposed | Policy selection uses the active product policy, then the active ordering-profile policy, then the active workspace default, then the built-in full-payment policy with approved terms allowed and reversals sent for review. | calculation | service | test |
04must proveProposed | Placement copies the selected policy, version and origin onto the obligation, preserving that gate when the configuration is subsequently changed or removed. | invariant | service | test |
05must proveProposed | Preparation adds any application-required approval or readiness condition to the configured policy and cannot remove a configured safeguard. | policy | service | test |
06must proveProposed | A minimum-payment amount is retained unchanged in the order currency, permits zero and rejects negative values with the affected field identified. origin: Q05, Andrew 2026-10-19: services-commerce:docs/migrations/obligation-register/README.md#D-P4-17 | validation | api, service | test |
07must proveProposed | Policy replacement requires the current version, and a locked policy rejects replacement and deletion. | validation | service, database | test |
08must proveProposed | Policy application records the staff reason and intervention before examining a bounded page of pending obligations in scope, replaces gates that differ and leaves matching gates unchanged on repetition. | lifecycle | api, service | test |
09must proveProposed | Policy application excludes authorized and blocked obligations and preserves any approval or readiness requirement in the existing gate. origin: D-P4-05 (build decision, not a product ruling): services-commerce:docs/migrations/obligation-register/README.md#D-P4-05 | invariant | service | observed |
10must proveProposed | Policy reads require read authority; creation, replacement, deletion and application require their respective administrator permissions, with application treated as sensitive. | permission | api | observed |
11Proposed | Removing all configured policies makes the built-in policy the fallback for newly sold lines. | policy | service | test |