From e240be8bdab5129a8e8f82f7a9fc7b6e536955ba Mon Sep 17 00:00:00 2001 From: Alex Clarke Date: Tue, 15 Sep 2026 12:02:16 -0600 Subject: [PATCH] feat: improved the adversary agent to look for facts and not criteria. --- assets/agents/adversary/graph.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/assets/agents/adversary/graph.yaml b/assets/agents/adversary/graph.yaml index a1d63e4..7d7816c 100644 --- a/assets/agents/adversary/graph.yaml +++ b/assets/agents/adversary/graph.yaml @@ -88,6 +88,14 @@ nodes: Split compound criteria ("A and B") into separate entries when they are independently verifiable. When the caller supplied NO plan/criteria at all, emit an empty array — downstream fails closed. + The caller's explicit enumeration is AUTHORITATIVE: when the caller + declares "these N are the (only) criteria" or supplies a numbered + criteria list, extract EXACTLY those N — never add entries they did + not enumerate. NEVER mine criteria from sections the caller labels as + context ("FACTS", "Quality bar", "context, not criteria", background + material) — route those into plan_notes / scope_notes / extra_context + instead. Splitting applies only WITHIN a declared criterion; when in + doubt, FEWER criteria, verbatim. - `diff_spec`: the git diff basis the caller named — a range, a ref/SHA, "staged", "worktree", or "auto" when unnamed (a caller phrase like "get_diff --base X" means diff_spec = "X").