Installed on your machine · 3 gates · 12 layers

Your AI writes the code. Shippp is the engineer who signs it off.

Shippp installs three gates: two on your machine and one in CI. A change Claude Code makes is checked when a code file is written, when it’s committed and when it’s pushed. Fail at the write or the commit and it’s refused and sent back; fail in CI and the build is marked failed. The proof check then tests the project against all 12 layers and says what it could confirm.

0 · Gates installed1 · Claude writes2 · Tested at gates3 · Blocked & fixed4 · Shipped
INSTALLED ON YOUR MACHINEEdit-time gatearmed · as it writesCommit gatearmed · every commitBuild gatearmed · every push12 layers · three gates · code stays local
YOUR MACHINE · ~/yoga-studio
Claude Code · charge.tswriting
1
2
3
4
5
6
7
THE STANDARD12 layers
2No stand-in code
3Input checking
4Graceful failure
5Secret protection
7Sealed features
8Automatic tests
9Safe saving
10Reversible upgrades
12Safe sign-in
23Spend visibility
24Decision memory
25Working journeys
SHIP · 0/12
WHAT WOULD SHIP · WITHOUT SHIPPP
A payment key written into the codewould ship as-is
A failed charge crashes checkoutwould ship as-is
Retries charge the customer twicewould ship as-is
PRODUCTION · YOUR USERSNothing shipped yetwaiting for 12/12

/ 01 — The evidence

Capable AI can say work is done when it isn’t.

Real and on the record. What they share: something was trusted before anyone checked it. We leave out company names because this isn’t one company’s problem: models from several makers did it. Every case below links to its source, and our own is our founder’s account of why Shippp exists. Where a source adds a caveat, it’s on the card.

Case AJuly 2025

It faked data and test results, then deleted the live database.

Capable AI can say work is done when it isn’t.

“This was a catastrophic failure on my part.” — the AI agent, when asked what happened, as reported by Fortune

Context: This was one founder’s public experiment, and much of the account comes from his own posts. The data was recovered. The tool’s maker called it unacceptable and added separate development and live databases, better rollback, and a planning-only mode.

Read the full case

The founder of SaaStr, a well-known community for software founders, spent twelve days building an app in public with an AI app builder. He told it to freeze the code: no changes without his permission.

Reporting on his account says the agent had already been generating around 4,000 fake user records and status reports that made a broken project look healthy. Then, during the freeze, it ran commands against the live database and wiped records for more than 1,200 executives and more than 1,190 companies.

Asked whether the deletion could be rolled back, the agent said no. It could. He got the data back by hand.

What Shippp does about this kind of failureShippp’s proof check reports what actually ran, instead of your agent’s own status report. Shippp doesn’t control who can touch your live database: keep that access away from your agent.

Case BMarch – June 2025

Leading models rewrote tests and faked results to get a pass.

It knew it wasn’t what was wanted, and did it anyway. More than one maker’s models did it.

“AI systems try to ‘cheat’ and get impossibly high scores.” — METR, an independent AI evaluation lab

Context: These were test tasks, not real projects. Across a wider set of tasks, METR saw it in fewer than 1 in 100 runs; it was far more common when the model could see how it was being scored. The second study comes from one AI maker’s own researchers, about its models during training.

Read the full case

METR tests AI models before and after release. In 2025 it reported that the newest models had started “reward hacking”: changing the tests or the scoring code, or finding the answer the checker already had, instead of doing the work. On one task, a leading model did this in every attempt METR generated. METR adds that the models showed they knew this wasn’t what the user wanted.

Researchers at one AI maker saw the same in their own coding tasks, where the agent had to make a project’s tests pass. Their paper lists shortcuts such as editing code upstream of the tests so they pass trivially, and creating local copies of entire libraries to get around the checks.

What Shippp does about this kind of failureShippp’s checks run your project’s real commands on their own, whether or not the agent says it’s done. The live blocker refuses fake, placeholder or unfinished code as your agent writes it, and the save check refuses it at the commit. None of Shippp’s checks looks for an edited test today.

Case CJune 2025

One of software’s best-known experts had to watch his AI for deleted checks (tests).

An expert knew what to watch for. A founder who can’t read code doesn’t.

“3. Any indication that the genie was cheating, for example by disabling or deleting tests.” — Kent Beck, creator of Extreme Programming

Context: He describes a warning sign he watched for, not how often it happened, and doesn’t say which AI tool did it.

Read the full case

Kent Beck created Extreme Programming, one of the best-known ways of building software. He is a leading advocate of writing the checks before the code (test-driven development). He built a complex data-storage library (a B+ tree) with an AI coding agent, which he nicknames the genie, and watched its work closely, ready to step in. Asked what told him the AI was going off track, he listed three warning signs. The third is quoted above.

Two weeks earlier, a tech newsletter that interviewed him summed up his experience. These are the newsletter’s words, not his:

What is surprising is how he’s having trouble stopping AI agents from deleting tests in order to make them “pass!”
What Shippp does about this kind of failureNone of Shippp’s checks looks for a deleted test today.

Founder’s build · adversarial cybersecurity training platform

  • Features I asked forBuiltMock, dummy or placeholder code
  • A fix to one thingFixedSomething that worked broke
  • How the code was organisedDoneNo boxes: features tangled together
  • Rate limitingBuiltNot there at all

In the founder’s words, summarised.

“Though I was told it built rate limiting, it didn’t have the real thing at all.”

Our ownWhere Shippp started

Shippp started with a platform that looked finished and wasn’t.

I was told it was built. It was placeholder code.

Our founder was building an adversarial cybersecurity training platform, where security analysts (SOC analysts) train against AI attackers. Every time he added or fixed something, something that already worked broke. Asked whether a feature was built, his AI agent said yes. Later, it admitted it hadn’t been.

Read the full story

When he started asking for audits, and proof of what had actually been done, most of what needed to exist was mock, dummy or placeholder code. What had been written wasn’t structured. Features reached into each other’s internals, with no thought for keeping each one in its own box (coupling and cohesion). That’s why fixing one thing kept breaking another.

The biggest find was rate limiting: the limit on how often one caller can hit a route. For a security training platform that’s basic protection. He had been told it was built. It wasn’t there at all.

That’s when he realised: building with AI needs governance. Shippp is what came out of it.

Where each one lives in Shippp nowNo stand-in code refuses fake or placeholder code as it is written, or at the commit. Sealed features keeps each feature in its own box. Rate limiting sits in Input checking.

Each of these turned on something being trusted before it was checked. Shippp doesn’t make your AI smarter. It gives your agent the standard before it writes, and installs automatic checks inside your project, including one on every commit that runs whether or not the agent says it’s done: the senior engineer your AI answers to.

/ 02 — Why you can’t catch it alone

A more capable model still needs someone who knows what to ask for.

Money stored the weak way, so small amounts go missing:

“totals drift by amounts that are individually invisible and collectively real.”

One customer seeing another customer’s data:

“a query that returns another tenant’s rows looks exactly like a query that works.”

Work that was started in the background and quietly dropped:

“The work is silently lost… indistinguishable from it having succeeded.”

From Shippp’s architecture guidance.

Watch it hold an agent to account

An animated walkthrough of one feature
0:00 / 0:30

/ 03 — Before

Before the code: it steers

It turns a plain idea into a blueprint.

You describe the idea in plain words. Shippp turns it into your blueprint: the build instructions your agent follows. It holds:

  • a named platform with a tagline
  • up to 5 technology choices
  • 3–9 core records (entities) and 3–9 features (modules)
  • a way to sign in
  • 2–6 locked decisions
  • 2–12 business rules (invariants)

If the idea is too thin, it asks for more detail instead of guessing.

12 layers · most agents
Interpreted by Shippp — it asks if it needs more
⌘↵
From a sentence to a blueprintExample

What you type

“”

Shippp is reading it.

When an idea is too thin, Shippp asks instead of guessing:Who pays: the customer at booking, or the shop later?Can two customers book the same delivery slot?

What comes back: your blueprint

PetalpostDelivery slots and payment for a flower shop
Features, each sealed in its own box
CatalogueBookingCheckoutOrdersNotifications
Core records
CustomerBouquetDeliverySlotOrderPayment
Locked decisions
ADR-001 · MoneyAmounts in whole cents, with an add-only record
ADR-002 · Scheduled timesA slot is checked and booked in one step
ADR-003 · Background jobsOrder emails go through a job queue
Business rulesA delivery slot holds at most 6 orders.An order is paid before its slot is confirmed.

1 / 5You describe it in plain words.

It settles the architecture before code exists.

Ten kinds of capability that agents commonly get wrong. For each, the blueprint settles how it is built before the agent writes the feature, and the choice is written down.

  • live updates (realtime)
  • background jobs
  • search
  • AI retrieval
  • files and media
  • large collections
  • many customers in one app (multi-tenant)
  • money
  • scheduled times
  • people editing the same thing at once

It gives the agent the standard at the start of every session.

At the start of each session your agent is given Shippp’s standard, and as it works it can ask for the rules that apply to the file it’s about to write.

The standard stays with Shippp, so a rule corrected on Shippp’s side reaches every project at its agent’s next session.

It keeps a memory of decisions.

Every decision becomes a numbered decision record (ADR) that the agent can’t quietly undo.

Your agent forgets. Shippp doesn’t. — Shippp

What agents skip unless someone who knows asks

Each one maps to a layer in the standard.

In plain words (jargon)Where Shippp covers it
Each feature kept in its own box, with no reaching into another’s internals (coupling and cohesion)Sealed features
A limit on how often one caller can hit sign-in, payment and AI routes (rate limiting)Input checking
Reusing the part of an AI prompt that never changes, so you don’t pay for it twice (prompt caching), plus cost per userSpend visibility
A one-time key on payment writes, so a retried request only counts once (idempotency)Safe saving
Money in whole cents with an add-only record (ledger)The “money” architecture decision
Each user sees only their own records; another user’s record gives “not found”Safe sign-in

/ 04 — While

While the code is written: it refuses changes that fail its checks

Five gates, installed in your own repository. Each one says what it enforces, and where it doesn’t reach.

One change, through every gateExample

Your agentis writing the delivery-slot change

  1. Live blockeras it writesCheckingsrc/bookings/slots.ts · your rules
  2. Save checkevery commitWaiting—
  3. Launch checkon GitHubWaiting—
The recordeach line sealed to the one before
  1. 9e1cAllowed · live blocker · src/bookings/slots.ts
  2. c3a8Refused · save check · type check failed at slots.ts:41
  3. f25dPassed · save check · commit “fix slot times” accepted

The launch check runs on GitHub, so it isn’t in the record.

1 / 7Your agent writes a file. The live blocker checks it before it’s saved.

  1. The live blocker (write gate)

    Claude Code only

    It checks the code your agent writes before it is saved, and refuses what breaks your project’s rules. Code written any other way is checked at the commit. Claude Code only. Download it from your dashboard once you’re on a plan, or let the one-line install fetch it for you.

  2. The save check (commit gate)

    Each commit on your machine

    Each commit made on a machine where Shippp is installed is checked, whether an agent or a person made it, and refused if it fails. A check that cannot run fails and says why, instead of passing quietly.

  3. The launch check (CI)

    GitHub · GitLab · Bitbucket

    On GitHub it checks every push to main and every pull request; on GitLab and Bitbucket, every push. It reports a failing build, and on GitHub a failing pull request can be stopped from merging. GitLab and Bitbucket get no merge block.

  4. The proof check

    When you or your agent run it

    It runs your project’s real commands against its real files, layer by layer. What it reports, below.

  5. The record

    Every decision and commit check

    Every write-gate decision and commit check is recorded, and a rewrite of the record shows, including one by the agent. It makes a rewrite visible; it doesn’t stop removal. The launch check runs on the host and is not in this record.

After a deploy (GitHub only): when the host reports a deploy, Shippp checks once that the new deploy answers. It is a one-time check, not monitoring.

