Changes
Check an agent's work in minutes, not hours
Open a change from any branch. Branchscope compares the code graph before and after, flags what breaks your architecture, and draws what changed. A person reads the diagram, then merges.
Findings
Breaks controllers-no-data
InvoicesController.Create() uses BillingDbContext
src/Billing.Api/Controllers/InvoicesController.cs:20
Needs review: table-writes
InvoicesController.Create() writes invoices
src/Billing.Api/Controllers/InvoicesController.cs:20
Change maps
See what changed, not which lines
Every change becomes a map of what it adds, edits, renames and removes: functions, types, endpoints and tables, and the calls and data access between them. Across TypeScript and C#, in one picture.
#12 Add invoice export
by release-bot, an agent acting for alice
1 rule broken2 new1 edited
- GET /invoices/exportnew endpointhandled byExportController.Get()
- ExportController.Get()callsInvoiceService.List()body edited
- ExportController.Get()readsAppDbContext.Invoices
Findings
Your architecture, checked on every change
Write layers and rules in branchscope.json. A review lists what a change breaks, down to the file and line, and says whether it's not allowed or needs a person to look. Rules already broken before the change are counted, not blamed on it.
Findings
Breaks controllers-no-data
InvoicesController.Create() uses BillingDbContext
src/Billing.Api/Controllers/InvoicesController.cs:20
Needs review: table-writes
InvoicesController.Create() writes invoices
src/Billing.Api/Controllers/InvoicesController.cs:20
Renames
Moves and renames aren't churn
Code that only moved or was renamed is recognised by what it is, not where it was, so it doesn't drown the review in additions and removals. Rules follow it to its new name.
Renamed or moved
- greet()→welcome()
- InvoiceService→BillingService
Plans
Hold a change to its plan
A PLAN.md can say what a change may touch, and what it mustn't. The review shows anything outside it, so an agent that wandered off the task is easy to spot.
# Plan
Add invoice export: an endpoint in the API.
```branchscope
{
"touches": { "files": ["src/Billing.Api/Controllers/**"] },
"mustNotTouch": { "layers": ["data"] }
}
```Plan: outside what it says it touches
src/Billing.Api/Services/TaxService.cs
Agents
Agents open changes; people merge
Agents push their own branches and open changes over git, the CLI or MCP. They can read every review as text and JSON, with graph node IDs to cite. Only a person can merge into a protected branch.
- release-bot agent, for alice, via MCPopen_change · Opened change #4ok
- release-bot agent, for alice, via MCPmerge_change · main is a protected branch: agents can't update itrefused
#4 · opened by release-bot, an agent acting for alice
Review your next agent change in Branchscope
Import a repository from GitHub or GitLab, with its open pull requests, and its changes get graph reviews straight away.