data/ layout
What lives in data/. Everything tracked is gold-standard reference material; everything else is regenerated per run and gitignored.
Layout
data/
├── input_corpus_gold_standard/ — the 12 BBC Radio 4 MP3s + everything we extract from them
│ ├── audio_files/ — the 12 MP3s (sha256 + URLs in manifest.json)
│ ├── manifest.json — corpus MP3 manifest (sha256, source URLs)
│ └── input_extraction/
│ ├── episodes/ — canonical Episode JSONs (one per MP3, post-merge)
│ └── raw_extractions/ — per-extractor JSONs before merge (10 extractors × 12 eps)
│
│ --- ignored (regenerated per run, never tracked) ---
├── generations/YYYY-MM-DD/<run_id>/ — every concept/episode/audio the system has produced
├── reports/ — pipeline analytics (calibration, patterns, etc.)
├── contrasts/ — generated contrast-set JSONs
├── calls.jsonl — every API call (cost audit + retry log)
├── critique_log.jsonl — every critique run
└── calibration_history.jsonl — drift-detector state
Documentation files (BEST_CANDIDATES.md, lessons.md, learned_prompt_addendum.md) live under docs/. Code that reads lessons.md / learned_prompt_addendum.md writes them to docs/ directly. The benchmark_seeds.txt regression-suite list lives at docs/benchmark_seeds.txt.
Conventions
- Run IDs:
YYYY-MM-DDTHH-MM-SS__<8-hex>. Daily buckets ingenerations/use the date prefix. - DATA_ROOT: configurable via
DOUBLE_ACTS_DATA_ROOT(tests redirect to a tmp dir). - Audio filenames: every user-facing wav embeds
<runid8>_iter<NN>_<UTC ts>so files keep their provenance after being moved. calls.jsonl: append-only, every call tagged withrun_id— slice per-run withjq.
Reports (data/reports/ — gitignored, regenerated)
| File | Contents | Generator |
|---|---|---|
calibration_report.md |
Corpus + contrast scores, separation verdict | pipeline calibrate |
patterns_report.md |
Cross-corpus structural patterns | pipeline patterns |
benchmark_report.{md,json} |
N=20 benchmark distribution | benchmark |
corpus_audio_benchmark.{md,json} |
Audio scores on the 12 corpus MP3s | benchmark.run_corpus_audio_benchmark |
cross_model_judge_*.{json,md} |
Gemini + Claude ensemble per-axis comparison | cross-model-judge |
report_card_*.md |
Aggregate evaluation across hundreds of categories | report-card |