From 6d20009be372a83a3beaad6910a5d0b13984924c Mon Sep 17 00:00:00 2001 From: Marcus Richards Date: Mon, 9 Nov 2026 09:57:19 -0600 Subject: [PATCH] docs: refresh README and checklist evidence to 2026-11-09 verified state README and checklist claimed verification on main at e068ab17 (2026-11-06), but PR #78 moved main to 396f3cc8. Fresh 2026-11-09 run on the tree at 396f3cc8: suite 426 passed, 3 skipped (429 collected); demo.py VERIFIED (16 receipts); six-beat replay VERIFIED (26 receipts) in 0.68s; admission, e-stop and SLA escrow demos all VERIFIED/complete; LICENSE reads back Apache-2.0 via the API with main at 396f3cc8. Docs only, no new tests, so the claimed counts stay exact on merged main. --- README.md | 4 ++-- docs/submission-checklist.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 48ce2f5..ef8ac1d 100644 --- a/README.md +++ b/README.md @@ -104,8 +104,8 @@ check → reserve cap → PayPal AUTHORIZE hold → escrow registered ## Evidence -- **426 tests pass, 3 skipped (429 collected) with no sandbox credentials:** `python -m pytest -q` verified locally 2026-11-06 on main at `e068ab17`. Two of the skips are the `sandbox_live` tier (`tests/test_agent_sandbox_live.py`): with sandbox credentials set they run the agent loop on the real PayPal sandbox wire - an over-cap attempt blocked before any wire call, and an allowed spend that creates a real order and stops at PayPal's own payer-approval refusal, reservation held (live-verified 2026-10-23 at 408 pass, 1 skipped, before the M4 submission-docs, demo-path and demo-video-script tests landed). CI runs the no-credential suite plus `python demo.py` on every push. -- **Mock end-to-end demo:** `python demo.py` ends with `ledger chain: VERIFIED (16 receipts)` (run 2026-11-06 at `e068ab17`). +- **426 tests pass, 3 skipped (429 collected) with no sandbox credentials:** `python -m pytest -q` verified locally 2026-11-09 on main at `396f3cc8`. Two of the skips are the `sandbox_live` tier (`tests/test_agent_sandbox_live.py`): with sandbox credentials set they run the agent loop on the real PayPal sandbox wire - an over-cap attempt blocked before any wire call, and an allowed spend that creates a real order and stops at PayPal's own payer-approval refusal, reservation held (live-verified 2026-10-23 at 408 pass, 1 skipped, before the M4 submission-docs, demo-path and demo-video-script tests landed). CI runs the no-credential suite plus `python demo.py` on every push. +- **Mock end-to-end demo:** `python demo.py` ends with `ledger chain: VERIFIED (16 receipts)` (run 2026-11-09 at `396f3cc8`). - **Mock rail vs sandbox, kept separate:** - `demos/demo_six_beat.py` runs on the mock rail, with no PayPal network or credentials. Its agent still needs `PERMIT_AGENT_CLI` or a recorded transcript — one ships as `demos/fixtures/demo_transcript.jsonl` for the offline replay path. - The Oct 2 sandbox spike made real REST calls (OAuth, order, authorize, capture, void) against PayPal sandbox and verified merchant identity. Its report left the tree in `3f88feb`. Read it with `git show 3f88feb^:spike-report.md`. diff --git a/docs/submission-checklist.md b/docs/submission-checklist.md index e6ba005..75ffb40 100644 --- a/docs/submission-checklist.md +++ b/docs/submission-checklist.md @@ -8,7 +8,7 @@ The live proof the judge must see, in one command, is: grant → allowed capture ## Functional demo -**Status: ready.** A judge can run it from a fresh checkout, fully offline. Python 3.10 or newer. No pip install, no API key, no `.env`, no network. Measured on this tree (2026-11-06, on main at `e068ab17`): `python3 demos/demo_six_beat.py --fast --replay demos/fixtures/demo_transcript.jsonl` reaches `VERIFIED` (26 receipts) in about a second (0.73s locally); the receipt chain is deterministic. The cascade is included. A live run (no `--replay`) instead drives the real LLM agent and requires `PERMIT_AGENT_CLI` to be set; there is no `--hold` flag. +**Status: ready.** A judge can run it from a fresh checkout, fully offline. Python 3.10 or newer. No pip install, no API key, no `.env`, no network. Measured on this tree (2026-11-09, on main at `396f3cc8`): `python3 demos/demo_six_beat.py --fast --replay demos/fixtures/demo_transcript.jsonl` reaches `VERIFIED` (26 receipts) in about a second (0.68s locally); the receipt chain is deterministic. The cascade is included. A live run (no `--replay`) instead drives the real LLM agent and requires `PERMIT_AGENT_CLI` to be set; there is no `--hold` flag. | What the judge does | Where it lives | What it shows | | --- | --- | --- | @@ -53,7 +53,7 @@ The recording has to say the camera run is the mock. It must not say the six bea | --- | --- | | `LICENSE` (Apache-2.0) and `NOTICE` | In the repo. | | README cold-start | In the repo. One command, stdlib only, reaches the running dashboard. | -| Public GitHub repo | https://github.com/FetchDoge/permit, public. Verified 2026-11-06: the LICENSE file reads back as Apache-2.0 and main is at `e068ab17`. | +| Public GitHub repo | https://github.com/FetchDoge/permit, public. Verified 2026-11-09: the LICENSE file reads back as Apache-2.0 and main is at `396f3cc8`. | ## Project requirements, checked against the rules