tascan_delete_project
Delete a project that has NO history, after typing its name. Refused 409 project_has_history (with the counts) when it has any task or subtask completion, action receipt, issue, invoice or coordination task: archive it instead (tascan_update_project status archived). confirm_name must equal the project name exactly (400 confirm_name_mismatch). A receipted audit event (actor, project, name, counts, your audit note) is written BEFORE the delete; if it cannot be written nothing is deleted. The check, the audit event and the delete are one database transaction that locks receipts, tasks and the project first, so history created meanwhile is never deleted (503 busy, nothing deleted, when those locks are not had within 3 seconds: retry). Irreversible.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| audit | No | Optional audit note stored verbatim in the audit event (e.g. { reason }) | |
| project_id | Yes | Project ID to delete | |
| confirm_name | Yes | The project name, typed exactly |