Mitchell Agentic Sprint

AI-led 6-step sprint that walks an AI builder through validating one idea — vertical, buyers, framework, positioning — to a sales deck, outreach plan, and pre-seed investor deck. Adversarial by default. Output is artifacts, not product.

View project on GitHub

ADR-008: Anti-Sycophancy via Dragon-Style Preambles + Behavioural-Interview Linter

Field Value
Decision ID ADR-008
Initiative Anti-sycophancy enforcement (concept §6, §10)
Proposed By Chris Barlow
Date 2026-05-09
Status Accepted

WH(Y) Decision Statement

In the context of the concept’s headline promise that MAS is adversarial-by-default — refusing flattery, banning hypothetical questions, demanding citations — and the gap analysis identifying that prompt-level adversarial framing closes most of the gap while a verification eval set is deferred to v0.2.0,

facing the choice of how to operationalise anti-sycophancy across the v0.1.0 surface area: prompts only (cheap, prompt-fragile), prompts + a behavioural-interview linter on Step 3 scripts (deterministic for the highest-leverage check), or full eval-driven verification (Extensive-tier scope),

we decided for a two-layer approach: (a) Dragon-style adversarial preambles lifted verbatim into every Mini Council SKILL.md (already in place from Phases 1–2 per ADR-004), and (b) a deterministic behavioural-interview linter (helpers/interview_validator.py) that catches Mom Test violations in Step 3 generated scripts via a pattern-rule registry,

and neglected prompt-only enforcement (the Step 3 script generator is the single highest-risk place for hypothetical-question leakage; relying solely on the prompt to police itself is exactly the failure mode the concept warns against), full eval-driven verification (~1–2 weeks of scope addition; deferred to v0.2.0 per ADR-002), and an LLM-based judge for nuanced detection (introduces an external dependency in the test loop — Protocol 8 prefers deterministic checks for v0.1.0; LLM-based check can be added as an optional layer later),

to achieve prompt-level adversarial posture across all five Council voices and the Discovery / Vertical / Buyer / Framework / Competitor / Synthesis flows, plus a deterministic, testable, fast linter that intercepts Mom Test violations before the user ever sees the generated interview script,

accepting that the regex layer can be bypassed by paraphrase (mitigated by a comprehensive rule registry and the Step 3 command’s instruction to re-generate when the linter fires), prompt-level adversarial posture is not eval-verified in v0.1.0 (residual Q5 risk per ADR-002), and the linter has no LLM check in v0.1.0 (deferred — see SPEC-008-A “future work”).


Options Considered

Option Verdict
Dragon-style preambles + deterministic regex linter (Selected) Two leverage points, both shipping v0.1.0; deterministic linter catches the highest-risk class
Prompts only Rejected — Step 3 is exactly where the concept warns about hypothetical leakage
Prompts + LLM-judge linter Rejected for v0.1.0 — adds external dependency in the test loop; LLM-check can layer on later
Full eval-driven verification Rejected — Extensive-tier; deferred to v0.2.0 per ADR-002

Dependencies

Relationship ADR ID Title Notes
Implements ADR-002 Build tier — Moderate Anti-sycophancy is the headline promise
Refines ADR-004 Mini Council SKILL.md Preamble layer lives in each Council voice’s SKILL.md
Reuses (external) campaign-mode dragon-agent voice/tone (lines 88–96) Lifted into every Mini Council SKILL.md per Protocol 12

References

Reference ID Title Location
SPEC-008-A Behavioural-Interview Linter Rules specs/SPEC-008-A-Anti-Sycophancy.md
Concept Mitchell Agentic Sprint concept §6 + §10 docs/concept/concept.md
Source The Mom Test (Rob Fitzpatrick) — concept §9 reference (external; no local copy)
Research Gap analysis §6 (anti-sycophancy enforcement) docs/research/gap-analysis.md

Status History

Status Approver Date
Accepted Chris Barlow 2026-05-09