5.0 KiB
QUESTION_REWRITE_PLAN.md
Purpose
This plan defines how to rewrite Closer question packs without producing valid but dead content.
The goal is not just clean JSON.
The goal is questions real couples want to answer.
Standard Pack Workflow
For normal 250 question category packs:
- Define the category purpose.
- Define the main subtopics.
- Write in batches of 40 to 50.
- Review tone and repetition after each batch.
- Assign types, access, and depth.
- Validate schema.
- Check duplicate question text.
- Check duplicate option lists.
- Read random questions out loud.
- Fix weak items before shipping.
Standard 250 Question Mix
| Type | Count |
|---|---|
| multi_choice | 140 |
| single_choice | 50 |
| scale | 35 |
| this_or_that | 15 |
| written | 10 |
Free and premium split:
- 75 free
- 175 premium
Special Pack Exception
Some packs are product-specific and may override the standard 250 question mix.
A special pack must document:
- pack id
- file name
- expected count
- allowed question types
- free count
- premium count
- required tags
- reason for the exception
Special packs still must pass tone, duplicate, option, schema, and sample review.
Daily Single Choice Weekday Pack
Pack id:
daily_single_choice_weekly_v1
Current compatibility file name:
daily_fun_multiple_choice_v3.json
Recommended future file name:
daily_single_choice_weekly_v1.json
Expected counts:
- 500 total questions
- 75 free questions
- 425 premium questions
- 500 single_choice questions
Rules:
- every question must be single_choice
- every question must have 4 to 6 options
- 4 options preferred
- every question must have a weekday tag
- every option must answer the prompt
- no therapy worksheet tone
- no wellness survey tone
- no household admin tone
- no chore-heavy answer sets
- no repeated exact option lists
Weekday tags:
- daily_monday_mood_check
- daily_tuesday_tiny_win
- daily_wednesday_real_one
- daily_thursday_laugh
- daily_friday_flirty
- daily_saturday_side_quest
- daily_sunday_slow_burn
Daily Fun-First Rule
Daily questions must be fun before they are useful.
If a daily prompt mostly helps the couple manage chores, bedtime, errands, dishes, bills, or logistics, rewrite it toward one of these:
- a tiny date
- a joke
- a snack
- a flirt
- a mini adventure
- a sweet surprise
- a playful choice
- a cute debate
- a small shared moment
Do not approve a daily batch just because it is concrete.
Concrete can still be boring.
A daily batch should feel like something users would want to tap tonight.
Daily Production Loop
Do not write or rewrite 500 daily questions in one pass.
Use a bounded loop. The goal is quality control, not infinite polishing until everyone forgets why the app exists.
Per Weekday Loop
For each weekday theme:
- Write or rewrite 20 questions.
- Review the 20 questions out loud.
- Mark every weak question with a reason.
- Fix only the marked questions.
- Review the fixed questions again.
- Continue only when at least 18 of 20 pass.
- Continue only when at least 16 of 20 feel fun, playful, sweet, flirty, silly, or date-like.
- Expand that weekday theme in batches of 20 to 30.
- Repeat mark, fix, review after each batch.
- Move to the next weekday only after the current weekday passes.
Pass Standard
A daily question passes only if:
- it sounds like something normal people would say
- it can be answered in under 10 seconds
- it feels like a couples game
- it is fun before merely useful
- it is concrete and tied to real life
- every option answers the exact prompt
- every option is a complete answer
- the weekday theme is clear
- the wording does not feel generated
- the answer set is not household admin
Required Marking Reasons
When marking a daily question, use one or more of these reasons:
- therapy_voice
- wellness_voice
- household_admin
- not_fun
- abstract_prompt
- awkward_split_phrase
- repeated_stem
- option_mismatch
- fragment_options
- too_generic
- weird_option
- weak_weekday_fit
- filler_question
Final Pack Gate
After all weekdays are drafted:
- Run schema and count validation.
- Run duplicate question and duplicate option-list checks.
- Check repeated openers.
- Check repeated option text.
- Read 10 random questions from each weekday.
- Mark anything weak.
- Fix marked questions.
- Run a second random sample from each weekday.
- Ship only if the second sample passes cleanly.
Do not skip the final sample gate.
A pack can be technically valid and still sound like a relationship app generated by a toaster with abandonment issues.
Rewrite Rules
When rewriting weak questions:
- keep the original category purpose
- remove therapy wording
- remove abstract phrasing
- use simpler language
- make the prompt answerable
- make options balanced
- avoid fake healthy answers
- avoid repeated stems
- keep the emotional intensity appropriate
Final Deliverables
Each rewrite should provide:
- updated JSON
- validation report
- marked fixes CSV or JSON
- short review findings
- apply instructions