Files
John Lamb 273f2a8dde feat: generalize design-conformance-reviewer and wire into ce-review
Remove ATS-platform-specific hardcoding from design-conformance-reviewer
so it works against any repo's design docs. Add it to ce-review's
conditional agent dispatch with selection criteria based on the presence
of design documents or an active implementation plan.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 12:20:46 -05:00

5.3 KiB

Persona Catalog

13 reviewer personas organized in three tiers, plus CE-specific agents. The orchestrator uses this catalog to select which reviewers to spawn for each review.

Always-on (3 personas + 2 CE agents)

Spawned on every review regardless of diff content.

Persona agents (structured JSON output):

Persona Agent Focus
correctness compound-engineering:review:correctness-reviewer Logic errors, edge cases, state bugs, error propagation, intent compliance
testing compound-engineering:review:testing-reviewer Coverage gaps, weak assertions, brittle tests, missing edge case tests
maintainability compound-engineering:review:maintainability-reviewer Coupling, complexity, naming, dead code, premature abstraction

CE agents (unstructured output, synthesized separately):

Agent Focus
compound-engineering:review:agent-native-reviewer Verify new features are agent-accessible
compound-engineering:research:learnings-researcher Search docs/solutions/ for past issues related to this PR's modules and patterns

Conditional (5 personas)

Spawned when the orchestrator identifies relevant patterns in the diff. The orchestrator reads the full diff and reasons about selection -- this is agent judgment, not keyword matching.

Persona Agent Select when diff touches...
security compound-engineering:review:security-reviewer Auth middleware, public endpoints, user input handling, permission checks, secrets management
performance compound-engineering:review:performance-reviewer Database queries, ORM calls, loop-heavy data transforms, caching layers, async/concurrent code
api-contract compound-engineering:review:api-contract-reviewer Route definitions, serializer/interface changes, event schemas, exported type signatures, API versioning
data-migrations compound-engineering:review:data-migrations-reviewer Migration files, schema changes, backfill scripts, data transformations
reliability compound-engineering:review:reliability-reviewer Error handling, retry logic, circuit breakers, timeouts, background jobs, async handlers, health checks

Language & Framework Conditional (5 personas)

Spawned when the orchestrator identifies language or framework-specific patterns in the diff. These provide deeper domain expertise than the general-purpose personas above.

Persona Agent Select when diff touches...
python-quality compound-engineering:review:kieran-python-reviewer Python files, FastAPI routes, Pydantic models, async/await patterns, SQLAlchemy usage
fastapi-philosophy compound-engineering:review:tiangolo-fastapi-reviewer FastAPI application code, dependency injection, response models, middleware, OpenAPI schemas
typescript-quality compound-engineering:review:kieran-typescript-reviewer TypeScript files, React components, type definitions, generic patterns
frontend-races compound-engineering:review:julik-frontend-races-reviewer Frontend JavaScript, Stimulus controllers, event listeners, async UI code, animations, DOM lifecycle
architecture compound-engineering:review:architecture-strategist New services, module boundaries, dependency graphs, API layer changes, package structure

CE Conditional Agents (design & migration)

These CE-native agents provide specialized analysis beyond what the persona agents cover.

Agent Focus Select when...
compound-engineering:review:design-conformance-reviewer Surfaces deviations between the diff and the repo's design docs or implementation plan The repo contains design documents (docs/, docs/design/, docs/architecture/, docs/specs/) or an active plan matching the current branch
compound-engineering:review:schema-drift-detector Cross-references schema.rb changes against included migrations to catch unrelated drift The diff includes migration files or schema.rb
compound-engineering:review:deployment-verification-agent Produces Go/No-Go deployment checklist with SQL verification queries and rollback procedures The diff includes migration files, schema.rb, or data backfills

Selection rules

  1. Always spawn all 3 always-on personas plus the 2 CE always-on agents.
  2. For each conditional persona, the orchestrator reads the diff and decides whether the persona's domain is relevant. This is a judgment call, not a keyword match.
  3. For language/framework conditional personas, spawn when the diff contains files matching the persona's language or framework domain. Multiple language personas can be active simultaneously (e.g., both python-quality and typescript-quality if the diff touches both).
  4. For CE conditional agents, check each agent's selection criteria. design-conformance-reviewer: spawn when the repo contains design docs or an active plan matching the branch. schema-drift-detector and deployment-verification-agent: spawn when the diff includes migration files (db/migrate/*.rb, db/schema.rb) or data backfill scripts.
  5. Announce the team before spawning with a one-line justification per conditional reviewer selected.