Experiment record
A completed series contains condition-scoped protocol traces and observations plus top-level coordination records. Depending on the selected target and scenario, the record includes:- MCP session traces and inference transcripts;
- mutation records containing both original and modified responses;
- run-scoped persisted artifacts and external-effect sink files;
- condition observations and trust-transition classifications;
- target/runtime pins and condition order;
- progress and failure manifests; and
- a declared evidence bundle with hashes for copied artifacts.
Integrity rules
- Originals are preserved before a response is changed.
- Effects and persisted artifacts carry the expected run-scoped identity.
- Bundle manifests declare the files copied into the bundle and their hashes.
- Missing files or hash mismatches are integrity failures, not evidence to reconstruct.
- Secret material is excluded: target records contain keyring credential names, never API keys.
Experiment evidence versus SQLite state
CTPF also retains an operational SQLite database at~/.ctpf/ctpf.db for targets, settings, and
legacy/current run or finding records. That database is not the evidence store for
ctpf experiment output.
The compatibility helper ctpf.core.db.export_run_bundle() produces run-bundle-v1 for stored
operational records. It is distinct from the scenario evidence bundles produced by controlled
experiments. See Operational Run Bundle for that compatibility contract.