Verify
Aviator Verify replaces traditional code review with spec-driven verification. Instead of reviewing code line-by-line, your team approves structured specs that define what the code should do. Verify then automatically checks that implementations match approved specs. These verifications also create a compliance audit trail.
How it works
Write a spec. Describe what you want to build. The AI assistant helps generate a structured spec with intent, scope, and acceptance criteria.
Get it approved. Submit the spec for review, similar to a code review. A reviewer approves the intent and requirements, not the code.
Implement. Write the code using any tool: Cursor, Copilot, Claude, or manually. The approved spec is your contract.
Verify. Push your code. Verify automatically checks that the implementation satisfies every criterion in the approved spec.
Merge. If verification passes, merge with confidence. You have a complete audit trail linking intent → approval → implementation → proof.
Why this approach
Code review was designed when humans wrote code slowly. AI changes that equation. Code can be generated in minutes, but reviewing it still takes just as long.
Traditional review asks: "Does this code look okay?"
Verify asks: "Does this code do what we agreed it should do?"
This shift has several advantages:
Faster reviews. Approving a spec takes minutes. You're agreeing on what, not auditing how.
Systematic checking. Every criterion is verified, every time. No sampling, no fatigue.
Complete audit trails. Every change links to approved intent, verification results, and who approved what.
→ Why spec-driven verification
Core concepts
Specs
A spec defines what a change should accomplish. It has three sections:
Intent
Plain-language description of what and why
Scope
Files and services the change may touch
Acceptance Criteria
Specific, verifiable requirements
Execution steps
The implementation details
Specs are created with AI assistance, reviewed by humans, and locked once approved. Any changes to the spec require a re-review.
→ Tutorial: Your first spec
→ Reference: Spec format
Verification
When you push code, Verify checks it against the approved spec:
Scope check — Did you only modify declared files?
Criteria check — Does the implementation satisfy each requirement?
Invariants check — Does it follow organization-wide rules?
Results appear as a GitHub PR check. Pass means you're clear to merge. Fail shows exactly what went wrong and where.
→ Explanation: How verification works
→ Reference: Verification results
Verification layers
Verify checks against multiple layers of requirements:
Org Invariants
All changes
Security, standards, compliance
Domain Contracts
Specific modules
Module-specific rules
Acceptance Criteria
Single spec
Task-specific requirements
Org invariants apply automatically—you don't need to add "requires authentication" to every spec. Define it once, enforce everywhere.
→ Tutorial: Setting up org invariants
→ Explanation: Verification layers
Audit trails
Every action creates an immutable record:
Spec created, by whom, when
Spec approved, by whom, when
Verification run, results, what was checked
Links to commits, PRs, tickets
This provides complete traceability for compliance. If an auditor asks "why was this change made?", you can show the approved spec, who authorized it, and proof the implementation matched.
→ Explanation: Audit trails and compliance
→ How-to: Export audit logs
Getting started
The fastest way to understand Verify is to use it:
Tutorial: Your first spec - Create a spec, get it approved, see verification in action (15 min)
How-to: Connect a repository - Set up GitHub integration
How-to: Configure branch protection - Require verification before merge
Quick links
New to Verify? Start with Your first spec
Setting up? See Connect a repository
Verification failed? Check Fix verification failures
Need compliance info? Read Audit trails and compliance
Last updated
Was this helpful?
