Skip to content

v0.10.0: Fact Checker agent not auto-scaffolded by squad init / cast #1222

Closed

Description

@tamirdresher

v0.10.0 — Fact Checker agent is half-shipped

While validating the v0.10.0 release end-to-end (#1218, #1219), surfaced a real gap with the fact-checker rollout (#789).

What's actually in v0.10.0 ✅

  • Role in engineering catalog — packages/squad-sdk/src/roles/catalog-engineering.ts:552 (id: fact-checker, emoji: 🔍, category: quality)
  • Charter template — packages/squad-cli/templates/fact-checker-charter.md
  • Fact-checking skill — templates/skills/fact-checking/SKILL.md
  • AGENT_TEMPLATES map entry — packages/squad-sdk/src/config/init.ts:209
  • Template manifest entry (installs charter to user's .squad/templates/) — packages/squad-cli/src/cli/core/templates.ts:151

What's missing ❌

  • init.ts:218-237 — the default agents: array hardcoded for sdkInitSquad() only contains scribe, ralph, and Rai. No fact-checker.
  • cast.ts interactive team builder has zero references to fact-checker — it never proposes adding one in the Q&A flow. Compare to Rai which has explicit branches at cast.ts:498, cast.ts:632, cast.ts:805.

User-visible impact

Running squad init + squad cast (the standard onboarding flow) produces a team with Scribe + Ralph + Rai + whatever specialists the user picks — but Fact Checker never appears as an option or default. The changeset for #789 said "Add fact-checker as a built-in agent role" which is technically true (role exists in catalog) but misleading about what users get out of the box.

Reproduction

$tmp = Join-Path $env:TEMP "fact-checker-repro"
mkdir $tmp; cd $tmp
git init -q && echo "# test" > README.md && git add -A && git commit -q -m init
npx --yes @bradygaster/squad-cli@0.10.0 init
ls .squad/agents/   # expect: Rai/ ralph/ scribe/ — NO fact-checker/

Suggested fix (small)

Option A (closest to changeset intent — make it always-on like Rai):

// packages/squad-cli/src/cli/core/init.ts:218-237
agents: [
  { name: 'scribe',       role: 'scribe',       displayName: 'Scribe' },
  { name: 'ralph',        role: 'ralph',        displayName: 'Ralph' },
  { name: 'Rai',          role: 'Rai',          displayName: 'Rai' },
  { name: 'fact-checker', role: 'fact-checker', displayName: 'Fact Checker' }, // NEW
],

…plus mirror the Rai-style branches in cast.ts (hasFactChecker check + cast prompt).

Option B (opt-in only — update docs to show how to enable manually).

Option C (cast-time question — "Want a Fact Checker on your team? Y/n" during interactive cast).

Happy to send a PR with whichever you prefer.

cc @bradygaster

— Filed via Copilot CLI on @tamirdresher's behalf during v0.10.0 release validation.

Activity

  1. added
    squadSquad triage inbox — Lead will assign to a member
    on Jun 7, 2026
  2. github-actions commented on Jun 7, 2026

    @github-actions
    Contributor

    🏗️ Squad Triage — Flight (Lead)

    Issue: #1222 — v0.10.0: Fact Checker agent not auto-scaffolded by squad init / cast
    Assigned to: FIDO (Quality Owner)
    Reason: Issue relates to testing/quality work

    @copilot evaluation: 🔴 Not suitable — issue involves work outside the coding agent's capability profile.

    Team roster:

    • Flight (Lead) → label: squad:flight
    • Procedures (Prompt Engineer) → label: squad:procedures
    • EECOM (Core Dev) → label: squad:eecom
    • FIDO (Quality Owner) → label: squad:fido
    • PAO (DevRel) → label: squad:pao
    • CAPCOM (SDK Expert) → label: squad:capcom
    • CONTROL (TypeScript Engineer) → label: squad:control
    • Surgeon (Release Manager) → label: squad:surgeon
    • Booster (CI/CD Engineer) → label: squad:booster
    • GNC (Node.js Runtime) → label: squad:gnc
    • Network (Distribution) → label: squad:network
    • RETRO (Security) → label: squad:retro
    • INCO (CLI UX & Visual Design) → label: squad:inco
    • GUIDO (VS Code Extension) → label: squad:guido
    • Telemetry (Aspire & Observability) → label: squad:telemetry
    • VOX (REPL & Interactive Shell) → label: squad:vox
    • DSKY (TUI Engineer) → label: squad:dsky
    • Sims (E2E Test Engineer) → label: squad:sims
    • Handbook (SDK Usability) → label: squad:handbook
    • Ralph (Work Monitor) → label: squad:ralph
    • @copilot (Coding Agent) → label: squad:copilot

    To reassign, remove the current squad:* label and add the correct one.

  3. tamirdresher commented on Jun 7, 2026

    @tamirdresher
    CollaboratorAuthor

    @bradygaster — opened a fix in #1223. Mirrors how Rai was wired in v0.10.0:

    • init.ts:218-237 — adds fact-checker to the default agents: array
    • cast.ts — adds factCheckerMember(), factCheckerCharter(), hasFactChecker branches, and the 🔍 banner line

    Smoke-tested locally — squad init now produces .squad/agents/fact-checker/charter.md alongside scribe/ralph/Rai. Patch bump for CLI only (changeset included).

    Teams DM didn't go through (TypeError: fetch failed), pinging here instead.

  4. added a commit that references this issue on Jun 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    go:needs-researchNeeds investigationsquadSquad triage inbox — Lead will assign to a member

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions