# template_registered_report - AGENTS.md ## Ground truth Configuration lives in `manuscript/config.yaml`; preregistration fixtures live in `data/`; reusable plan-freezing, deviation, demonstration-analysis, and figure-provenance logic lives in `src/registered_report/` (`protocol.py`, `demo_study.py`, and `figures.py`). The manuscript binds every number to `output/data/demo_analysis.json` and every figure label to `output/figures/figure_registry.json`, both regenerated by `scripts/generate_figures.py`. ## Commands ```bash uv run pytest projects/templates/template_registered_report/tests --cov=projects/templates/template_registered_report/src --cov-fail-under=90 uv run python scripts/pipeline/stage_01_test.py --project templates/template_registered_report --project-only uv run python scripts/pipeline/stage_04_validate.py --project templates/template_registered_report MPLBACKEND=Agg uv run python projects/templates/template_registered_report/scripts/generate_figures.py ``` ## Contracts and boundaries Do not let post-run result prose rewrite preregistered intent. Keep confirmatory claims, deviations, sensitivity checks, ethics/stage metadata, and exploratory claims separated in source, tests, review packets, and manuscript. Decision memory and verifier hardening follow [`docs/rules/memory_and_decision_records.md`](../../../docs/rules/memory_and_decision_records.md): use nearby `WHY:` comments only for surprising local choices, keep volatile counts generated, and add negative controls for verifier-like gates.