How It Works
1
You Open a PR
Make code changes and open a pull request
2
Paragon Analyzes
AI analyzes your changes and existing tests
3
Proposes Updates
Paragon posts a GitHub comment with proposed test changes
4
You Review
Review proposals in the dashboard
5
Accept or Reject
Accept to apply changes, reject to ignore
Enable Evolving Tests
1
Go to Testing > Repos
Navigate to your repositories
2
Click Repository
Select the repository to configure
3
Find Evolving Tests Section
Scroll to the Evolving Tests settings
4
Enable Toggle
Turn on “Enable Evolving Tests”
5
Configure Settings
Set auto-run, open access, and excluded branches
6
Save
Save your settings
Configuration Options
Auto-Run on PR
When disabled, comment
@paragon-evolve on any PR to trigger analysis.
Open Access
Allow external contributors (outside your organization) to trigger@paragon-evolve on their PRs.
Include Draft PRs
By default, evolving tests only run on non-draft PRs. Enable this to also analyze draft PRs.Excluded Branches
Skip evolving tests for certain branches. Supports wildcards:- Skip main branch (no PR to a branch you’re already on)
- Skip release branches (tests should be stable)
- Skip automated dependency updates
Proposal Types
Paragon proposes three types of changes:Add New Tests
When you add new code that isn’t covered by tests:Update Existing Tests
When code changes affect existing tests:Remove Obsolete Tests
When code is removed and tests are no longer needed:Reviewing Proposals
GitHub Comment
When Paragon analyzes a PR, it posts a comment:Dashboard Review
Go to Testing > Proposals to see all pending proposals:- Filter by repository - Focus on one repo
- Filter by type - Added, Updated, Removed
- Preview changes - See proposed code inline
- View analysis - Understand why changes are proposed
Proposal Details
Click any proposal to see:- Analysis Summary: Why Paragon thinks this change is needed
- Confidence Score: How certain Paragon is (0-100%)
- Proposed Code: The actual test code to be added/updated
- Affected Files: Which test files will change
Accepting Proposals
Accept Single Proposal
- Click the proposal
- Review the changes
- Click “Accept”
- Choose: Push to PR or create new PR
Accept All Proposals
- Go to Testing > Proposals
- Select proposals with checkboxes
- Click “Accept Selected”
What Happens on Accept
When you accept a proposal:- Paragon generates the test code
- Commits to the PR branch (or creates new PR)
- Posts a GitHub comment confirming changes
- Proposal marked as accepted
Rejecting Proposals
Reject Single Proposal
- Click the proposal
- Click “Reject”
- (Optional) Add reason
When to Reject
- False positive: Paragon misunderstood the change
- Already covered: Existing tests cover this case
- Not needed: Intentionally not testing this code
- Low confidence: Proposal doesn’t look right
Best Practices
Start with Auto-Run Disabled
When first enabling evolving tests:- Disable auto-run initially
- Manually trigger on a few PRs with
@paragon-evolve - Review proposal quality
- Enable auto-run once satisfied
Review Before Accepting
Always review proposals before accepting:- Check the generated test code makes sense
- Verify assertions match expected behavior
- Ensure test follows your conventions
Exclude Noisy Branches
Add patterns for branches that don’t need test evolution:Trust Confidence Scores
Troubleshooting
Proposals Not Appearing
- Check evolving tests is enabled in repository settings
- Check auto-run setting - if disabled, use
@paragon-evolve - Check excluded branches - branch might be excluded
- Check draft PR setting - draft PRs off by default
Low Quality Proposals
- Make your PR description detailed
- Include context about what changed and why
- Link to related issues
Too Many Proposals
- Add excluded branches for automated PRs
- Adjust test type filters in settings
- Review and reject false positives (Paragon learns)
Next Steps
Analytics
Track test performance and pass rates

