01must proveProposed | Standard and Member are built-in audiences at ranks zero and ten, respectively, with Standard covering everyone and Member using eligibility and public display; neither can be removed or change kind. no proof recorded yet | invariant | service, database | test |
02must proveProposed | Audience ranks are nonnegative and unique within a workspace. no proof recorded yet | validation | service, database | test |
03must proveProposed | Audience names, including built-ins, remain unique after case and spacing normalization; creation or renaming onto an occupied name identifies the existing audience in a refusal. no proof recorded yet | validation | service, database | test |
04must proveProposed | An audience covers everyone, eligible subjects or selected membership operations; operation audiences require operations and eligibility bindings belong only to eligibility audiences. no proof recorded yet | validation | api, database | test |
05must proveProposed | Price references prevent audience deletion, with the refusal reporting the product count and up to five products so staff can deactivate the audience instead. origin: COMM-M1 D7 (docs/milestones/COMM-M1-set-up-what-you-sell.md) no proof recorded yet | lifecycle | service | test |
06must proveProposed | Deactivation removes an audience from price selection without deleting its prices, which become usable again after reactivation. origin: COMM-M1 D7 (docs/milestones/COMM-M1-set-up-what-you-sell.md) no proof recorded yet | lifecycle | service | test |
07must proveProposed | An eligibility audience without a selected rule qualifies no buyer and produces a warning. no proof recorded yet | policy | service | test |
08Proposed | Public-display selection exposes an audience’s price beside Standard pricing to anonymous visitors. origin: COMM-M1 D10 (docs/milestones/COMM-M1-set-up-what-you-sell.md) | policy | service, console | test |
09Proposed | Accounting’s imported special-price handovers become product-scoped audiences once, while rank conflicts retain an unresolved handover with its reason. | lifecycle | service | test |
10must proveProposed | Audience inspection requires read permission and audience changes require administrator write permissions. no proof recorded yet | permission | api, console | test |
11must proveProposed | Audience replacement sends the complete record at the read version and refuses a stale version. no proof recorded yet | invariant | api, service | test |
12must proveProposed | A full lock prevents replacing an audience, and either full or deletion-only locking prevents removing it. no proof recorded yet | policy | service | observed |