The Core Principle - Review Intent, Not Just Implementation
Traditional code review is reactive: a developer writes code, a reviewer reads the diff. At the scale Blitzy operates, that model breaks. The most important review work on a Blitzy project happens before a single line of code is generated. Blitzy produces reviewable artifacts before execution, and its review model is built on three layers - each catching different classes of issues at the lowest cost.Layer 1 - The AAP as Source of Truth
The Agent Action Plan (AAP) is the authoritative specification Blitzy produces before code generation begins. It maps every task to specific files, functions, and change types in plain language a domain expert can evaluate. Blitzy does not improvise beyond the plan. A thoroughly reviewed AAP gives you confidence in the resulting code before you read a single line of it. Reviewing the AAP is, in practice, reviewing the code - at a fraction of the cost.Why the AAP Replaces Traditional Diff Review
What to Look for in an AAP Review
- Correct system understanding - Does the plan reflect an accurate read of the existing system?
- File coverage - Are the right files being modified? Are any files conspicuously absent?
- Change sequence - Does the sequence of changes make sense given system dependencies?
- Scope appropriateness - Is the scope appropriate, or has the plan over- or under-reached?
- Business logic implications - Are there business logic implications the plan does not account for?
Layer 2 - Dynamic Validation
Once the AAP is approved and code is generated, the question is not “does this code look right?” but “does this code work?” Dynamic validation answers that through automated signals, not human reading. Test suites, performance benchmarks, and CI pipelines become your second review layer. A thorough AAP review plus passing dynamic validation gives high confidence without a line-by-line diff review.Validation Signals
CI/CD Pipeline Timing
CI/CD pipelines validate generated code through your existing workflows. When the pipeline runs determines how Blitzy uses the results. The most reliable path is Refine PR.- Triggered on commit push (during generation)
- Triggered on PR creation (after generation) - recommended
When your pipeline triggers on each commit push to the Blitzy branch, results feed back into the generation cycle. Blitzy reads the pipeline output, identifies failures, and attempts to self-correct before the job ends.Configure this path when:
- Your pipeline runs on push events to any branch
- You want Blitzy to attempt resolving CI failures automatically during generation
- Build, test, or lint failures should block the PR until fixed
Self-correction depends on pipeline visibility, execution speed, and SCM provider configuration. Results vary by environment. If Blitzy does not self-correct, use Refine PR after the PR is created.
When Dynamic Validation Is Enough
- High confidence - skip deep code review
- Proceed to code review
Dynamic validation alone can be sufficient when:
- AAP was thoroughly reviewed and approved
- Test coverage is comprehensive for the modified paths
- All tests, benchmarks, and CI checks pass
- Changes are in well-tested modules with established patterns
- Risk tier is Light (boilerplate, config, scaffolding, test generation)
Dynamic validation does not replace judgment - it replaces reading. When your automated signals are strong enough, the reviewer’s job shifts from “verify correctness” to “verify that the right things are being tested.”
Layer 3 - Code-Level Review
Code-level review is the final layer. It catches what the AAP and dynamic validation cannot: nuanced business logic, security-sensitive paths, and gaps in automated coverage. When a PR is AI-generated, you are not reviewing human-authored code where you can lean on commit history and author intent. You are reviewing a large generated codebase - a fundamentally different problem. Line-by-line reading of tens of thousands of lines is not the goal. Triage by risk tier and focus where it matters.Where to Focus
Before reading individual files, validate the high-impact areas first:- Architecture - Does the directory layout, dependency graph, and component structure match the approved AAP?
- Boundaries and contracts - API endpoints, database schemas, type definitions, and inter-module interfaces are where the most consequential decisions live. If the contracts are right, implementation bugs are fixable. If the contracts are wrong, everything built on top of them is wrong.
- Operational concerns - Environment and config handling, dependency versions (current and vulnerability-free), database migrations, authentication and authorization flows, logging and observability.
Risk Tiers
Domain-Assigned Reviewers
Large pull requests become tractable when reviewed by the right people, not the most available. A module owner catches deviations immediately that a generalist might miss entirely. Distribute review load by domain ownership, not by availability.AI-Assisted Review
A separate AI model can help reviewers orient themselves in a large diff, freeing human attention for the sections that require genuine judgment.AI-Assisted Review by Context
Be Transparent About Coverage
With large generated PRs, the temptation is to approve because exhaustive review is impossible. That is the worst outcome. Instead, be explicit about what you reviewed and what you did not. Transparency about review coverage is more valuable than a false sense of thoroughness.Post-Review Actions
After your review, choose one of four actions. Your choice determines whether the workflow advances or iterates.Merge
Merge
The generated code meets quality standards and is ready for integration.
- Code is merged to your target branch
- Blitzy’s context updates to include the merged changes
- You return to the generation prompt step to start your next task
Refine PR
Refine PR
The code is fundamentally sound but needs specific improvements.
- Submit targeted feedback about what needs to change
- Blitzy updates the same PR with modifications
- Review again and choose to merge, refine further, or close
Resolve Merge Conflicts
Resolve Merge Conflicts
The target branch changed since generation, causing conflicts that block the merge.
- Select Fix Merge Conflicts from the Blitzy PR dropdown menu
- Blitzy rebases your branch and regenerates conflicting sections while preserving the original intent
- Review the updated PR and proceed with merge, refine, or close
Close
Close
The code has fundamental issues, or starting over would be faster than refining.
- PR is closed without merging
- You refine your prompt based on what you learned
- A fresh PR is generated from the improved request
Decision Framework
Recommended Review Workflow
Summary
Related Guides
AAP Review
Review the Agent Action Plan before code generation begins
Merge Pull Request
Criteria for accepting generated code
Refine Pull Request
Request targeted modifications to improve generated code
Close Pull Request
When to discard and restart with a new prompt