Repository navigation
v0.3.13
Typed receipts now work with Claude Code and Codex (#21, #22).
Until 0.3.11 the detailed receipts of hidden outputs (read range, line count and sha256; write/edit outcome; shell exit status and last lines; test summary) only recognised pi's tool names. With Claude Code (Read, Write, Edit, MultiEdit, Bash) and Codex (shell, exec_command, apply_patch) hidden outputs fell back to the older "Start: «…»" receipt. Now they get the typed one, with each client's argument names (file_path, old_string/new_string, command as a string or argv list, patch headers). Unknown tools keep the fallback; pi receipts are byte-identical to 0.3.11.
Measured on the Claude Code session from the README (CPU only, frozen archive): 81 of its 135 hidden outputs change from the fallback to the typed receipt (79 Read, 2 Edit), on average +9 tokens per receipt. This changes receipt text, not what is hidden; we have not measured its effect on answer quality with Claude Code.
Upgrade note: receipts are rebuilt on every request, so an ongoing Claude Code or Codex conversation re-reads its prompt once after upgrading (the engine cache no longer matches from the first changed receipt).
Tests: 572 OK (Python 3.14), 539 OK (Python 3.10); CI green on Linux and Windows.