shipmoor test-evidence and shipmoor claim-check are two separate commands, and the relationship between them is “both, not either/or.” Test Evidence is a fully standalone command with its own report and its own attestation; it is never a flag on claim-check. It is also, for an entitled caller, automatically composed into Claim Check’s own gate as one more evidence producer. Both of these are true at the same time. Neither is the whole story by itself.
Standalone, and also composed
- Standalone.
shipmoor test-evidenceruns on its own, anywhere, with its own flags, its own report, and its own--attest-outartifact. See CLI reference. - Composed. For any caller who holds the entitlement that unlocks Claim Check’s full mode,
shipmoor claim-checkautomatically brings Test Evidence in as one more concurrent evidence producer, alongside scan, review, build, tests, artifact validation, and the judge, all running over the same shared change surface.
You do not need to run shipmoor test-evidence yourself before running shipmoor claim-check to get this benefit. It happens under the hood, on every entitled claim-check run.
What you still need: the hook, wired upstream
Composition happens automatically, but the strength of what it composes does not. To get the strongest possible signal, wire the hook subcommand into your coding agent’s settings, upstream of any of this; see the quickstart for the walkthrough and the CLI reference for the exact flags.
Without the hook wired, claim-check falls back to its own weaker interim check: a bare exit-code check, plus its own separate git-based test-integrity producer. That fallback is real evidence, not nothing, but it’s less grounded than a genuine harvested, hash-bound spool entry, which is the whole reason passed exists as a signal in the first place.
How each signal lands in the gate
Think of the composition as a three-door merge: passed, reduced, and weakened each enter through their own door, with their own rule for how much they’re allowed to decide.
| Signal | How it lands |
|---|---|
passed | Decides the gate’s own “tests” evidence cell, with real counts, when it’s fresh. Preferred over the interim exit-code check whenever it applies. |
reduced | Adds its own high-severity test-integrity findings alongside the gate’s own git-based anti-cheat findings. Additive: one doesn’t replace the other, both are reported. |
weakened | Rides the judge channel, subtractively, exactly like Claim Check’s own intent fidelity judge. It can only ever remove trust. It never grants a pass, for the same reason the intent fidelity judge never does. |
Graceful degradation, in both directions
If Test Evidence has nothing fresh to report (no hook wired or no on-disk report), Claim Check falls back gracefully to its own interim evidence. Neither side hard-blocks the other.
Current CI boundary
Self-managed CI currently supports Scan only with SHIPMOOR_TOKEN. Test Evidence is not currently supported as a self-managed CI step. Run it from an authorized local installation instead.
See CLI reference for the full flag surface, including --agent for the weakened-test judge and --high-assurance for spot verification.
A forward-looking detail: which entitlement gates the composition
Claim Check and Test Evidence have separate Free counters. Automatic Test Evidence composition inside one admitted Claim Check does not consume the Test Evidence counter; it is authorized by the already-admitted parent command.
Entitlement
Running shipmoor test-evidence on its own consumes one of the five monthly Free Test Evidence invocations. Pro is unlimited. See Plans & tiers.
Next
- CLI reference: the full
shipmoor test-evidencesurface. - Signals & anti-gaming: what
passed,reduced, andweakenedmean and how they resist gaming. - Turning on the gate: when a Claim Check
BLOCKEDverdict should block a merge. - Reading the verdict: the four verdicts these evidence cells feed into.
- Claim Check overview: the three layers Test Evidence now composes into.