From fb9a876b981219becf9e3b55c16bd6ed73dccc9b Mon Sep 17 00:00:00 2001 From: null Date: Sun, 12 Jul 2026 16:14:34 -0500 Subject: [PATCH] docs(seed): add anti-AI-voice + humor-craft standard to question guides MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The content agent (ChatGPT) authors packs from these guides, and the repo has documented LLM over-compliance failures: snack overload, 416/499 same-mechanic six-question blocks, exactly-6-of-each mechanic counts. The guides banned therapy voice but never the machine-voice failure modes. - QUESTION_CONTENT_GUIDE.md: new section 8A "Write Like a Human" — AI-tell phrase ban, no-exclamation/no-emoji/sentence-case rules, humor craft (joke lives in the detail not the adjective; one absurd detail max; adult-deadpan mock-formality register; punch at the situation never the partner; snort test at ~1-in-4), anti-uniformity guards (guide examples are categories not vocabulary; no template blocks in any 10 consecutive; uneven distribution is correct), texting test. Also retitled section 18 agent-neutral. - DAILY_SINGLE_CHOICE_WEEKDAY_SYSTEM.md (v8→v9): "Daily Voice: Human and Funny" subsection — weekday theme is the angle not a template stem; wildcard absurdity rules; points at 8A as authority. - QUESTION_QUALITY_CHECKLIST.md (v10→v11): machine-voice Automatic Rejects, implausibly-even mechanic-count repetition check, and 5 new marking reasons (ai_voice, labeled_joke, uniform_option_grammar, guide_example_parrot, brand_caption_voice) so patch discipline can target these failures. Additive only: no schema/importer-contract, count, or patch-policy changes. Co-Authored-By: Claude Opus 4.8 --- .../DAILY_SINGLE_CHOICE_WEEKDAY_SYSTEM.md | 25 +++- seed/questions/QUESTION_CONTENT_GUIDE.md | 133 +++++++++++++++++- seed/questions/QUESTION_QUALITY_CHECKLIST.md | 20 ++- 3 files changed, 173 insertions(+), 5 deletions(-) diff --git a/seed/questions/DAILY_SINGLE_CHOICE_WEEKDAY_SYSTEM.md b/seed/questions/DAILY_SINGLE_CHOICE_WEEKDAY_SYSTEM.md index e34a5958..c660a4d9 100644 --- a/seed/questions/DAILY_SINGLE_CHOICE_WEEKDAY_SYSTEM.md +++ b/seed/questions/DAILY_SINGLE_CHOICE_WEEKDAY_SYSTEM.md @@ -1,4 +1,4 @@ -# Daily Single Choice Weekday System v8 — Importer-Aligned +# Daily Single Choice Weekday System v9 — Importer-Aligned, Human-Voice This document defines the Closer daily weekday question pack. @@ -304,6 +304,29 @@ Avoid these in daily questions: These words push the pack toward therapy voice. +## Daily Voice: Human and Funny + +The daily pack is the funniest surface in the app, so the "Write Like a Human" standard in +`QUESTION_CONTENT_GUIDE.md` (section 8A) binds hardest here. Read it before writing any daily batch. + +Daily-specific applications: + +* The joke must live in the detail, never in a label. If "silly" or "ridiculous" is doing the humor + work, the line has no humor. Cut the adjective and make the option specific enough to be funny alone. +* The house register is adult deadpan: mock-formality and fake stakes for tiny real things. Not + chaotic-quirky, not children's-entertainer energy. +* The weekday theme is the *angle*, not a template stem. Every Thursday prompt opening + "What's the funniest..." is a machine fingerprint. Approach each weekday's mood from a different + direction every time. +* Wildcards get the single most absurd detail in the pack — still adult deadpan, still one absurd + detail maximum. +* The guides' example nouns ("two-song kitchen dance", "dessert walk", "snack board") are categories, + not vocabulary. Shipping them verbatim is a reject. +* No exclamation marks in prompts. No emoji in prompts or options. Options in sentence case. +* Aim for roughly one question in four to pass the snort test (partner would snort and show the + other the phone); the rest land warm and concrete. A pack that strains for a laugh on every line + is as exhausting as one with none. + ## Good Daily Examples Good: diff --git a/seed/questions/QUESTION_CONTENT_GUIDE.md b/seed/questions/QUESTION_CONTENT_GUIDE.md index 59ef8108..e05a6301 100644 --- a/seed/questions/QUESTION_CONTENT_GUIDE.md +++ b/seed/questions/QUESTION_CONTENT_GUIDE.md @@ -564,6 +564,131 @@ What is one small thing that makes you want to be closer to me? --- +# 8A. Write Like a Human + +Section 8 bans therapy voice. This section bans the other failure mode: content that is technically +warm and playful but reads machine-written. These are the patterns that make a pack feel like an app +talking instead of a person. + +## AI-tell phrases are banned + +Never use these in prompts or options: + +```text +spice things up +take it to the next level +level up +unleash +embark +elevate +epic +ultimate +game-changer +adventure awaits +cozy up (as a command) +delight / delightful +whimsical +a dash of +sprinkle +``` + +These are marketing-bot words. A real person deciding what to do tonight does not say "let's elevate +our evening." + +## Punctuation and case rules + +- No exclamation marks in prompts. +- No emoji in prompts or options. +- Options use sentence case, never Title Case. + +Enthusiasm comes from the idea, not the punctuation. + +## The joke is the detail, not the adjective + +Never label a joke. "Silly", "hilarious", "ridiculous", and "funny" doing the humor work means there +is no humor in the line. Make the option itself funny through unexpected specificity. + +Dead: + +```text +A silly dance together +``` + +Alive: + +```text +A two-song kitchen dance +``` + +The second one is funny because "two-song" is a weirdly specific commitment. Nobody labeled it. + +If removing the word "silly" or "ridiculous" from a line kills it, the line was already dead. + +## One absurd detail, maximum + +One unexpected detail makes a line funny. Two makes it a kids' menu. + +Good: a formal award ceremony for whoever picked the better snack. + +Too much: a formal award ceremony with a trophy made of cheese judged by the cat in a tiny hat. + +## The house humor register + +Closer's humor is adult deadpan: mock-formality and fake stakes applied to tiny real things. + +```text +official pick +formal ruling +lifetime achievement award for couch positioning +a binding decision +this week's championship +``` + +Not random wackiness. Not chaotic-quirky. Not children's-entertainer energy. Two adults keeping a +straight face about something small — that is the register. + +## Punch at the situation, never at the partner + +If the laugh needs a target, the target is the couple's shared circumstance — the fridge, the +algorithm, the weather, the errand that ate the afternoon. Never either person's body, habits, +competence, or effort. + +## The snort test + +The best daily lines make one partner snort and show the other the phone. Aim for roughly one in four +questions to genuinely hit that bar. The rest should land warm and concrete. A pack where every line +strains to be funny is as exhausting as a pack with no jokes at all. + +## Example lists are categories, not vocabulary + +The example lists in these guides (snacks, tiny dates, silly bets...) name *kinds* of content. They +are not words to reuse. Do not put the guides' own example nouns — "two-song kitchen dance", +"dessert walk", "snack board", "fake award" as literal text — into shipped questions. Invent your +own specifics of the same kind. + +If a guide example appears verbatim in a pack, that question is a reject. + +## No template blocks + +Within any 10 consecutive questions: + +- no repeated game mechanic +- no two prompts opening with the same first three words +- no option set where all options share one grammatical template + (four options all shaped "A + adjective + noun" is a machine fingerprint) + +## Distribution should look human + +A human writer favors some mechanics and neglects others. Exactly N of each mechanic, evenly spaced, +is a machine fingerprint and a reject signal at review. Uneven is correct. + +## The texting test + +Read the question as a 6pm text to your partner. If it reads like a brand's Instagram caption or an +app talking, rewrite it. A person wrote this for one specific other person — it should sound that way. + +--- + # 9. Tone Rules by Pack Type ## Fun packs @@ -1582,9 +1707,11 @@ ECHO Would make a normal couple roll their eyes. --- -# 18. Claude Instructions for Rewriting JSON Packs +# 18. Agent Instructions for Rewriting JSON Packs -When Claude rewrites a pack: +These rules bind every agent that rewrites a pack (ChatGPT, Claude, or any other writer). + +When an agent rewrites a pack: ```bat ECHO Read the existing JSON first. @@ -1607,7 +1734,7 @@ ECHO Report old count, new count, and net catalog change. ECHO Report any schema changes. ``` -Claude should not say a file is done unless: +The agent should not say a file is done unless: ```bat ECHO The JSON parses. diff --git a/seed/questions/QUESTION_QUALITY_CHECKLIST.md b/seed/questions/QUESTION_QUALITY_CHECKLIST.md index 1bf0d0c2..d587c9e0 100644 --- a/seed/questions/QUESTION_QUALITY_CHECKLIST.md +++ b/seed/questions/QUESTION_QUALITY_CHECKLIST.md @@ -1,4 +1,4 @@ -# Closer Question Quality Checklist v10 — Importer-Aligned +# Closer Question Quality Checklist v11 — Importer-Aligned, Human-Voice **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,6 +31,18 @@ Reject any question that contains or strongly resembles: These are therapy worksheet patterns. +Also reject any question where (see `QUESTION_CONTENT_GUIDE.md` section 8A): + +* an AI-tell phrase appears (`spice things up`, `level up`, `unleash`, `elevate`, `epic`, `ultimate`, + `game-changer`, `adventure awaits`, `whimsical`, `a dash of`, `sprinkle`, and the rest of the 8A list) +* "silly", "hilarious", "ridiculous", or "funny" is doing the humor work instead of a specific detail +* a prompt contains an exclamation mark, or a prompt/option contains emoji +* options are in Title Case +* all options in one set share a single grammatical template +* a guide example noun ("two-song kitchen dance", "dessert walk", "snack board") ships verbatim + +These are machine-voice patterns. + ## Production File Hard Checks Run these before tone or content review. @@ -382,6 +394,7 @@ Reject or rewrite if: * the same situation repeats with different nouns * the same answer pattern repeats * the weekday starts to feel like wallpaper +* mechanic counts are implausibly even (exactly N of each mechanic is a machine fingerprint, not balance) The pack can pass duplicate checks and still fail repetition review. @@ -433,6 +446,11 @@ Use these reasons when marking weak questions: * duplicate_text * duplicate_options * schema_issue +* ai_voice +* labeled_joke +* uniform_option_grammar +* guide_example_parrot +* brand_caption_voice ## Final Verdict Labels