Skip to content

Commit 49f3613

Browse files
authored
fix: apply debate findings - context passthrough, canonical redaction, relaxed disagreement (#227)
* fix: remove auto-generated header from adapter files The `<!-- AUTO-GENERATED ... -->` HTML comment before frontmatter prevented tools like agnix from parsing YAML frontmatter on line 1. Removed the header entirely - the adapters/ directory is self-explanatory. Drops agnix errors from 83 to 8. * fix: apply debate findings and enhance analysis to consult and debate plugins Debate skill hardened based on its own first debate's findings: - Universal evidence standard for both proposer AND challenger - Proposer prompts now require cited evidence (was challenger-only) - Challenger follow-up reordered: anti-convergence guard first - Minimum-disagreement requirement per round added - Context summarization criteria specified (500-800 tokens) - Rigor indicator and Debate Quality rating in synthesis output Consult skill fixes from enhance analysis: - Gemini section: added missing Session ID extraction line - Codex: removed invalid -a suggest flag (codex exec doesn't support it) - Codex: added -c model_reasoning_effort to safe command patterns - Gemini models: replaced all -preview suffixes with stable names Also updates README, test strategy doc, and all adapters. * fix: apply debate findings - context passthrough, canonical redaction, relaxed disagreement Three fixes from the claude-vs-codex debate findings: 1. --context passthrough from /debate command through orchestrator to consult skill, so both tools see the same codebase context 2. Canonical redaction: orchestrator references consult agent's full 14-pattern table instead of maintaining a drifted 5-pattern subset 3. Relaxed forced disagreement: challenger can now certify a concern as genuinely resolved with evidence, not forced to always disagree * fix: apply debate findings - context passthrough, canonical redaction, relaxed disagreement Fixes from debate findings + enhance/review analysis: Debate plugin: - --model=auto bug: omit --model instead of passing "auto" literally - --context=file: add follow-up path prompt with validation - --context added to interactive picker - Template {round-1} -> {previous_round} for clarity - Relaxed disagreement: can certify concerns resolved with evidence Consult plugin: - Codex model: gpt-5-codex-mini/gpt-5.1-codex-mini -> gpt-5.3-codex-spark - Redaction table: skill is now canonical source (14 patterns), agent references it - --continue + --count mutual exclusion in agent - OpenCode model: claude-opus-4-5 -> claude-opus-4-6 Infrastructure: - Adapter transform: preserve .claude/ in platform doc enumerations - New: __tests__/debate-command.test.js (76 tests) - Updated consult tests for new redaction ownership * chore: switch exploration-agent and learn-agent from opus to sonnet New sonnet is faster, cheaper, and close to opus capability. These agents do pattern matching and synthesis, not deep reasoning: - exploration-agent: reads code, maps patterns - learn-agent: web research + guide creation Keeps opus for: planning, implementation, perf-orchestrator, debate-orchestrator (judgment-intensive tasks). * fix: add path containment checks for --context=file in debate command
1 parent 9b6f7a0 commit 49f3613

File tree

33 files changed

+1074
-174
lines changed

33 files changed

+1074
-174
lines changed

CLAUDE.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -183,8 +183,8 @@ agentsys # Run installer
183183

184184
| Model | Agents | Use Case |
185185
|-------|--------|----------|
186-
| **opus** | exploration, planning, implementation, perf-orchestrator | Complex reasoning, analysis |
187-
| **sonnet** | task-discoverer, delivery-validator, ci-fixer, deslop-agent, reporters | Validation, pattern matching |
186+
| **opus** | planning, implementation, perf-orchestrator, debate-orchestrator | Complex reasoning, judgment |
187+
| **sonnet** | exploration, learn, task-discoverer, delivery-validator, ci-fixer, deslop-agent, reporters | Validation, pattern matching |
188188
| **haiku** | worktree-manager, ci-monitor, simple-fixer | Mechanical execution |
189189

190190
See [README.md](./README.md#command-details) and [docs/reference/AGENTS.md](./docs/reference/AGENTS.md) for full agent list.

__tests__/consult-command.test.js

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -324,27 +324,21 @@ describe('security constraints', () => {
324324
expect(skillContent).toMatch(/delete the temp file/i);
325325
});
326326

327-
test('agent has output sanitization with redaction patterns', () => {
327+
test('agent references skill as canonical redaction source', () => {
328328
expect(agentContent).toMatch(/Output Sanitization/);
329-
// Key patterns must be present
330-
expect(agentContent).toMatch(/sk-\[a-zA-Z0-9/);
331-
expect(agentContent).toMatch(/AIza\[a-zA-Z0-9/);
332-
expect(agentContent).toMatch(/ghp_/);
333-
expect(agentContent).toMatch(/Bearer/);
334-
expect(agentContent).toMatch(/AKIA/);
335-
expect(agentContent).toMatch(/REDACTED/);
329+
// Agent should reference the skill, not maintain its own table
330+
expect(agentContent).toMatch(/consult skill|SKILL\.md/i);
336331
});
337332

338-
test('agent redaction warning is conditional', () => {
339-
expect(agentContent).toMatch(/if any redaction occurs/i);
340-
});
341-
342-
test('skill has inline redaction pattern summary', () => {
343-
// Skill should be self-contained with at least key patterns
344-
expect(skillContent).toMatch(/sk-.*API key/i);
333+
test('skill has full redaction pattern table (canonical source)', () => {
334+
// Skill is the single source of truth for redaction patterns
335+
expect(skillContent).toMatch(/Output Sanitization/);
336+
expect(skillContent).toMatch(/sk-\[a-zA-Z0-9/);
337+
expect(skillContent).toMatch(/AIza\[a-zA-Z0-9/);
345338
expect(skillContent).toMatch(/ghp_/);
346339
expect(skillContent).toMatch(/Bearer/);
347340
expect(skillContent).toMatch(/AKIA/);
341+
expect(skillContent).toMatch(/REDACTED/);
348342
});
349343
});
350344

0 commit comments

Comments
 (0)