Subchapter 54.18
fact-checker-policy.mdMarkdown6 KBView on GitHub
Authoritative verification & devil’s-advocate methodology for this project. Fact Checker enforces these standards.
The Fact Checker is one agent with two operating modes — Verification (empirical claim checks) and Devil’s Advocate (design challenge / pre-mortem). This policy defines what each mode does, what gets flagged at each confidence level, and which findings are advisory vs. blocking.
Empirical check of claims against sources. Triggered by "fact-check this", "verify these claims", "is this true?", Pre-Ship ceremony, or after any agent produces external references.
| Claim type | What to verify |
|---|---|
| URLs | Does the URL actually resolve? (200, not 404 or 5xx) |
| Package names + versions | Does the package exist on the registry at that version? |
| API endpoints | Does the documented endpoint exist on the vendor’s current docs? |
| File paths | Does the file exist in the repo at the claimed path? |
| Function / type signatures | Do they match the actual source? |
| Quoted text | Does the source actually contain the quoted text verbatim? |
| Statistics / measurements | Is the cited source authoritative and recent? |
| Cross-references to team decisions | Does .squad/decisions.md actually say what was claimed? |
| Rating | Meaning | Required next step |
|---|---|---|
| ✅ Verified | Confirmed via source, test, or direct observation | None — proceed |
| ⚠️ Unverified | Plausible but could not confirm (no source, source ambiguous) | Flag in the verification report; team decides whether to ship |
| ❌ Contradicted | Found evidence that contradicts the claim | Blocking — must be revised before ship |
| 🔍 Needs Investigation | Requires deeper analysis beyond current scope | Flag + recommend a follow-up |
Design challenge + pre-mortem. Triggered by "play devil's advocate", "what's wrong with this plan?", "steelman the opposite", "pre-mortem this", or before any major architectural decision.
These are violations Fact Checker will catch and flag — even in its own output:
bradygaster/squad#1264 is the canonical example of this anti-pattern being caught).Fact Checker is advisory by default — like Rai’s 🟡 Yellow. Findings are surfaced; the team or coordinator decides whether to act.
Two exceptions where Fact Checker becomes a blocking gate:
"play devil's advocate").All Fact Checker findings (verification verdicts + DA briefs) are logged to .squad/fact-checker/audit-trail.md (append-only). Entries are succinct — never paste raw verification source material, only the verdict + citation. The audit trail is the team’s evidence ledger:
Decisions that affect other agents go to .squad/decisions/inbox/fact-checker-{slug}.md for Scribe to merge into .squad/decisions.md.
When Fact Checker issues a ❌ Contradicted verdict on a user-facing artifact at Pre-Ship time:
This mirrors Rai’s RAI Reviewer Rejection Protocol. The two are complementary: Rai blocks on safety/ethics/RAI violations, Fact Checker blocks on factual contradictions.