Shipwright
Catch it before your users do. A pre-ship reliability check for your AI build's claims, docs, and citations — run it on your own project, privately, before you ship.
It composes three deterministic verification gates over the text your build produces and ships:
| Check | What it catches | Powered by |
|---|---|---|
| Doc/output over-claims | factual claims in your README/output that contradict your declared ground truth | firewall |
| Result-claim hygiene | result-claims (accuracy/win-rate) with no sample size, no holdout, or possible leakage | verity |
| Citation grounding | cited claims whose source doesn't actually support them (fabricated/mismatched citations) | grounded |
It reports a transparent 1–5 reliability level and names each unearned point next to the fix.
Honest scope (what it does and doesn't do)
Shipwright checks what your build claims and ships in text. It does not test your code's runtime
behavior, and a 5/5 means these specific deterministic checks pass — not "provably reliable AI." It runs
only on the path you give it and sends nothing anywhere (consent-first). A gate that isn't installed,
or a check with no matching content, is reported as n/a — never a fake pass. MCP/tool authorization
is deliberately not a dimension: our mcp-bench is a benchmark of scanners, not a scanner you point
at your repo, so claiming an MCP-authz check here would be an over-claim of our own.
Install
Shipwright itself has no dependencies. Install it and the three gates (the gates are published from the StellarRequiem repos, not under their generic PyPI names):
pip install -e . # shipwright (this repo)
pip install git+https://github.com/StellarRequiem/verity-core \
git+https://github.com/StellarRequiem/firewall \
git+https://github.com/StellarRequiem/grounded
Use
shipwright init # scaffold a starter truth.yaml + a CI workflow
shipwright check . # check the current project
shipwright check . --truth truth.yaml # declare your ground truth for the over-claim check
Writes shipwright-report.md and prints the level. Exit code is CI-gateable: 0 pass · 1 review · 2 refuse.
Each gap is linked to the lesson that closes it, in the Building Verifiable Software course.
Agents can self-check over MCP: verity-mcp (installed with verity-core) is a Model Context Protocol
server — point your agent at it to gate its own claims.
Status
Early (v0.1.0), single author, no users yet — the leading hypothesis is that teams ship LLM apps whose claims outrun what they can support, and there's no cheap, honest, local way to catch that before users do. This is the free, local tier; a hosted progress/badge surface is a later build.
Metadata
Release files for shipwright-check 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| shipwright_check-0.1.0.tar.gz | 15.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| shipwright_check-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 30.7 kB
Release files / shipwright_check-0.1.0.tar.gz
| Download URL | shipwright_check-0.1.0.tar.gz |
|---|---|
| Size | 15.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
adb33408a4c34d7bbdf1680dcd89d75cad3538e7b6f11313afc1332a003addd9
|
|
BLAKE2b-256 checksum How to use checksums |
49bd3984214990456615d8ee6acc0e6db9596652c6b9f4a0719dc924f7f0ab5d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.5
|
Release files / shipwright_check-0.1.0-py3-none-any.whl
| Download URL | shipwright_check-0.1.0-py3-none-any.whl |
|---|---|
| Size | 15.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a64a03d719db75f8e2c464db05874355335573386765a8f1ce8e6797622bf0b8
|
|
BLAKE2b-256 checksum How to use checksums |
b14f0caefdea29ccbb71ed32a8b53a4affb47e6d6798af8f8bd69d4febd7a508
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.5
|