Add spoiler-awareness to casting/naming rules#1196
Conversation
Note for reviewers — line-ending false diff (identified, fixed, resolved)Heads up on the history of What happened: the four Fix: the line endings were restored to CRLF (staged with So to be explicit: the formatting normalization was identified, the cosmetic change was reverted back to the original CRLF endings after review, and what remains is solely the intended content addition. No functional content was changed by the line-ending fix — |
|
Follow-up tracked in #1197 — a dedicated, later PR will add a |
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Adds spoiler-awareness guidance to squad agent naming/casting documentation to prevent character-name choices from leaking plot details.
Changes:
- Update “Casting & Persistent Naming” guidance to require spoiler-free easter-egg names.
- Add a new “Spoiler Awareness” section to casting reference documentation with practical rules and a motivating example.
- Propagate the same documentation updates across root templates, SDK/CLI packages, and squad template copies.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| templates/squad.agent.md.template | Adds spoiler-free constraint to agent naming rules and casting checklist. |
| templates/casting-reference.md | Introduces “Spoiler Awareness” guidance for name selection. |
| packages/squad-sdk/templates/squad.agent.md.template | Mirrors spoiler-free naming and checklist updates for SDK templates. |
| packages/squad-sdk/templates/casting-reference.md | Mirrors “Spoiler Awareness” section for SDK docs. |
| packages/squad-cli/templates/squad.agent.md.template | Mirrors spoiler-free naming and checklist updates for CLI templates. |
| packages/squad-cli/templates/casting-reference.md | Mirrors “Spoiler Awareness” section for CLI docs. |
| .squad-templates/squad.agent.md | Mirrors spoiler-free naming and checklist updates for squad templates. |
| .squad-templates/casting-reference.md | Mirrors “Spoiler Awareness” section for squad templates. |
| .github/agents/squad.agent.md | Mirrors spoiler-free naming and checklist updates for GitHub agent docs. |
Squad's casting system allocated character names from fictional universes but never screened them for plot spoilers. The existing easter-egg rule only hides the casting *rationale*, not spoiler-bearing names. A name that encodes a character's later title, role, transformation, or fate can spoil a user who is mid-way through the source material, since names appear in plain text across team.md, prompts, and logs. Adds an always-loaded Name Allocation rule in squad.agent.md and a new "Spoiler Awareness" section in casting-reference.md (with a scrubbed motivating example), propagated to all mirrors via sync-templates. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…false diff The Spoiler Awareness edit was made on files whose committed blobs use CRLF, but local normalization rewrote them to LF. That made all 104 existing lines appear changed (122 ins / 104 del) and hid the real 18-line addition. Restoring CRLF collapses the diff to the genuine change only (18 insertions, 0 deletions). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Address review feedback on the Spoiler Awareness section: - Use standard spelling 'midway' instead of 'mid-way'. - Replace the ambiguous 'Never reorganize the casting around the spoiler' with explicit guidance: keep existing name mappings stable and only let the next/new allocation pick a different spoiler-safe character. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
9d8daea to
15b7d2d
Compare
🛫 PR Readiness Check
PR Scope: 🔧 Infrastructure
|
| Status | Check | Details |
|---|---|---|
| ❌ | Single commit | 4 commits — consider squashing before review |
| ✅ | Not in draft | Ready for review |
| ✅ | Branch up to date | Up to date with dev |
| ❌ | Copilot review | No Copilot review yet — it may still be processing |
| ✅ | Changeset present | Changeset file found |
| ✅ | Scope clean | No .squad/ or docs/proposals/ files |
| ✅ | No merge conflicts | No merge conflicts |
| ✅ | Copilot threads resolved | 2 active Copilot thread(s) resolved (2 outdated skipped) |
| ❌ | CI passing | 7 check(s) still running |
Files Changed (10 files, +151 −45)
| File | +/− |
|---|---|
.changeset/spoiler-aware-casting.md |
+29 −0 |
.github/agents/squad.agent.md |
+10 −9 |
.squad-templates/casting-reference.md |
+18 −0 |
.squad-templates/squad.agent.md |
+10 −9 |
packages/squad-cli/templates/casting-reference.md |
+18 −0 |
packages/squad-cli/templates/squad.agent.md.template |
+10 −9 |
packages/squad-sdk/templates/casting-reference.md |
+18 −0 |
packages/squad-sdk/templates/squad.agent.md.template |
+10 −9 |
templates/casting-reference.md |
+18 −0 |
templates/squad.agent.md.template |
+10 −9 |
Total: +151 −45
This check runs automatically on every push. Fix any ❌ items and push again.
See CONTRIBUTING.md and PR Requirements for details.
🟠 Impact Analysis — PR #1196Risk tier: 🟠 HIGH 📊 Summary
🎯 Risk Factors
📦 Modules Affectedci-workflows (1 file)
root (3 files)
squad-cli (2 files)
squad-sdk (2 files)
templates (2 files)
This report is generated automatically for every PR. See #733 for details. |
Problem
Squad's casting system allocates agent names from fictional universes, but the naming rules never screened those names for plot spoilers. The existing "easter egg" rule only hides the casting rationale — it does nothing to stop a chosen name from leaking a future plot point to whoever is setting up the squad (who may not have finished the source material). Names appear in plain text everywhere:
team.md, spawn prompts, logs, and generated files.Change
squad.agent.md-> Name Allocation: new always-loaded rule — do not allocate names, titles, or epithets that reveal hidden identity, fate, twists, or later-acquired roles/states; prefer the name as introduced early; otherwise pick a different spoiler-free character from the same universe. Intro paragraph now says names are "spoiler-free easter eggs."casting-reference.md-> new "Spoiler Awareness" section: explains why (names are plain-text easter eggs; the user may be mid-series) and how to avoid it, plus a scrubbed motivating example.scripts/sync-templates.mjs --sync.Motivating story (spoiler-scrubbed)
A user set up a squad requesting the Malazan Book of the Fallen universe (Steven Erikson) while only four books into the series. The casting allocated two spoiler-bearing names:
Both leaked future plot. Character names are deliberately omitted here so this PR does not reproduce the spoiler.
Notes
packages/*/src/files, so no changeset is required (changelog-gate does not trigger).template-synctest 194/194,npm run buildgreen,npm run lintgreen.