Skip to content

feat(provenance): suite/dataset content hashing for reproducibility (#11)#19

Merged
amitpaz1 merged 1 commit into
mainfrom
feat/issue-11-suite-provenance
Jun 26, 2026
Merged

feat(provenance): suite/dataset content hashing for reproducibility (#11)#19
amitpaz1 merged 1 commit into
mainfrom
feat/issue-11-suite-provenance

Conversation

@amitpaz1

Copy link
Copy Markdown
Member

Closes #11.

What: a deterministic content hash of an EvalSuite (its cases + name/agent/defaults), so a run records exactly which suite version produced it (EU AI Act Art.10 reproducibility) and CI can detect dataset drift between approved runs.

How:

Tests: test_provenance.py (sha256-prefixed + reproducible; changes on case edit / reorder / name / agent / defaults; command registered). pytest 5/5 + runner suite 32/32, mypy + ruff clean; verified suite_hash lands in run.config.

Additive; the only behavior change is an extra suite_hash key in run.config.

)

A deterministic content hash of an EvalSuite (cases + name/agent/defaults), so a
run records EXACTLY which suite version produced it (EU AI Act Art.10
reproducibility) and CI can detect dataset drift between approved runs.

- provenance.py: suite_content_hash(suite) -> "sha256:..." over sorted-key
  canonical JSON (reproducible; order-sensitive over cases).
- runner.py: run_suite stamps config["suite_hash"]; flows into the run and, via
  run.config, into the EU AI Act evidence module (#8).
- commands/suite-hash: `agenteval suite-hash SUITE_FILE` prints the hash.

Tests: test_provenance.py (5) + runner suite 32/32, mypy + ruff clean (venv);
verified suite_hash lands in run.config.

Closes #11.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019tXZpN29akdmG8AEjgSZwk
@amitpaz1
amitpaz1 merged commit 582a649 into main Jun 26, 2026
4 checks passed
@amitpaz1
amitpaz1 deleted the feat/issue-11-suite-provenance branch June 26, 2026 07:41
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.

Test-suite & dataset provenance hashing (Art.10 reproducibility)

1 participant