01must proveProposed | Tasks require a nonblank title of at most 500 characters and allow descriptions up to 20,000 characters, with field-specific refusals. no proof recorded yet | validation | api, service, database | test |
02must proveProposed | A task must reference a task type belonging to its workspace. no proof recorded yet | validation | api, database | test |
03must proveProposed | Creation uses Open by default, permits explicitly selected open statuses and refuses either closed status. no proof recorded yet | lifecycle | service | observed |
04must proveProposed | Omitted priority becomes Normal and omitted task date becomes today in the workspace; replacement preserves an omitted task date. origin: Andrew 2026-10-12 (task date), recorded at services-crm:modules/tasks/db/tasks.table.ts no proof recorded yet | calculation | service, database | test |
05must proveProposed | A due day must exist in the calendar, with invalid dates rejected against the due-date field. no proof recorded yet | validation | api | test |
06must proveProposed | Supplying a time with the due date succeeds, but storage retains only the calendar day. no proof recorded yet | validation | api | test |
07must proveProposed | A task can reference one workspace contact and one workspace organization, and missing or foreign-workspace contact, organization, type and queue references are refused. no proof recorded yet | validation | service, database | test |
08must proveProposed | Deleting a related contact or organization preserves the task and clears only the corresponding reference. no proof recorded yet | lifecycle | database | test |
09must proveProposed | External task references are unique within the workspace. no proof recorded yet | invariant | database, service | test |
10must proveConfirmed | Edits require the version read; partial edits preserve omissions, while replacement resets omitted optional values except retained task date, role offer and workflow origin. no proof recorded yet | policy | api, service | observed |
11must proveProposed | Full locks block task edits, and either supported lock blocks task deletion. no proof recorded yet | validation | service | test |
12must proveProposed | Deleting tasks requires administrator permission and has no console action. no proof recorded yet | permission | api, console | test |
13must proveProposed | The task creation form searches workspace contacts and organizations through its related-record selectors. no proof recorded yet | policy | console | observed |