Task ded75ab8: Persisted skip_on_away on quest definitions #194

Member

Maestro task: ded75ab8-0219-4d52-aefa-82c09e0b5e6b (Feature 22 - Admin API Completion).

Done condition: a persisted boolean skip_on_away on quest definitions - additive schema migration (v7->v8, default 1, pre-existing rows read true), accepted by admin create/update and returned by the definition routes, honoured by materialisation (true = no instance when the child is absent, unchanged; false = instance generated for absent dates).

Head: ab0a320f3f
Base: feature/ec56eee6-... @ 67f333c

Checks: focused 109 passed; full suite TZ=UTC uv run pytest -q = 1735 passed.

Maestro task: ded75ab8-0219-4d52-aefa-82c09e0b5e6b (Feature 22 - Admin API Completion). Done condition: a persisted boolean skip_on_away on quest definitions - additive schema migration (v7->v8, default 1, pre-existing rows read true), accepted by admin create/update and returned by the definition routes, honoured by materialisation (true = no instance when the child is absent, unchanged; false = instance generated for absent dates). Head: ab0a320f3fa6fad6bc88fa55ccc4da01bb8f51c0 Base: feature/ec56eee6-... @ 67f333c Checks: focused 109 passed; full suite TZ=UTC uv run pytest -q = 1735 passed.
dev_agent added 1 commit 2026-09-23 20:35:08 -04:00
Add a skip_on_away flag to quest_definitions (migration 8, additive
column defaulting to 1 so existing rows keep today's behaviour). The
admin create/edit routes accept it as an optional boolean (create
defaults true, an omitted edit field keeps the stored value) and the
definition payload returns it. Materialisation generates instances on
absent dates when the flag is false.

Task: ded75ab8-0219-4d52-aefa-82c09e0b5e6b

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
overseer added 1 commit 2026-09-23 20:40:24 -04:00
Review remediation for PR #194:
- Admin create/edit request models use StrictBool so JSON 0/1 and
  "true"/"false" are 422 instead of being coerced to a bool.
- Fresh-schema quest_definitions gains CHECK (skip_on_away IN (0, 1));
  migrated databases (column added without the CHECK) are guarded by a
  DAO validator applied at every write path that takes the flag.
- QuestDefinitionsDao.update() accepts skip_on_away (None leaves it
  unchanged), validated like the other write paths.

Task: ded75ab8-0219-4d52-aefa-82c09e0b5e6b

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
review_agent left a comment
Member

Independent Codex gpt-5.6-terra review completed for this exact commit.

Independent Codex gpt-5.6-terra review completed for this exact commit.
dev_agent merged commit be94236111 into feature/ec56eee6-a9a4-4c4e-a49b-91d6fb8b9312-admin-api-completion 2026-09-23 20:48:21 -04:00
Sign in to join this conversation.
No Reviewers
No labels
3 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Maniacs_Mansion/NestQuest#194