Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,8 +104,8 @@ check → reserve cap → PayPal AUTHORIZE hold → escrow registered

## Evidence

- **425 tests pass, 3 skipped (428 collected) with no sandbox credentials:** `python -m pytest -q` verified locally 2026-11-03 on main at `20c74bf`. 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-10-15 at `21d7d7c`).
- **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`).
- **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`.
Expand Down
4 changes: 2 additions & 2 deletions docs/submission-checklist.md
Original file line number Diff line number Diff line change
Expand Up @@ -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-04, on main at `33a3694b`): `python3 demos/demo_six_beat.py --fast --replay demos/fixtures/demo_transcript.jsonl` reaches `VERIFIED` (26 receipts) in about a second; 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-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.

| What the judge does | Where it lives | What it shows |
| --- | --- | --- |
Expand Down Expand Up @@ -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-04: the LICENSE file reads back as Apache-2.0 and main is at `33a3694b`. |
| 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`. |

## Project requirements, checked against the rules

Expand Down
Loading