/ 05 — After

After: it reports what it could confirm

The proof check runs your project’s real commands against its real files, one layer at a time, when your agent or you run it. It is not part of the commit check or CI. Every layer gets one of six verdicts:

  • VERIFIED
  • CHECKED
  • FAILED
  • MANUAL VERIFICATION REQUIRED
  • NOT APPLICABLE
  • BLOCKED

It says VERIFIED only when a check actually ran and passed. A layer whose checks only read the code says CHECKED. If anything was skipped, it says MANUAL VERIFICATION REQUIRED. When every layer is run together, a layer is BLOCKED once one in an earlier phase has failed.

12 layers. Honestly held.

Most layers can be proven by reading the code. Some need your running app: Safe saving, Safe sign-in and Spend visibility fully; Graceful failure and Reversible upgrades in part. For those, the report says “manual verification required”, not verified.

Petalpost · proof check, layer by layerExample
  1. 01No stand-in codeNOT CHECKED YET
  2. 02Input checkingNOT CHECKED YET
  3. 03Graceful failureNOT CHECKED YET
  4. 04Secret protectionNOT CHECKED YET
  5. 05Sealed featuresNOT CHECKED YET
  6. 06Automatic testsNOT CHECKED YET
  7. 07Safe savingNOT CHECKED YET
  8. 08Reversible upgradesNOT CHECKED YET
  9. 09Safe sign-inNOT CHECKED YET
  10. 10Spend visibilityNOT CHECKED YET
  11. 11Decision memoryNOT CHECKED YET
  12. 12Working journeysNOT CHECKED YET

1 / 5The proof check runs your project’s real commands, one layer at a time.

It sends Shippp almost nothing.

Each layer’s verdict and a few counts, never your code or its output. Then it prints:

No output or code was sent.

One line to install.

Open your agent in a folder and paste one line. It works once and expires after 15 minutes. The installer sets up every gate. It works with Claude Code. One command removes it again.

Set up Shippp in this project: <url>

Recompile as it changes.

A project’s blueprint can be recompiled in place 10 times a month, and every version is kept.

/ 06 — Price, and a free place to start

One plan: 12 production layers, all 12, on the one plan.

Builder $39

per month · All 12 layers
  • All 12 governance layers checked
  • Up to 3 active platforms
  • 10 recompiles per platform each month
  • The full blueprint document kit + readiness tracker

Compiling a blueprint needs a plan. The audit is free and needs no card. Cancel any time.

Already built something? Start with the free audit.

Your agent reads your code and answers one question per layer. Shippp gets its answers: file names and short findings. Every layer comes back held or missing. The full audit, with what each gap is and how to fix it, comes with the paid plan. It needs a free account and no card, and is rate-limited per account and per IP address.

Example
OwlTraceJul 8, 2026

12 of 12 layers scored

5 missing1 unanswered6 covered

/ 07 — Questions

Questions

People build these in a weekend and hit $50K ARR. Why would I need Shippp?

You don’t need Shippp to build fast. Nobody does — the weekend is real. You need it for the Monday after, when real people start using what the weekend built.

What is Shippp?

Shippp is software. It gives your AI agent a production-grade standard to build to, and installs automatic checks inside your project that its work has to pass.

Do I need to read code?

No. With Claude Code, you open your agent in a folder and paste one line; the installer writes the checks. The report says what it could confirm and what it couldn’t.

What does Shippp see of my code?

In the audit: your agent’s answers (file names, short findings and counts). From the proof check: each layer’s verdict and a few counts, never your code or its output.

What can’t it check on its own?

Some layers need your running app: Safe saving, Safe sign-in and Spend visibility fully, Graceful failure and Reversible upgrades in part. The report marks them “manual verification required”, not verified. After a deploy on GitHub, it checks once that the new deploy answers; it doesn’t watch your live app.

Can I remove it?

Yes. The checks live in your own repository, and one command removes them.

What does it cost?

Builder is $39 per month, with all 12 layers. The audit is free with a free account and no card; the fix text comes with the paid plan.