01must proveProposed | A website change starts Queued for one workspace site or template, with an objective up to 4,000 characters, a full starting commit and a branch named for the change. | validation | api, service, database | test |
02must proveProposed | Foreign-workspace sites and changes are indistinguishable from missing records, and rejected creation writes in neither workspace. | invariant | service, database | test |
03must proveProposed | Revision saving requires the current parent revision, or the starting commit for the first save, and concurrent saves from that parent produce one winner. | invariant | service | test |
04must proveProposed | Revision saves accept at most 50 regular files of 512 KB within the customer's folder and reject traversal, absolute or backslash paths, duplicate paths, package or source-control folders, symlinks and submodules. | validation | service | test |
05must proveProposed | Saving revisions moves only the website change's branch and leaves the release branch untouched. | invariant | service | test |
06must proveProposed | A refused revision save records no branch, commit or revision before returning its refusal. | invariant | service | test |
07must proveProposed | Saving again during initial preview preparation replaces the current revision, clears the obsolete preview and leaves the change Persisted. | lifecycle | service | test |
08must proveProposed | A save is rejected after the lifecycle enters an in-flight pull request, check, build or review stage that no longer accepts revisions. | lifecycle | service | test |
09must proveProposed | A change rejects its 101st revision rather than discard earlier revisions. | validation | database, service | test |
10must proveProposed | State transitions preserve their prior state, actor and context in history and reject the transition that would exceed 1,000 entries. | invariant | database, service | test |
11must proveProposed | Revision authors distinguish people, identified AI runs, staff acting as staff and system-authored template-operation commits. | validation | service | observed |
12must proveProposed | Only declared lifecycle transitions are accepted; Rolled Back and Superseded are final, while Failed can restart. | lifecycle | service | test |
13Proposed | Change detail includes revisions and the first history page, and diffs compare the current revision with its start, predecessor or a selected revision. | policy | api, service | test |
14must proveProposed | Opening changes requires change authority, while read authority permits listing and inspection only. | permission | api | test |
15must proveProposed | An unrecorded commit remains on the branch and causes a later parent mismatch refusal; the branch is never forced backwards. | policy | service | documented |