Live outputs
panout status (panout repo)
Panout status
Contracts installed: 4 (tests-touch, no-secrets, size-guard, agent-attribution)
Evaluations recorded: 8 total, 8 in the last 7 days, 2 for commit(s) no longer on HEAD (amended or reset; kept as recorded)
Exposure: 8/8 commits with a non-skip result (100%; target 30%)
Overrides per contract:
- tests-touch: 2 override(s) over 4 evaluation(s)
- no-secrets: 0 override(s) over 8 evaluation(s)
- size-guard: 4 override(s) over 8 evaluation(s)
- agent-attribution: 0 override(s) over 8 evaluation(s)
panout audit --since 30 (panout repo)
Panout audit · agent-attributed commits · last 30 days
rework column is a line-identity proxy (added lines changed within 30 days), not a defect label
commit date harness override rework30d contracts
66927262d06f 2026-09-04 claude-code no n/a tests-touch=skip,no-secrets=pass,size-guard=pass,agent-attribution=pass
fc6059f85546 2026-09-04 claude-code no n/a tests-touch=skip,no-secrets=pass,size-guard=pass,agent-attribution=pass
1a801e93891f 2026-09-04 claude-code yes n/a tests-touch=skip,no-secrets=pass,size-guard=fail,agent-attribution=pass
07ba44a5d88c 2026-09-04 claude-code no n/a tests-touch=skip,no-secrets=pass,size-guard=pass,agent-attribution=pass
911c75f6f41d 2026-09-04 claude-code yes n/a tests-touch=fail,no-secrets=pass,size-guard=pass,agent-attribution=pass
9493548c790d 2026-09-04 claude-code yes n/a tests-touch=pass,no-secrets=pass,size-guard=fail,agent-attribution=pass
3f8b9622fa42 2026-08-22 claude-code no n/a -
panout inject --commits 12 (dotfiles repo)
Panout inject · 12 accepted commit(s) replayed on a scratch worktree
contract fault presented caught rate
tests-touch secret-string 2 0 0%
tests-touch drop-test 2 2 100%
tests-touch oversize 2 0 0%
tests-touch assertion-delete 5 0 0%
no-secrets secret-string 2 2 100%
no-secrets drop-test 2 0 0%
no-secrets oversize 2 0 0%
no-secrets assertion-delete 5 0 0%
size-guard secret-string 1 0 0%
size-guard drop-test 1 0 0%
size-guard oversize 1 1 100%
size-guard assertion-delete 4 0 0%
agent-attribution secret-string 2 0 0%
agent-attribution drop-test 2 0 0%
agent-attribution oversize 2 0 0%
agent-attribution assertion-delete 5 0 0%
catch rate = injected faults a contract flagged after passing the unfaulted diff; 4 case(s) excluded because the contract already failed at baseline; nothing here grants autonomy yet
Each contract catches exactly the fault it was written for and nothing else. That separation is the point: catch rate is a property of the contract, measured on a chosen sample, with a same-day answer. Cases where the contract already failed on the unfaulted diff are excluded so a contract cannot be credited for a catch it did not make.
panout inject --commits 20 on external repos (gstack, cursor/plugins, openai/codex, obra/superpowers)
== /home/gpj/.explore/repos/github.com/garrytan/gstack
Panout inject · 20 accepted commit(s) replayed on a scratch worktree
contract fault presented caught rate
tests-touch secret-string 15 0 0%
tests-touch drop-test 15 15 100%
tests-touch oversize 15 0 0%
tests-touch assertion-delete 19 0 0%
no-secrets secret-string 15 15 100%
no-secrets drop-test 15 0 0%
no-secrets oversize 15 0 0%
no-secrets assertion-delete 19 0 0%
size-guard secret-string 1 0 0%
size-guard drop-test 1 0 0%
size-guard oversize 1 1 100%
size-guard assertion-delete 4 0 0%
agent-attribution secret-string 15 0 0%
agent-attribution drop-test 15 0 0%
agent-attribution oversize 15 0 0%
agent-attribution assertion-delete 19 0 0%
catch rate = injected faults a contract flagged after passing the unfaulted diff; 57 case(s) excluded because the contract already failed at baseline; nothing here grants autonomy yet
== /home/gpj/.explore/repos/github.com/cursor/plugins
Panout inject · 20 accepted commit(s) replayed on a scratch worktree
contract fault presented caught rate
tests-touch secret-string 0 0 n/a
tests-touch drop-test 0 0 n/a
tests-touch oversize 0 0 n/a
tests-touch assertion-delete 0 0 n/a
no-secrets secret-string 0 0 n/a
no-secrets drop-test 0 0 n/a
no-secrets oversize 0 0 n/a
no-secrets assertion-delete 0 0 n/a
size-guard secret-string 0 0 n/a
size-guard drop-test 0 0 n/a
size-guard oversize 0 0 n/a
size-guard assertion-delete 0 0 n/a
agent-attribution secret-string 0 0 n/a
agent-attribution drop-test 0 0 n/a
agent-attribution oversize 0 0 n/a
agent-attribution assertion-delete 0 0 n/a
catch rate = injected faults a contract flagged after passing the unfaulted diff; 0 case(s) excluded because the contract already failed at baseline; nothing here grants autonomy yet
== /home/gpj/.explore/repos/github.com/openai/codex
Panout inject · 20 accepted commit(s) replayed on a scratch worktree
contract fault presented caught rate
tests-touch secret-string 14 0 0%
tests-touch drop-test 14 14 100%
tests-touch oversize 14 0 0%
tests-touch assertion-delete 18 0 0%
no-secrets secret-string 16 16 100%
no-secrets drop-test 14 0 0%
no-secrets oversize 16 0 0%
no-secrets assertion-delete 18 0 0%
size-guard secret-string 5 0 0%
size-guard drop-test 3 0 0%
size-guard oversize 5 5 100%
size-guard assertion-delete 7 0 0%
agent-attribution secret-string 16 0 0%
agent-attribution drop-test 14 0 0%
agent-attribution oversize 16 0 0%
agent-attribution assertion-delete 18 0 0%
catch rate = injected faults a contract flagged after passing the unfaulted diff; 48 case(s) excluded because the contract already failed at baseline; nothing here grants autonomy yet
== /home/gpj/.explore/repos/github.com/obra/superpowers
Panout inject · 20 accepted commit(s) replayed on a scratch worktree
contract fault presented caught rate
tests-touch secret-string 2 0 0%
tests-touch drop-test 2 2 100%
tests-touch oversize 2 0 0%
tests-touch assertion-delete 4 0 0%
no-secrets secret-string 9 9 100%
no-secrets drop-test 2 0 0%
no-secrets oversize 9 0 0%
no-secrets assertion-delete 4 0 0%
size-guard secret-string 7 0 0%
size-guard drop-test 0 0 n/a
size-guard oversize 7 7 100%
size-guard assertion-delete 2 0 0%
agent-attribution secret-string 9 0 0%
agent-attribution drop-test 2 0 0%
agent-attribution oversize 9 0 0%
agent-attribution assertion-delete 4 0 0%
catch rate = injected faults a contract flagged after passing the unfaulted diff; 22 case(s) excluded because the contract already failed at baseline; nothing here grants autonomy yet
Commit trailers on HEAD
66927262 2026-09-04 Round 6 judgment: 61/100 on appendices I, J, K
Panout-Work: 0675a1148d
Panout-Contracts: tests-touch=skip,no-secrets=pass,size-guard=pass,agent-attribution=pass
fc6059f8 2026-09-04 Appendix K: market and incumbent update; narrow the override-record claim
Panout-Work: 936c21667b
Panout-Contracts: tests-touch=skip,no-secrets=pass,size-guard=pass,agent-attribution=pass
1a801e93 2026-09-04 Appendices I and J: retrospective contract backtest, external repos, fault injection
Panout-Work: 08f6edcba6
Panout-Contracts: tests-touch=skip,no-secrets=pass,size-guard=fail,agent-attribution=pass
07ba44a5 2026-09-04 DECISIONS: ledger keeps evaluations for amended or reset commits
Panout-Work: 23cb4dce38
Panout-Contracts: tests-touch=skip,no-secrets=pass,size-guard=pass,agent-attribution=pass
911c75f6 2026-09-04 inject: credit a catch only when the contract passed the unfaulted diff
Panout-Work: 713a47945f
Panout-Contracts: tests-touch=fail,no-secrets=pass,size-guard=pass,agent-attribution=pass
9493548c 2026-09-04 Panout MVP: contracts, commit hooks, evaluation capture, status, audit, inject
Panout-Work: 1ee4e892c4
Panout-Contracts: tests-touch=pass,no-secrets=pass,size-guard=fail,agent-attribution=pass
c1a28dcf 2026-08-23 Archive Panout prototype and design research
Two of the three MVP commits carry an override: the MVP commit shipped past size-guard, and the inject fix shipped past tests-touch. Both are recorded in the trailer and the ledger, and both are true.
Test run
.....................
----------------------------------------------------------------------
Ran 21 tests in 2.264s
OK