Phase: 3 - Advanced Features (In Progress)
Next Up: Debate System (Defender/Prosecutor/Judge)
Last Updated: 2026-03-15
- Initialize monorepo structure
- Set up Python package with pyproject.toml
- Set up TypeScript package with package.json
- Create docs/ROADMAP.md, PROGRESS.md, devlog/
- Create base provider interface (
providers/base.py) - Implement OpenAI provider
- Implement Anthropic provider
- Implement Ollama provider
- Add provider factory with config
- Parse git diff output
- Extract changed files and hunks
- Read file contents with context
- Create patch/diff models
- Single agent that reviews a diff (
code_reviewer.py) - Returns structured feedback (file, line, severity, message)
- Test on sample PRs
- Orchestrates multiple specialist agents
- Parallel execution of agents
- Aggregates and deduplicates findings
- Prioritizes issues by severity
- Consensus-based approval decision
- OWASP vulnerability detection
- Secrets/credential scanning
- Security-specific prompts and rules
- Dependency vulnerability awareness (future)
- Define message format between agents (Finding, ReviewResult models)
- Implement handoff protocol via Coordinator
- Structured logging for debugging
- Create
cli.pymodule -
codecourt review <diff-file>command -
codecourt review --stdinfor piped input -
codecourt review --repo <path>for local repos - Provider/model selection flags
- Multiple output formats (rich, json, markdown)
-
codecourt providerscommand -
codecourt parsecommand (debugging) - Config file support (.codecourtrc)
- Defender agent: argues FOR the code changes
- Prosecutor agent: argues AGAINST / finds problems
- Judge agent: synthesizes and makes final call
- Structured debate rounds
- Generate fix suggestions as patches
- Validate patches apply cleanly
- Output unified diff format
None currently
Continue with: Phase 3.2 - Debate System
Implement the debate-based review system:
- Defender agent: argues FOR the code changes
- Prosecutor agent: argues AGAINST / finds problems
- Judge agent: synthesizes arguments, delivers verdict
- Structured debate rounds (2-3 exchanges)