Skip to content

Commit b450cb4

Browse files
committed
docs: surface the committed reproducible receipt and add a CI badge
Add a fourth Try it yourself path that reproduces a committed sealed report byte for byte and fails the gate on a committed broken bundle, so a judge can see both PASS and BROKEN_PROMISE on files that ship in the repo, with no init, scaffolding, or key. Document the committed artifacts/verify set and honest programmatic use of the evaluatePromise function in ADOPTION. Add a CI status badge to the README. No product, verifier, evaluator, evidence, or model-boundary behavior changed.
1 parent 25e1b94 commit b450cb4

2 files changed

Lines changed: 45 additions & 1 deletion

File tree

ADOPTION.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,37 @@ npm run promiseproof -- check \
124124

125125
`check` also accepts a single report with `--report ... --evidence ...`.
126126

127+
## Committed examples
128+
129+
The repository ships a ready evidence set under `artifacts/verify/`, so you can reproduce a result without scaffolding anything first:
130+
131+
- `passing-off.example.json`, `passing-on.example.json`: a passing OFF and ON pair.
132+
- `passing-gate.report.json`, `passing-gate.report.md`: the sealed gate report for that pair.
133+
- `broken-off.example.json`: an OFF bundle that breaks the promise.
134+
135+
```bash
136+
# Regenerate the sealed report byte for byte:
137+
npm run promiseproof -- check \
138+
--report artifacts/verify/passing-gate.report.json \
139+
--off artifacts/verify/passing-off.example.json \
140+
--on artifacts/verify/passing-on.example.json # BOUND_AND_REPRODUCED (exit 0)
141+
142+
# Watch a broken bundle fail the gate:
143+
npm run promiseproof -- gate \
144+
--off artifacts/verify/broken-off.example.json \
145+
--on artifacts/verify/passing-on.example.json # BROKEN_PROMISE (exit 2)
146+
```
147+
148+
## Programmatic use
149+
150+
PromiseProof does not publish an npm package, and the verdict is not hidden behind a service. Inside a checkout, the entire verdict comes from one pure function, `evaluatePromise(evidence)` in `src/shared/evaluator.ts`: no network, no state, no model. This deterministic function is the authority that owns the verdict. The CLI, the GitHub Action, and the hosted browser verifier all call it, which is why their results are identical, and the models never call it or produce its output.
151+
152+
```ts
153+
import { evaluatePromise } from "./src/shared/evaluator";
154+
155+
const evaluation = evaluatePromise(evidence); // deterministic verdict, clause results, and violations
156+
```
157+
127158
## Reports
128159

129160
`verify` and `gate` write two files to `--out`:

README.md

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
A human approves the exact patch. An unchanged deterministic verifier decides whether the promise is actually fixed.
1010

11+
[![CI](https://github.com/AlexPaiva/PromiseProof/actions/workflows/submission-hardening.yml/badge.svg)](https://github.com/AlexPaiva/PromiseProof/actions/workflows/submission-hardening.yml)
1112
[![OpenAI Build Week 2026](https://img.shields.io/badge/OpenAI-Build_Week_2026-10a37f)](https://openai.com)
1213
[![License: MIT](https://img.shields.io/badge/License-MIT-3f6bf0.svg)](LICENSE)
1314
[![TypeScript](https://img.shields.io/badge/TypeScript-strict-3178c6)](https://www.typescriptlang.org/)
@@ -116,7 +117,19 @@ Three ways in, none of them require an API key.
116117
output_directory: artifacts/promiseproof
117118
```
118119
119-
The step fails on `BROKEN_PROMISE` (exit 2) and still leaves `report.json` and `report.md` behind. Full CLI, exit codes, and exact scope are in [PromiseProof Verify](#try-promiseproof-verify) below.
120+
The step fails on `BROKEN_PROMISE` (exit 2) and still leaves `report.json` and `report.md` behind.
121+
122+
**4. Reproduce a sealed receipt, with nothing to generate first.** The repo ships a committed report and the evidence it was computed from. After `npm ci`, regenerate that report byte for byte:
123+
124+
```bash
125+
npm run promiseproof -- check \
126+
--report artifacts/verify/passing-gate.report.json \
127+
--off artifacts/verify/passing-off.example.json \
128+
--on artifacts/verify/passing-on.example.json
129+
# BOUND_AND_REPRODUCED (exit 0)
130+
```
131+
132+
Swap in the committed `artifacts/verify/broken-off.example.json` and `gate` returns `BROKEN_PROMISE` (exit 2). No `init`, no scaffolding, no key. Full CLI, exit codes, and exact scope are in [PromiseProof Verify](#try-promiseproof-verify) below.
120133

121134
## What was built in one Build Week
122135

0 commit comments

Comments
 (0)