cd /news/ai-tools/show-hn-shipcheck-catch-when-ai-brea… · home topics ai-tools article
[ARTICLE · art-125955] src=useshipcheck.dev ↗ pub= topic=ai-tools verified=true sentiment=↑ positive

Show HN: ShipCheck – Catch when AI breaks old fixes

ShipCheck launched as a developer tool that gives repositories a memory of behaviors they are supposed to preserve, then checks future pull requests against those behaviors. The tool discovers important behavior already encoded in tests, authorization logic, validation, schemas, callers, and safeguards, and describes pull-request changes as preserved, introduced, intentionally changed, or violated behavior. ShipCheck says it addresses regressions that are not visible in a diff, such as a pull request that removes an authorization check like "Only subscription owners may cancel subscriptions.

read2 min views3 publishedSep 10, 2026

Did its behavior?

ShipCheck gives your repository memory of the behaviors it is supposed to preserve, then checks future changes against them.

Code reviewers see the diff. #

ShipCheck remembers what came before.

A pull request can look reasonable while quietly removing an authorization check, validation rule, API contract, or safeguard the repository relied on. ShipCheck maps changes back to those behavioral expectations.

Understand this pull request.

Understand what this changes about your system.

Give your repository memory in four steps. #

Discover what your software already guarantees, protect it, track how it evolves, and remember where it came from.

Find the behavior your repository already depends on.

ShipCheck looks across implementation code, tests, authorization logic, validation, callers, schemas, and safeguards to identify behaviors that appear important enough to remember.

Only project owners may delete projects.

app/api/projects/[id]/route.ts

Expired sessions must always be rejected.

middleware.ts

Course codes are normalized before duplicate detection.

lib/courses/create-course.ts

Some regressions aren't visible in the diff. #

They live in what the repository used to guarantee. ShipCheck keeps those guarantees around long enough to notice when they're broken.

- if (subscription.userId !== user.id) throw new UnauthorizedError();
+ await cancelSubscription(subscription.id);

Only subscription owners may cancel subscriptions.

Violated

Repository behavior, not just review comments. #

Behavior Discovery

Discover important behavior already encoded in tests, authorization logic, validation, schemas, callers, error handling, and safeguards.

Behavior Guards

Protect repository expectations so future pull requests can be evaluated against behavior the software is supposed to preserve.

Behavioral Diff

Describe meaningful pull-request changes as preserved, introduced, intentionally changed, or violated behavior.

Behavior History

Track when a behavior was introduced, preserved, intentionally changed, violated, restored, and preserved again.

Historical origin tracing

Mine git history across related implementation and test files to identify where protected behavior originally became true.

Cross-file evidence

Connect behavior to implementation files, helpers, authentication boundaries, callers, tests, and supporting repository evidence.

AI code review reads code. #

ShipCheck protects behavior.

Give your repository a memory. #

Protect the behaviors your software already depends on, then know when future pull requests change them.

Start with GitHub

── more in #ai-tools 4 stories · sorted by recency
── more on @shipcheck 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/show-hn-shipcheck-ca…] indexed:0 read:2min 2026-09-10 ·