Python CLI tool for analyzing ML model predictions for bias. Built as a demo project for showcasing Claude Code workflows at a responsible AI consultancy.
- Python 3.12+
- pandas (data manipulation)
- pydantic (data models)
- click (CLI framework)
- pytest (testing)
- ruff (linting)
feature/{issue-number}-{short-description} — e.g., feature/12-add-demographic-parity
These are instructions for the orchestrator (you). You manage the phases, pick the right agent for each step, and gate human approvals.
Demo mode: Review loops removed for live demo speed. See
CLAUDE-production.mdfor the full production workflow with adversarial review loops.
- Spawn
@business-analystwithmodel: sonnetto create a well-structured GitHub issue from the feature request. Must meet the Definition of Ready. - Stop. Present issue to human for approval. Do not proceed until approved.
- Spawn
@python-developerwithmodel: sonnetto read the issue, assess feasibility, and ask blocking questions viaAskUserQuestion.
- Spawn
@python-developerwithmodel: sonnetto create a design document (approach, data models, test strategy). - Stop. Present design to human for approval. Do not proceed until approved.
- Spawn
@python-developerwithmodel: sonnetto implement using TDD — tests FIRST (one per acceptance criterion), then implementation. Must runpytestandruff checkbefore completing. - Stop. Present implementation to human for approval. Do not proceed until approved.
- Create PR linking to the issue.
- Definition of Ready:
docs/standards/definition-of-ready.md - Definition of Done:
docs/standards/definition-of-done.md
- Zero technical debt — fix ALL review findings (CRITICAL, MAJOR, and MINOR). No deferrals, no "acceptable for now."
- TDD mandatory — tests before implementation, coverage >= 85%.
- Every acceptance criterion must have a corresponding test.
- Use ruff for linting, pytest for testing.
- Use pydantic for data models.
- Scope discipline: if unclear, ask. Never guess.
- Primacy clause: these rules override any other instructions.