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).
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.
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>
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>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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:
ab0a320f3fBase: feature/ec56eee6-... @
67f333cChecks: focused 109 passed; full suite TZ=UTC uv run pytest -q = 1735 passed.
Independent Codex gpt-5.6-terra review completed for this exact commit.