review
This commit is contained in:
parent
89138874e7
commit
157f080ee6
|
|
@ -101,3 +101,4 @@ revenucat_secret_api.md
|
||||||
|
|
||||||
# Local ship-readiness working plan — operator doc, not repo history
|
# Local ship-readiness working plan — operator doc, not repo history
|
||||||
release_guide.md
|
release_guide.md
|
||||||
|
seed/questions/closer_question_guides_150_max.zip
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,11 @@
|
||||||
# Daily Patch Review Loop Policy v1
|
# Daily Patch Review Loop Policy v2
|
||||||
|
|
||||||
This policy exists because a pack can pass schema checks and still be boring, weird, or too generated.
|
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.
|
The daily pack must be fixed in patch mode unless a mass rewrite is explicitly justified.
|
||||||
|
|
||||||
|
This policy applies to the documented 511-question daily special pack. Normal category packs remain capped at 150 questions under `QUESTION_CONTENT_GUIDE.md` and `QUESTION_SCHEMA.md`. The special daily count does not create a general exception for other packs.
|
||||||
|
|
||||||
## Core Rule
|
## Core Rule
|
||||||
|
|
||||||
Review the full pack. Mark only questions that fail. Fix only the marked question IDs.
|
Review the full pack. Mark only questions that fail. Fix only the marked question IDs.
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# Daily Single Choice Weekday System v6
|
# Daily Single Choice Weekday System v7
|
||||||
|
|
||||||
This document defines the Closer daily weekday question pack.
|
This document defines the Closer daily weekday question pack.
|
||||||
|
|
||||||
|
|
@ -47,7 +47,7 @@ This special daily pack uses:
|
||||||
|
|
||||||
* 511 total · 86 free · 425 premium · 511 single_choice
|
* 511 total · 86 free · 425 premium · 511 single_choice
|
||||||
|
|
||||||
Do not apply the standard 250 question category mix to this pack.
|
Normal category packs are capped at 150 questions. This 511-question daily system is a documented special-pack exception, so the normal maximum and mixed-type planning target do not apply here.
|
||||||
|
|
||||||
## Required Type
|
## Required Type
|
||||||
|
|
||||||
|
|
@ -770,7 +770,7 @@ If one option fails the answer test, fix that option. If two or more fail, rewri
|
||||||
|
|
||||||
## Production Review Loop
|
## Production Review Loop
|
||||||
|
|
||||||
Do not write or rewrite all 500 questions in one blind pass.
|
Do not write or rewrite all 511 questions in one blind pass.
|
||||||
|
|
||||||
For each weekday:
|
For each weekday:
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# Fun Relationship Questions Research Notes v2
|
# Fun Relationship Questions Research Notes v3
|
||||||
|
|
||||||
This research note updates the Closer daily question guides after reviewing modern couple apps, conversation-card games, date-night question lists, and relationship research summaries.
|
This research note updates the Closer daily question guides after reviewing modern couple apps, conversation-card games, date-night question lists, and relationship research summaries.
|
||||||
|
|
||||||
|
|
@ -8,6 +8,14 @@ Fun relationship questions work when they feel like a small playable moment.
|
||||||
|
|
||||||
They are not just "warm prompts". They use choice, humor, tiny missions, preferences, memories, flirtation, and low-pressure honesty.
|
They are not just "warm prompts". They use choice, humor, tiny missions, preferences, memories, flirtation, and low-pressure honesty.
|
||||||
|
|
||||||
|
## Pack Size Decision
|
||||||
|
|
||||||
|
Normal Closer category packs are capped at **150 questions**. The cap is a maximum, not a quota; smaller packs are preferred when they avoid filler or repeated mechanics.
|
||||||
|
|
||||||
|
A full 150-question mixed pack targets 45 free and 105 premium questions, with no more than 5 written questions by default. Written prompts remain optional and should be used only when an open response adds real value.
|
||||||
|
|
||||||
|
The 511-question daily single-choice weekday and wildcard system is a documented product-specific exception. Its size must not be copied into normal category packs.
|
||||||
|
|
||||||
## What Good Examples Have in Common
|
## What Good Examples Have in Common
|
||||||
|
|
||||||
* They are quick to answer.
|
* They are quick to answer.
|
||||||
|
|
@ -82,3 +90,11 @@ Second, it did not clearly separate fun from random. A pack can avoid therapy vo
|
||||||
* Fun but grounded is now a gate.
|
* Fun but grounded is now a gate.
|
||||||
* The option answer test is now required.
|
* The option answer test is now required.
|
||||||
* Remaining hard flags must be 0 before production-ready.
|
* Remaining hard flags must be 0 before production-ready.
|
||||||
|
|
||||||
|
## Added In v8
|
||||||
|
|
||||||
|
* Normal category packs are capped at 150 questions.
|
||||||
|
* The 150-question limit is a ceiling, not a quota.
|
||||||
|
* A full mixed pack targets 45 free and 105 premium questions.
|
||||||
|
* Written questions default to 0 to 5 per normal pack.
|
||||||
|
* The 511-question daily system remains a documented special exception.
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,14 @@ Closer is a private couples app. The questions should help two people feel close
|
||||||
|
|
||||||
Use this guide before writing or rewriting any question JSON file.
|
Use this guide before writing or rewriting any question JSON file.
|
||||||
|
|
||||||
|
## Pack Size Authority
|
||||||
|
|
||||||
|
Normal category packs may contain **up to 150 questions**. The 150-question limit is a ceiling, not a quota. Use fewer questions when the topic cannot support 150 distinct, strong prompts without filler or repetition.
|
||||||
|
|
||||||
|
Only a documented product-specific special pack may exceed 150 questions. The current daily single-choice weekday system is one such exception and keeps its separately documented 511-question total.
|
||||||
|
|
||||||
|
Written questions must remain rare. A normal pack may use **0 to 5 written questions by default**. More than 5 requires a documented pack-specific reason and explicit product-owner approval. Never use written questions to fill a count.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 1. The Closer Voice
|
# 1. The Closer Voice
|
||||||
|
|
@ -192,6 +200,8 @@ Each question type should have a purpose.
|
||||||
|
|
||||||
Use for stories, memories, reflection, emotional honesty, and open-ended answers.
|
Use for stories, memories, reflection, emotional honesty, and open-ended answers.
|
||||||
|
|
||||||
|
Written questions are the exception, not the default. Use them only when a choice-based format would lose the story, nuance, or personal explanation. A normal pack should contain 0 to 5 written questions unless a documented exception is approved.
|
||||||
|
|
||||||
Good written examples:
|
Good written examples:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
|
|
@ -750,22 +760,29 @@ this_or_that
|
||||||
|
|
||||||
# 13. Pack Structure Recommendation
|
# 13. Pack Structure Recommendation
|
||||||
|
|
||||||
For a 250-question pack:
|
Normal category packs may contain **no more than 150 questions**. A complete 150-question mixed pack should normally target:
|
||||||
|
|
||||||
```bat
|
```bat
|
||||||
SET TOTAL_QUESTIONS=250
|
SET TOTAL_QUESTIONS=150
|
||||||
SET FREE_QUESTIONS=75
|
SET FREE_QUESTIONS=45
|
||||||
SET PREMIUM_QUESTIONS=175
|
SET PREMIUM_QUESTIONS=105
|
||||||
SET WRITTEN=150
|
SET MULTI_CHOICE=90
|
||||||
SET SINGLE_CHOICE=40
|
SET SINGLE_CHOICE=30
|
||||||
SET MULTI_CHOICE=20
|
SET SCALE=15
|
||||||
SET SCALE=25
|
SET THIS_OR_THAT=10
|
||||||
SET THIS_OR_THAT=15
|
SET WRITTEN=5
|
||||||
```
|
```
|
||||||
|
|
||||||
This structure is acceptable if the current app expects those counts.
|
This mix is a planning target, not permission to add filler. A smaller pack is valid when the topic cannot support 150 distinct, strong questions.
|
||||||
|
|
||||||
But quality matters more than exact counts. If a pack cannot support 250 good questions without filler, reduce the pack or split it.
|
Rules:
|
||||||
|
|
||||||
|
- 150 is the maximum for a normal category pack.
|
||||||
|
- written questions should normally total 0 to 5
|
||||||
|
- do not force every pack to use every question type
|
||||||
|
- preserve the intended free/premium value split when using a smaller pack
|
||||||
|
- only a documented special product pack may exceed 150
|
||||||
|
- the 511-question daily single-choice system is a documented special exception
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -773,7 +790,7 @@ But quality matters more than exact counts. If a pack cannot support 250 good qu
|
||||||
|
|
||||||
Question packs must not be written in one uninterrupted bulk-generation pass.
|
Question packs must not be written in one uninterrupted bulk-generation pass.
|
||||||
|
|
||||||
The full pack may contain 250 or more questions when the product requires it, but question creation must be divided into controlled batches so quality, continuity, counts, and repetition can be reviewed throughout the work.
|
A normal category pack may contain up to 150 questions. Only a documented special product pack may exceed that limit. Regardless of final size, question creation must be divided into controlled batches so quality, continuity, counts, and repetition can be reviewed throughout the work.
|
||||||
|
|
||||||
## 14.1 Batch Size
|
## 14.1 Batch Size
|
||||||
|
|
||||||
|
|
@ -1127,7 +1144,7 @@ ECHO The tone guide was followed.
|
||||||
|
|
||||||
## 14.15 Quality Takes Priority Over Pack Size
|
## 14.15 Quality Takes Priority Over Pack Size
|
||||||
|
|
||||||
A product target of 250 questions does not justify filler.
|
A product target of 150 questions does not justify filler. The maximum is not a quota.
|
||||||
|
|
||||||
If the topic cannot support the planned count without repetition:
|
If the topic cannot support the planned count without repetition:
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# Closer Question Quality Checklist v7
|
# Closer Question Quality Checklist v8
|
||||||
|
|
||||||
**See also:** [QUESTION_CONTENT_GUIDE.md](QUESTION_CONTENT_GUIDE.md) | [QUESTION_SCHEMA.md](QUESTION_SCHEMA.md) | [QUESTION_REWRITE_PLAN.md](QUESTION_REWRITE_PLAN.md)
|
**See also:** [QUESTION_CONTENT_GUIDE.md](QUESTION_CONTENT_GUIDE.md) | [QUESTION_SCHEMA.md](QUESTION_SCHEMA.md) | [QUESTION_REWRITE_PLAN.md](QUESTION_REWRITE_PLAN.md)
|
||||||
|
|
||||||
|
|
@ -31,15 +31,31 @@ Reject any question that contains or strongly resembles:
|
||||||
|
|
||||||
These are therapy worksheet patterns.
|
These are therapy worksheet patterns.
|
||||||
|
|
||||||
|
## Normal Pack Hard Checks
|
||||||
|
|
||||||
|
For every normal category pack, confirm before content review:
|
||||||
|
|
||||||
|
* total question count is 150 or fewer
|
||||||
|
* the planned count is treated as a ceiling, not a quota
|
||||||
|
* metadata counts match the actual questions
|
||||||
|
* written questions total 0 to 5 unless a documented exception exists
|
||||||
|
* no questions were added only to reach 150
|
||||||
|
* free and premium counts match the documented pack plan
|
||||||
|
* all IDs and question texts are unique
|
||||||
|
* no exact or near-duplicate blocks remain
|
||||||
|
|
||||||
## Daily Pack Hard Checks
|
## Daily Pack Hard Checks
|
||||||
|
|
||||||
For the daily single choice weekday pack, confirm before content review:
|
For the daily single choice weekday pack, confirm before content review:
|
||||||
|
|
||||||
* 500 total questions
|
* 500 frozen weekday questions
|
||||||
* 75 free questions
|
* 11 free wildcard questions
|
||||||
|
* 511 total questions
|
||||||
|
* 86 free questions
|
||||||
* 425 premium questions
|
* 425 premium questions
|
||||||
* every question is single_choice
|
* every question is single_choice
|
||||||
* every question has a weekday tag
|
* every weekday question has exactly one weekday tag
|
||||||
|
* every wildcard question has `mode_wildcard` and `daily_wildcard` and no weekday tag
|
||||||
* every question has 4 to 6 options
|
* every question has 4 to 6 options
|
||||||
* 4 options preferred
|
* 4 options preferred
|
||||||
* no duplicate IDs
|
* no duplicate IDs
|
||||||
|
|
@ -301,7 +317,7 @@ The pack can pass duplicate checks and still fail repetition review.
|
||||||
|
|
||||||
Before approving the full daily pack:
|
Before approving the full daily pack:
|
||||||
|
|
||||||
1. Read 10 random questions from each weekday.
|
1. Read 10 random questions from each weekday and all 11 wildcard questions.
|
||||||
2. Mark anything therapy-coded, boring, weird, logistical, or not fun.
|
2. Mark anything therapy-coded, boring, weird, logistical, or not fun.
|
||||||
3. Fix the marked items.
|
3. Fix the marked items.
|
||||||
4. Run a second random sample from each weekday.
|
4. Run a second random sample from each weekday.
|
||||||
|
|
|
||||||
|
|
@ -10,11 +10,11 @@ The goal is questions real couples want to answer.
|
||||||
|
|
||||||
## Standard Pack Workflow
|
## Standard Pack Workflow
|
||||||
|
|
||||||
For normal 250 question category packs:
|
For normal category packs of up to 150 questions:
|
||||||
|
|
||||||
1. Define the category purpose.
|
1. Define the category purpose.
|
||||||
2. Define the main subtopics.
|
2. Define the main subtopics.
|
||||||
3. Write in batches of 40 to 50.
|
3. Write in batches of 25, or 15 to 20 for sensitive packs.
|
||||||
4. Review tone and repetition after each batch.
|
4. Review tone and repetition after each batch.
|
||||||
5. Assign types, access, and depth.
|
5. Assign types, access, and depth.
|
||||||
6. Validate schema.
|
6. Validate schema.
|
||||||
|
|
@ -23,24 +23,30 @@ For normal 250 question category packs:
|
||||||
9. Read random questions out loud.
|
9. Read random questions out loud.
|
||||||
10. Fix weak items before shipping.
|
10. Fix weak items before shipping.
|
||||||
|
|
||||||
## Standard 250 Question Mix
|
## Standard Pack Size and Full 150-Question Mix
|
||||||
|
|
||||||
|
Normal category packs may contain **up to 150 questions**. The limit is a ceiling, not a quota. Use fewer when the topic cannot support 150 strong, distinct prompts.
|
||||||
|
|
||||||
|
For a full 150-question mixed pack, use this planning target:
|
||||||
|
|
||||||
| Type | Count |
|
| Type | Count |
|
||||||
|---|---:|
|
|---|---:|
|
||||||
| multi_choice | 140 |
|
| multi_choice | 90 |
|
||||||
| single_choice | 50 |
|
| single_choice | 30 |
|
||||||
| scale | 35 |
|
| scale | 15 |
|
||||||
| this_or_that | 15 |
|
| this_or_that | 10 |
|
||||||
| written | 10 |
|
| written | 5 |
|
||||||
|
|
||||||
Free and premium split:
|
Free and premium split:
|
||||||
|
|
||||||
* 75 free
|
* 45 free
|
||||||
* 175 premium
|
* 105 premium
|
||||||
|
|
||||||
|
Written questions should normally total 0 to 5. They are not required when another question type works better. More than 5 requires a documented pack-specific reason and explicit approval.
|
||||||
|
|
||||||
## Special Pack Exception
|
## Special Pack Exception
|
||||||
|
|
||||||
Some packs are product-specific and may override the standard 250 question mix.
|
Some product-specific packs may exceed the normal 150-question maximum or use a different type mix, but only when the exception is documented.
|
||||||
|
|
||||||
A special pack must document:
|
A special pack must document:
|
||||||
|
|
||||||
|
|
@ -106,17 +112,22 @@ daily_single_choice_weekly_v1.json
|
||||||
|
|
||||||
Expected counts:
|
Expected counts:
|
||||||
|
|
||||||
* 500 total questions
|
* 500 frozen weekday questions
|
||||||
* 75 free questions
|
* 11 free wildcard questions
|
||||||
|
* 511 total questions
|
||||||
|
* 86 free questions
|
||||||
* 425 premium questions
|
* 425 premium questions
|
||||||
* 500 single_choice questions
|
* 511 single_choice questions
|
||||||
|
|
||||||
|
This is a documented special-pack exception to the normal 150-question maximum.
|
||||||
|
|
||||||
Rules:
|
Rules:
|
||||||
|
|
||||||
* every question must be single_choice
|
* every question must be single_choice
|
||||||
* every question must have 4 to 6 options
|
* every question must have 4 to 6 options
|
||||||
* 4 options preferred
|
* 4 options preferred
|
||||||
* every question must have a weekday tag
|
* every weekday question must have exactly one weekday tag
|
||||||
|
* every wildcard question must use `mode_wildcard` and `daily_wildcard` and must not use a weekday tag
|
||||||
* every option must answer the prompt
|
* every option must answer the prompt
|
||||||
* no therapy worksheet tone
|
* no therapy worksheet tone
|
||||||
* no wellness survey tone
|
* no wellness survey tone
|
||||||
|
|
@ -158,7 +169,7 @@ A daily batch should feel like something users would want to tap tonight.
|
||||||
|
|
||||||
## Daily Production Loop
|
## Daily Production Loop
|
||||||
|
|
||||||
Do not write or rewrite 500 daily questions in one pass.
|
Do not write or rewrite all 511 daily questions in one pass.
|
||||||
|
|
||||||
Use a bounded loop. The goal is quality control, not infinite polishing until everyone forgets why the app exists.
|
Use a bounded loop. The goal is quality control, not infinite polishing until everyone forgets why the app exists.
|
||||||
|
|
||||||
|
|
@ -176,7 +187,7 @@ Patch mode means:
|
||||||
6. Review the patched questions again.
|
6. Review the patched questions again.
|
||||||
7. Repeat only for IDs that still fail.
|
7. Repeat only for IDs that still fail.
|
||||||
|
|
||||||
Do not rewrite all 500 because some questions failed.
|
Do not rewrite all 511 because some questions failed.
|
||||||
|
|
||||||
Do not rewrite a whole weekday unless the mass rewrite exception applies.
|
Do not rewrite a whole weekday unless the mass rewrite exception applies.
|
||||||
|
|
||||||
|
|
@ -261,13 +272,13 @@ When marking a daily question, use one or more of these reasons:
|
||||||
|
|
||||||
### Final Pack Gate
|
### Final Pack Gate
|
||||||
|
|
||||||
After all weekdays are drafted:
|
After all weekdays and wildcard questions are drafted:
|
||||||
|
|
||||||
1. Run schema and count validation.
|
1. Run schema and count validation.
|
||||||
2. Run duplicate question and duplicate option-list checks.
|
2. Run duplicate question and duplicate option-list checks.
|
||||||
3. Check repeated openers.
|
3. Check repeated openers.
|
||||||
4. Check repeated option text.
|
4. Check repeated option text.
|
||||||
5. Read 10 random questions from each weekday.
|
5. Read 10 random questions from each weekday and all 11 wildcard questions.
|
||||||
6. Mark anything weak.
|
6. Mark anything weak.
|
||||||
7. Fix marked questions.
|
7. Fix marked questions.
|
||||||
8. Run a second random sample from each weekday.
|
8. Run a second random sample from each weekday.
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# Closer Question Schema v6
|
# Closer Question Schema v7
|
||||||
|
|
||||||
**See also:** [QUESTION_CONTENT_GUIDE.md](QUESTION_CONTENT_GUIDE.md) | [QUESTION_REWRITE_PLAN.md](QUESTION_REWRITE_PLAN.md) | [QUESTION_QUALITY_CHECKLIST.md](QUESTION_QUALITY_CHECKLIST.md)
|
**See also:** [QUESTION_CONTENT_GUIDE.md](QUESTION_CONTENT_GUIDE.md) | [QUESTION_REWRITE_PLAN.md](QUESTION_REWRITE_PLAN.md) | [QUESTION_QUALITY_CHECKLIST.md](QUESTION_QUALITY_CHECKLIST.md)
|
||||||
|
|
||||||
|
|
@ -143,28 +143,39 @@ Written questions require an `answer` configuration with `max_length`.
|
||||||
|
|
||||||
Do not use written questions for basic preferences.
|
Do not use written questions for basic preferences.
|
||||||
|
|
||||||
## Standard 250 Question Packs
|
## Standard Category Packs
|
||||||
|
|
||||||
Every standard 250 question pack must contain:
|
A normal category pack may contain **up to 150 questions**. The maximum is not a required count. Smaller packs are valid when they provide stronger coverage with less repetition.
|
||||||
|
|
||||||
|
For a full 150-question mixed pack, use this planning target:
|
||||||
|
|
||||||
| Type | Count |
|
| Type | Count |
|
||||||
|---|---:|
|
|---|---:|
|
||||||
| multi_choice | 140 |
|
| multi_choice | 90 |
|
||||||
| single_choice | 50 |
|
| single_choice | 30 |
|
||||||
| scale | 35 |
|
| scale | 15 |
|
||||||
| this_or_that | 15 |
|
| this_or_that | 10 |
|
||||||
| written | 10 |
|
| written | 5 |
|
||||||
|
|
||||||
Free and premium split:
|
Free and premium split:
|
||||||
|
|
||||||
* 75 free
|
* 45 free
|
||||||
* 175 premium
|
* 105 premium
|
||||||
|
|
||||||
|
Normal-pack rules:
|
||||||
|
|
||||||
|
* total question count must be 150 or fewer
|
||||||
|
* metadata counts must match the actual file
|
||||||
|
* written questions should normally total 0 to 5
|
||||||
|
* written questions are optional and must not be used as filler
|
||||||
|
* more than 5 written questions requires a documented pack-specific exception
|
||||||
|
* a smaller pack may use a different type mix when the mix is documented and fits the category
|
||||||
|
|
||||||
## Special Packs
|
## Special Packs
|
||||||
|
|
||||||
Special product packs may override standard counts only when documented.
|
Special product packs may exceed the normal 150-question maximum or override the standard type mix only when documented.
|
||||||
|
|
||||||
The daily single choice weekday pack is a special pack.
|
The daily single choice weekday pack is the current documented 511-question special exception.
|
||||||
|
|
||||||
## Daily Single Choice Weekday Pack
|
## Daily Single Choice Weekday Pack
|
||||||
|
|
||||||
|
|
@ -327,7 +338,9 @@ Before shipping any pack:
|
||||||
* options must directly answer the prompt
|
* options must directly answer the prompt
|
||||||
* access values must be valid
|
* access values must be valid
|
||||||
* depth values must match current app compatibility rules
|
* depth values must match current app compatibility rules
|
||||||
* special packs must match their documented counts
|
* normal category packs must contain no more than 150 questions
|
||||||
|
* normal category packs should contain no more than 5 written questions unless an exception is documented
|
||||||
|
* special packs must match their documented counts and exception rules
|
||||||
|
|
||||||
## Content Validation Reminder
|
## Content Validation Reminder
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue