From 29b3cda38c038356daf1664e979884ebbc37e8fb Mon Sep 17 00:00:00 2001 From: Marcus Richards Date: Fri, 6 Nov 2026 15:24:58 +0000 Subject: [PATCH] docs: refresh README and checklist evidence to 2026-11-06 verified state README and checklist claimed verification on main at edc372c7 (2026-11-05), but PR #77 moved main to e068ab17. Fresh 2026-11-06 run on e068ab17: suite 426 passed, 3 skipped (429 collected); demo.py VERIFIED (16 receipts); six-beat replay VERIFIED (26 receipts) in 0.73s; LICENSE reads back Apache-2.0 via the API with main at e068ab17. 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 77adf70..48ce2f5 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-05 on main at `edc372c7`. 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-05 at `edc372c7`). +- **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`). - **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 2d7d1bf..e6ba005 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-05, on main at `edc372c7`): `python3 demos/demo_six_beat.py --fast --replay demos/fixtures/demo_transcript.jsonl` reaches `VERIFIED` (26 receipts) in about a second (0.70s 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-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. | 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-05: the LICENSE file reads back as Apache-2.0 and main is at `edc372c7`. | +| 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`. | ## Project requirements, checked against the rules