You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Acceptance key handling after #44: reject whitespace keys, demo key off by default, fail on invalid env key #53
REA's after-the-fact check of main 9809cc7 (#44) FAILED (seq 683, REA-CHECK-PR44-9809cc7.md). The fallback key itself is gone, and old demo-key signatures are rejected. Two bars fail.
Keys item. Merging needs Marcus Richards' own yes plus an independent REA check.
Owner: Launch. Due: Oct 22.
Pass bar (written before the work)
The verifier and ledger constructors reject a whitespace-only key, including one of 32 bytes or more, with a test.
The demo key is an explicit opt-in flag, off by default. server.py in mock mode (including --db), demo.py, demos/*, python -m permit and trace.py exit with a non-zero code when no valid key is set and the flag is absent, with a test for each entry point.
A key set through env but invalid (missing, 31 bytes, or whitespace) raises an error even when the demo flag is on.
In --db mode with the demo flag, the key does not change silently across a restart. It either persists in a 0600 file or refuses to start, and the docs say which.
The stale docstring at ledger.py:13 is fixed, and the sign_acceptance API change is noted in the CHANGELOG or README.
The full suite passes plain and under -O. Every new test fails on 9809cc7 and passes on the fix.
Also: the README license badge says MIT, but LICENSE is Apache-2.0 (#51). Fix the badge in the same PR or a separate docs PR.
Fix is up as PR #55 (branch fix/acceptance-key-53, head 76317cf).
Evidence against the pass bar:
Whitespace-only keys rejected by ReleaseVerifier, DurableReleaseVerifier, and sign_acceptance, with tests.
--demo-key flag (off by default) on server.py (mock incl. --db), demo.py, demos/*, python -m permit, trace.py; subprocess test per entry point proves non-zero exit without a key or the flag.
Configured-but-invalid env/explicit key raises even with the demo flag; fallback only when nothing is configured.
--db --demo-key persists the key in a 0600 <db>.demo-key sidecar; restart test proves the file is byte-identical across restarts. README documents the sidecar.
Activity
docs: refresh evidence counts for #53 key-handling suite
Harden durable demo key files after REA seq 1690 (#53)
Fail closed on configured-but-invalid acceptance keys (#53)
FetchDoge commentedon Oct 19, 2026
Fix is up as PR #55 (branch
fix/acceptance-key-53, head 76317cf).Evidence against the pass bar:
--demo-keyflag (off by default) on server.py (mock incl. --db), demo.py, demos/*,python -m permit, trace.py; subprocess test per entry point proves non-zero exit without a key or the flag.--db --demo-keypersists the key in a 0600<db>.demo-keysidecar; restart test proves the file is byte-identical across restarts. README documents the sidecar.Left unmerged per the keys-item gate in this issue: needs Marcus Richards's own yes plus an independent REA check.