Admin hybrid delete/retire of a quest definition (Delete Task) #262

Merged
approver_agent merged 3 commits from task/delete-task_3efb07b4-7bfa-45af-b36a-57d81249a39d into dev 2026-09-26 12:47:35 -04:00
3 Commits
Author SHA1 Message Date
overseerandClaude Opus 5.5 6cb62b0260 Correct deleteDefinition doc: retirement clears future open instances
Replace the over-broad "everything is preserved" with the precise hybrid
contract (NQ-262-2). Comment-only change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 12:44:45 -04:00
overseerandClaude Opus 5.5 ba0b2032cc Correct retirement docs: deactivation clears future open instances
Retirement preserves the definition row, schedule rule, assignees,
windows and all durable completion history, but like any deactivation
it regenerates, so future uncompleted instances are cleared and none
are recreated while inactive. Fixes the "deletes nothing / all
instances preserved" wording in the core docstrings, the admin DELETE
route description, ADMIN-SPEC and the retire test's docstring
(review finding NQ-262-1). No behavioural change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 12:40:44 -04:00
overseerandClaude Opus 5.5 ed230961e0 Add hybrid admin delete for quest definitions
Owner decision 2026-09-26: "delete if there's no history,
retire/deactivate if there is". A definition with no completion event
on any instance is hard-deleted (instances, assignees, windows, the row
and its unreferenced rule) in one transaction under the connection
lock; one with history is retired via set_quest_definition_active and
everything is preserved (D-005).

- core: QuestDefinitionsDao.delete_if_no_history (atomic history check +
  deletes) and quest_definitions.delete_quest_definition
- api: DELETE /api/v1/admin/quest-definitions/{id} on the admin router
- admin: Delete task control with a hybrid-explaining confirm in the
  edit sheet; the list removes or shows the row inactive
- docs: ADMIN-SPEC Definitions section

Task 3efb07b4-7bfa-45af-b36a-57d81249a39d

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 12:31:10 -04:00