A few lines disappear.
The pull request looks simple. The permission check it removes is anything but.
Your code changes fast. What it’s supposed to do shouldn’t get lost along the way.
ShipCheck remembers the behavior your team depends on—and checks every pull request against it.
Only project owners can update a project.
api/projects.tsbehavioral diff−requireProjectOwner(user, project);+requireAuthenticatedUser(user);rejects updates from a non-owner
A signed-in user can now update someone else’s project.
Fits the way you already ship.
A missing check can be a new security hole. A small refactor can undo a hard-won fix. See the behavior behind the lines.
The pull request looks simple. The permission check it removes is anything but.
Your protected behavior says only a project owner should be allowed to make updates.
Inspect the evidence, understand the risk, and decide what should happen next.
Illustrative authorization scenario. Verification depends on the evidence available.
That bug you fixed last month? It taught your codebase something. ShipCheck helps make sure the next change doesn’t forget.
Specialized agents investigate the code, contracts, and runtime behavior. Evidence policy determines what’s strong enough to count as proof.
Look under the hood$ test checkout.authPASS
rejects an unauthenticated request$ test checkout.authPASS
rejects an unauthenticated requestSame scenario. Both revisions. Paired evidence.
Choose exactly which repositories ShipCheck can access through its GitHub App.
Discover existing behavior and choose the expectations worth carrying forward.
Open a pull request, inspect the evidence, and make an informed ship decision.
ShipCheck combines repository-aware review with persistent behavioral memory. Behavior Guards capture what your software should keep doing; Behavior Contracts add evidence requirements and governance. Future changes are evaluated against those expectations, rather than reviewing every diff in isolation.
No. ShipCheck can discover important behavior in your existing code and mine historical fixes for candidates. You decide which expectations to protect and how they should influence future ship decisions.
No. Available evidence depends on the repository and protected scenario. ShipCheck distinguishes runtime evidence from code or test presence, and keeps results inconclusive when the required proof is unavailable.
Scanning reads and analyzes repository context. Applying a suggested fix or regression test requires an explicit action from you. You keep control of repository changes and review decisions.
Know what changed. Remember why it matters. Ship with context.
Start with GitHub Your repositories. Your access. Your control.