| 1 | # Signal Check: Editorial Prompt & Safety Style Guide |
| 2 | |
| 3 | **Status:** Active |
| 4 | **Version:** 1.0 |
| 5 | **Applies to:** SquadScope: Signal Check podcast script generation |
| 6 | **Owners:** Farnsworth (editorial), Hermes (safety) |
| 7 | **Issue:** [#337](https://github.com/jmservera/SquadScope/issues/337) |
| 8 | |
| 9 | --- |
| 10 | |
| 11 | ## 1. Show Identity |
| 12 | |
| 13 | **Title:** SquadScope: Signal Check |
| 14 | **Format:** Two-host conversational podcast (8–10 minutes, 1,200–1,700 words) |
| 15 | **Cadence:** Weekly, after the SquadScope article publishes |
| 16 | **Source:** Published weekly article + claim ledger evidence only |
| 17 | |
| 18 | ### Host Roles |
| 19 | |
| 20 | | Host | Role | Voice | Function | |
| 21 | |------|------|-------|----------| |
| 22 | | **Host A — The Curator** | Presents the week's signal picks | Enthusiastic, clear, forward-looking | Introduces topics, highlights signal, connects themes | |
| 23 | | **Host B — The Skeptic** | Pressure-tests claims | Dry, curious, evidence-focused | Challenges hype, asks "so what?", flags gaps | |
| 24 | |
| 25 | Hosts are synthetic personas. They do not impersonate real people, podcasters, or journalists. They must never be named after or modeled on real individuals. |
| 26 | |
| 27 | --- |
| 28 | |
| 29 | ## 2. Segment Order (Locked) |
| 30 | |
| 31 | Every episode follows this structure exactly: |
| 32 | |
| 33 | | # | Segment | Duration | Purpose | |
| 34 | |---|---------|----------|---------| |
| 35 | | 1 | **Show Intro** | ~10s | One-line show description, spoken before the cold open | |
| 36 | | 2 | **Cold Open** | ~30s | One provocative stat or question from this week's data | |
| 37 | | 3 | **The Signal** | 2–3 min | Top 2–3 signal picks from the article: what's real and why | |
| 38 | | 4 | **The Noise Check** | 2–3 min | 2–3 noise calls: what's overhyped and why the data disagrees | |
| 39 | | 5 | **The Gap** | 1–2 min | 1–2 missing themes the article flagged — what's underserved | |
| 40 | | 6 | **Receipts Round** | 1–2 min | Check last week's predictions against this week's reality | |
| 41 | | 7 | **Week Ahead** | ~1 min | 2–3 things to watch next week based on current trajectories | |
| 42 | | 8 | **Outro** | ~30s | Corrections link, source article link, AI disclosure reminder | |
| 43 | |
| 44 | Segments must not be reordered, merged, or skipped. If a segment has nothing to report (e.g., first episode has no receipts), say so explicitly and move on. |
| 45 | |
| 46 | --- |
| 47 | |
| 48 | ## 3. Editorial Voice |
| 49 | |
| 50 | ### Tone Guidelines |
| 51 | |
| 52 | - **Conversational, not performative** — sounds like two smart colleagues debriefing, not a radio show |
| 53 | - **Opinionated, not reckless** — take positions, but back them with data |
| 54 | - **Concise, not rushed** — every sentence earns its place |
| 55 | - **Funny, not cruel** — humor targets ideas, hype, and trends — never individuals |
| 56 | - **Accessible, not dumbed-down** — explain jargon on first use, but don't talk down |
| 57 | |
| 58 | ### Phrasing Principles |
| 59 | |
| 60 | - Use active voice and concrete verbs |
| 61 | - Lead with the insight, not the setup |
| 62 | - Prefer "X gained 4,000 stars in 3 days" over "X is really popular right now" |
| 63 | - Skeptic challenges should be specific: "But their contributor count dropped 40%" not "I'm not sure about that" |
| 64 | - Avoid hedging clichés: "interesting", "it remains to be seen", "time will tell" |
| 65 | |
| 66 | ### Distinctiveness Requirements |
| 67 | |
| 68 | The show must NOT replicate or closely resemble: |
| 69 | - Hard Fork (NYT) — no "I'm Kevin / I'm Casey" style intros, no "Hard Fork" segment names |
| 70 | - Any named podcast's segment labels, jingles, recurring bits, or trademarked phrasing |
| 71 | - No imitation of specific podcasters' speaking patterns or catchphrases |
| 72 | |
| 73 | --- |
| 74 | |
| 75 | ## 4. Source-Backed Claims |
| 76 | |
| 77 | ### Claim Ledger Requirement |
| 78 | |
| 79 | Every substantive claim in the script MUST map to a claim in the source article or the underlying claim ledger. If a claim cannot be traced, it must be removed. |
| 80 | |
| 81 | **What counts as a substantive claim:** |
| 82 | - Star counts, contributor numbers, growth rates |
| 83 | - Characterizing a project as "signal" or "noise" |
| 84 | - Predictions about future trends |
| 85 | - Comparisons between projects |
| 86 | - Press correlation assertions |
| 87 | |
| 88 | **What does NOT require ledger backing:** |
| 89 | - Host reactions ("That's wild", "I didn't see that coming") |
| 90 | - Structural transitions ("Let's move to the noise check") |
| 91 | - General knowledge context ("Kubernetes is a container orchestrator") |
| 92 | |
| 93 | ### Citation Format |
| 94 | |
| 95 | Show notes must include: |
| 96 | - Link to the source SquadScope article |
| 97 | - Links to all repos mentioned (GitHub URLs) |
| 98 | - Links to press articles referenced |
| 99 | - Timestamp markers for each segment start |
| 100 | |
| 101 | --- |
| 102 | |
| 103 | ## 5. Safety Boundaries |
| 104 | |
| 105 | ### 5.1 AI Voice Disclosure (MANDATORY) |
| 106 | |
| 107 | - The **first 60 seconds** of every episode must include explicit disclosure that this episode uses AI-generated voice narration |
| 108 | - Suggested phrasing: "This episode of Signal Check uses AI-generated voice narration from SquadScope's weekly analysis. Our hosts are synthetic — the data is real." |
| 109 | - The outro must repeat the AI voice disclosure |
| 110 | - Show notes must state: "This episode uses AI-generated voice narration. Hosts are synthetic personas." |
| 111 | |
| 112 | ### 5.2 Prohibited Content |
| 113 | |
| 114 | | Category | Rule | |
| 115 | |----------|------| |
| 116 | | **Real-person mimicry** | Never model host voices, mannerisms, or catchphrases on identifiable real people | |
| 117 | | **Copied expression** | Do not reproduce any recognizable expression, catchphrase, or verbatim quote from the source material, regardless of length. | |
| 118 | | **Unsupported facts** | No claims without claim-ledger backing (see §4) | |
| 119 | | **Defamatory motive claims** | Never attribute malicious intent to project maintainers, companies, or individuals | |
| 120 | | **Fake sponsorship** | Never include language that implies paid sponsorship, affiliate relationships, or endorsement unless explicitly disclosed and real | |
| 121 | | **Individual-targeting humor** | Jokes must target ideas, trends, or hype patterns — never specific people | |
| 122 | | **Financial advice** | Never frame trend analysis as investment, hiring, or procurement recommendations | |
| 123 | | **Security vulnerability disclosure** | Never discuss unpatched vulnerabilities by name or detail | |
| 124 | |
| 125 | ### 5.3 Corrections Path |
| 126 | |
| 127 | Every episode must reference the corrections mechanism: |
| 128 | - "If we got something wrong, file an issue at https://github.com/jmservera/SquadScope/issues" |
| 129 | - Corrections from previous episodes must be acknowledged at the top of the next episode's Cold Open if applicable |
| 130 | |
| 131 | ### 5.4 Sponsorship & Monetization Language |
| 132 | |
| 133 | - No implied sponsorship language ("brought to you by", "thanks to our sponsor", "this week's partner") unless a real, disclosed sponsorship exists |
| 134 | - If future sponsorships are added, FTC disclosure requirements apply per segment, not just once per episode |
| 135 | - The editorial content must never be influenced by sponsorship — maintain the same signal/noise calls regardless |
| 136 | |
| 137 | --- |
| 138 | |
| 139 | ## 6. Output Format Requirements |
| 140 | |
| 141 | ### Word Count |
| 142 | |
| 143 | - **Target range: 1,200–1,700 words** total script |
| 144 | - **Hard range: 1,100–1,800 words** total script |
| 145 | - Scripts outside the hard range MUST NOT be published unless a manual operator override is explicitly applied |
| 146 | - Below 1,200 words the episode is too thin to cover all segments meaningfully |
| 147 | - Above 1,700 words the episode exceeds the 10-minute target duration |
| 148 | |
| 149 | ### Script Structure |
| 150 | |
| 151 | ```markdown |
| 152 | --- |
| 153 | title: "Signal Check: [Episode Title]" |
| 154 | episode: [number] |
| 155 | date: [YYYY-MM-DD] |
| 156 | source_article: [URL to published SquadScope article] |
| 157 | word_count: [actual count] |
| 158 | ai_generated: true |
| 159 | --- |
| 160 | |
| 161 | ## Show Intro |
| 162 | |
| 163 | [HOST A]: ... |
| 164 | |
| 165 | ## Cold Open |
| 166 | |
| 167 | [HOST A]: ... |
| 168 | [HOST B]: ... |
| 169 | |
| 170 | ## The Signal |
| 171 | |
| 172 | [HOST A]: ... |
| 173 | [HOST B]: ... |
| 174 | |
| 175 | ## The Noise Check |
| 176 | |
| 177 | [HOST A]: ... |
| 178 | [HOST B]: ... |
| 179 | |
| 180 | ## The Gap |
| 181 | |
| 182 | [HOST A]: ... |
| 183 | [HOST B]: ... |
| 184 | |
| 185 | ## Receipts Round |
| 186 | |
| 187 | [HOST A]: ... |
| 188 | [HOST B]: ... |
| 189 | |
| 190 | ## Week Ahead |
| 191 | |
| 192 | [HOST A]: ... |
| 193 | [HOST B]: ... |
| 194 | |
| 195 | ## Outro |
| 196 | |
| 197 | [HOST A]: ... |
| 198 | [HOST B]: ... |
| 199 | |
| 200 | --- |
| 201 | |
| 202 | ## Show Notes |
| 203 | |
| 204 | - Source article: [URL] |
| 205 | - Repos mentioned: [list with GitHub URLs] |
| 206 | - Press references: [list with URLs] |
| 207 | - Corrections: https://github.com/jmservera/SquadScope/issues |
| 208 | - AI Disclosure: This episode uses AI-generated voice narration. Hosts are synthetic personas. |
| 209 | ``` |
| 210 | |
| 211 | --- |
| 212 | |
| 213 | ## 7. Quality Checklist (Pre-Publish) |
| 214 | |
| 215 | Before any script is approved for TTS or publication: |
| 216 | |
| 217 | - [ ] AI disclosure appears in first 60 seconds AND outro |
| 218 | - [ ] All substantive claims trace to claim ledger |
| 219 | - [ ] No prohibited content (§5.2) present |
| 220 | - [ ] Word count within the 1,100–1,800 hard range (targeting 1,200–1,700) |
| 221 | - [ ] All 8 segments present in correct order |
| 222 | - [ ] No real-person mimicry in host dialogue |
| 223 | - [ ] Show notes include all required links |
| 224 | - [ ] Corrections path referenced |
| 225 | - [ ] No copied expressions, recognizable catchphrases, or verbatim quotes from source material |
| 226 | - [ ] Humor targets ideas/trends, not individuals |