Skip to content

feat: add evidence receipt hash chain prototype#279

Draft
mason5052 wants to merge 1 commit into
vxcontrol:mainfrom
mason5052:codex/issue-235-evidence-chain-v1
Draft

feat: add evidence receipt hash chain prototype#279
mason5052 wants to merge 1 commit into
vxcontrol:mainfrom
mason5052:codex/issue-235-evidence-chain-v1

Conversation

@mason5052

Copy link
Copy Markdown
Contributor

Summary

  • add a disabled-by-default Evidence Receipts v1 prototype for toolcall completion
  • write hash-chain JSONL receipts under <DATA_DIR>/flow-<flow_id>/evidence/receipts.jsonl
  • include toolcall provenance metadata plus argument/result hashes without storing raw args or raw results
  • document v1 as hash-chain-only; Ed25519 signing and report bundle export are deferred

Validation

  • go test ./pkg/tools/...
  • go test ./pkg/config/...
  • git diff --cached --check

Refs #235

sirozha pushed a commit that referenced this pull request Jun 18, 2026
Disabled-by-default audit feature (EVIDENCE_RECEIPTS_ENABLED): appends a
hash-chained JSONL receipt per finished/failed toolcall under
<DATA_DIR>/flow-<id>/evidence/receipts.jsonl, recording toolcall
provenance plus SHA-256 hashes of args/result (no raw content).

Integration adapted to current main: the original PR built the receipt
from a database.Toolcall returned by ce.db.UpdateToolcall*Result, which
the executor no longer uses after the ToolCallLogProvider (tclp) refactor.
Receipts are now built from the in-scope toolcall data at the tclp log
sites and recorded non-fatally, so a receipt failure is logged and never
fails an otherwise-successful toolcall.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant