# Daily Patch Review Loop Policy v1 This policy exists because a pack can pass schema checks and still be boring, weird, or too generated. The daily pack must be fixed in patch mode unless a mass rewrite is explicitly justified. ## Core Rule Review the full pack. Mark only questions that fail. Fix only the marked question IDs. Do not rewrite passing questions just because a rewrite is happening. Passing questions are frozen unless they later fail a specific rule. ## Required Inputs Before editing daily questions, the writer must have: * the current JSON file * the current daily guide files * the previous review findings, if any * a marked fixes CSV or JSON from the review pass ## Required Review Pass Each question must be checked for: * schema validity * weekday tag correctness * prompt clarity * option fit * fun-first value * therapy or wellness voice * household admin drift * awkward phrasing * repeated opener or repeated mechanic * too-random silliness ## Mark Before Fixing Every failed question must be marked with: * question ID * weekday * current prompt * failure reason * fix scope * whether metadata may change Use these fix scopes: * `prompt_only` * `options_only` * `prompt_and_options` * `metadata_only` * `delete_or_replace` ## Fix Only What Failed When patching: * preserve the original ID unless the ID itself is wrong * preserve `type` unless the type is wrong * preserve `access` unless the count split is wrong * preserve `depth` unless the import code or schema requires a change * preserve weekday tags unless the tag is wrong * preserve compatibility tags unless app code no longer needs them * change only the prompt and options for normal content fixes ## Mass Rewrite Exception A mass rewrite is allowed only when more than 60 percent of a weekday or pack fails for the same root reason. The rewrite report must state: * failure percentage * shared root cause * why patching individual IDs would be worse * what will be preserved * how the new pack will be reviewed Without that report, mass rewriting is not allowed. ## Loop Stop Conditions The loop stops only when: * every marked question has been fixed * every fixed question has been reviewed again * remaining hard flags are 0 * duplicate checks pass * option-answer checks pass * two random samples per weekday pass cleanly * the review findings file says `production_ready` Do not call the pack production ready with known unresolved content flags. ## Fun But Grounded Rule Fun does not mean random nonsense. Reject prompts or options that feel like a carnival generator, such as too many fake awards, too many snack drafts, too many mascot jokes, or cute objects that do not actually fit the prompt. A daily question should feel playful and usable by adults, not like a children's party game accidentally shipped inside a couples app. ## Required Outputs Every daily patch must output: * updated JSON * validation report * marked fixes file * patched fixes file * remaining flags file * review findings file * short apply instructions