Skip to content

v0.5.1 — inspect_ai demo + Wind-Tunnel scenarios

Choose a tag to compare

@topeuph-ai topeuph-ai released this 07 May 11:12
· 404 commits to main since this release

What's new since v0.5.0

inspect_ai Popularity Demo — second real-data example

valichord_attestation/examples/inspect_ai_popularity_demo/ is a new end-to-end walkthrough of the v1.1 protocol against an inspect_ai .eval log — a different eval harness format (ZIP-based binary, structured per-sample JSON, C/I scorer values) from the lm-evaluation-harness JSONL format used in the GSM8K demo.

Task: popularity — AI personality self-assessment
Model: openai/gpt-4o-mini
Scorer: match (C/I values)
Source: inspect_ai test suite (21 KB, no GPU required)

The parsing layer uses EveryEvalEver's InspectAIAdapter (pinned to commit dec1ae43), not inspect_ai.log.read_eval_log() directly. This is the concrete alignment artefact with the EvalEval Coalition's aggregate schema, referenced by Matt Fisher in PR #1610 and Scott Simmons's inspect_evals#910 proposal for executable evaluation reports.

# No download required — fixture mode (committed bundle.json):
python valichord_attestation/examples/inspect_ai_popularity_demo/challenge_response_demo.py

# Full reproduction with the real .eval log:
bash valichord_attestation/examples/inspect_ai_popularity_demo/download_eval.sh
python valichord_attestation/examples/inspect_ai_popularity_demo/build_bundle.py --eval-path ./popularity.eval
python valichord_attestation/examples/inspect_ai_popularity_demo/challenge_response_demo.py
File Purpose
download_eval.sh Downloads popularity.eval (21 KB) from inspect_ai's public test suite
build_bundle.py EEE-based parsing path + --fixture mode (committed bundle.json)
challenge_response_demo.py k=20 challenge-response with tamper detection
bundle.json Committed bundle (50-sample simulated fixture, random.Random(42), 80% accuracy)

Honest EEE trade-offs documented in README.md: transitive dependencies (duckdb, seaborn, huggingface-hub<1.0.0 conflict), file-system side-effect (temporary JSONL), and Merkle root change (56c91950…227b5f8d… because EEE emits sample_id as strings vs integers).

Wind-Tunnel performance scenarios

valichord/wind-tunnel/ adds three performance test scenarios for the Holochain protocol layer (separate Cargo workspace, requires a pre-built .happ):

Scenario Description
single_researcher_single_validator Baseline: one commit, one reveal — cold-start timing
three_validators_sequential Three validators commit and reveal sequentially — typical small-panel run
concurrent_commit_burst Ten agents commit simultaneously — DHT write contention under load
VALICHORD_HAPP_PATH=path/to/valichord.happ cargo test --release -p wind_tunnel

Issues backlog

valichord_issues_backlog.md — 20 GitHub issue drafts across three sections: Protocol & architecture (8), Integration & extensions (8), and Honourable mentions (4). Ready to stage and open on GitHub.


Running the examples

pip install -e "valichord_attestation[dev]"
pytest valichord_attestation/tests/   # 142 tests, 100% line coverage

# GSM8K demo (Mistral-7B, no GPU required):
python valichord_attestation/examples/mistral_7b_gsm8k_demo/challenge_response_demo.py

# inspect_ai popularity demo (GPT-4o-mini, no GPU required):
python valichord_attestation/examples/inspect_ai_popularity_demo/challenge_response_demo.py

142 tests, 100% line coverage. Holochain protocol unchanged from v0.5.0.