Closer/seed/questions/DAILY_PATCH_REVIEW_LOOP_POL...

3.0 KiB

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