diff --git a/README.md b/README.md
index eedfa75..42e3d24 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
-bounded-loops: Bounded Loops & Graphs
+Bounded Loops & Graphs — independent gates for AI agent loops
Read the paper · arXiv:2609.27871
Research experiments: v0.6.6 · Current software: v0.7.6
@@ -27,16 +27,18 @@ Every run leaves a hash-chained record you can re-verify afterwards.
*Replay of the shipped keyless reference example: the worker is a stub, and the pytest gate is real.*
```bash
-pip install bounded-loops
-bl loops install bug-fix-red-green
-bl run .bounded-loops/loops/bug-fix-red-green --yes # a real planted bug, a real pytest gate, no API key
+python -m pip install bounded-loops
+bl loops install bug-fix-red-green --dest ./loops
+bl run loops/bug-fix-red-green --yes --run-id first-proof # stub worker, real pytest gate
```
-The wheel includes 69 loop packages; 65 need no API key. This repository also ships seven
-digest-pinned graphs. `bl loops install` copies a package offline into your project, where
-`bl run` can write its ledger. Try a [failing test](loops/bug-fix-red-green/),
-[retail margin rule](loops/price-margin-floor/), or [invoice match](loops/invoice-3way-match/).
-Use a graph for joins, repair routes, or approval before an effect.
+The wheel ships 69 loops (65 keyless); the repository adds seven digest-pinned graphs. Install offline;
+run locally. Try [tests](loops/bug-fix-red-green/), [margin rules](loops/price-margin-floor/),
+or [invoice matching](loops/invoice-3way-match/). Graphs support joins, repairs and approvals.
+
+**[Verify receipts](docs/QUICK_PROOF.md)** · **[Product guide](https://qualixar.com/products/bounded-loops)** · **[Author](https://www.varunpratap.com/products/bounded-loops)**
+
+Useful in your workflow? [Star the repository](https://github.com/qualixar/bounded-loops). Access remains open without starring.
**Research scope.** The [paper](https://arxiv.org/abs/2609.27871) evaluates v0.6.6;
the current software is v0.7.6. Later changes are not paper results.
diff --git a/docs/QUICK_PROOF.md b/docs/QUICK_PROOF.md
new file mode 100644
index 0000000..a57b008
--- /dev/null
+++ b/docs/QUICK_PROOF.md
@@ -0,0 +1,31 @@
+# A keyless acceptance-gate proof
+
+Install the published package and copy the demo into an explicit writable directory:
+
+```bash
+python -m pip install bounded-loops
+bl loops install bug-fix-red-green --dest ./loops
+bash loops/bug-fix-red-green/wreck.sh
+# Expected exit 1: the ungated stub claims GREEN while its tests fail.
+bl run loops/bug-fix-red-green --yes --run-id first-proof
+```
+
+The worker is a synthetic stub; the pytest gate is real. The local verification
+on 1 October 2026 passed six tests and reached DONE in one lap. No hosted model,
+accuracy benchmark, latency comparison or savings estimate is involved.
+Use a fresh run-id for each new run. Inspect the gate and runner before using --yes.
+
+Record the printed ledger_head independently of the run directory, then verify:
+
+```bash
+bl verify loops/bug-fix-red-green/.bounded-loops/runs/first-proof/ledger.jsonl --expect-head YOUR_RECORDED_HEAD --json
+```
+
+The local persisted proof passed chain, separate-head match and completeness.
+A plain chain check without a retained head and run metadata is weaker evidence;
+it should not be described as all checks verified. The external head is useful
+only if the party editing the run directory cannot also replace your retained copy.
+
+The CLI may print its trust notice before JSON output. Consumers must distinguish
+that notice from the outcome object rather than assuming all stdout is one JSON value.
+The [paper](https://arxiv.org/abs/2609.27871) states the research protocol and assumptions.