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>
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>