Skip to content

Repository files navigation

template_registered_report

template_registered_report is a public exemplar for registered reports, preregistration, replication, and robustness-audit workflows. It makes the planned analysis, frozen hypothesis ledger, deviations, and post-run claims auditable.

Run via the template monorepo from the repository root with uv run python scripts/pipeline/stage_01_test.py --project templates/template_registered_report --project-only. Copy manuscript/config.yaml.example to manuscript/config.yaml in forks and keep template integrity checks green.

When to use this template

Use this template when the core method is a registered report or preregistered replication: hypotheses, outcomes, exclusion rules, analysis plan, power or sensitivity rationale, deviation ledger, and confirmatory-versus-exploratory claim boundaries must be locked before results are interpreted.

Publication and rendering

Registered Report Template: Preregistration, Deviations, and Claim Boundaries · v0.1.0 · Daniel Ari Friedman

Concept DOI: 10.5281/zenodo.21298892 | Version DOI: 10.5281/zenodo.21298893 | Repository: docxology/template_registered_report

Publishing surface — 20 platforms, 2 published:

Platform Tier Status Reference Credentials
zenodo first-class ✅ published 10.5281/zenodo.21298892 ZENODO_API_TOKEN
github first-class ✅ published docxology/template_registered_report GITHUB_TOKEN
arxiv first-class ⚪ available
pypi first-class ⚪ available PYPI_TOKEN, TESTPYPI_TOKEN
ipfs_pinata first-class ⚪ available PINATA_JWT
ipfs_web3storage first-class ⚪ available WEB3_STORAGE_TOKEN
software_heritage first-class ⚪ available
github_pages first-class ⚪ available docxology/template_registered_report GITHUB_TOKEN
cloudflare_pages first-class ⚪ available CLOUDFLARE_API_TOKEN
netlify first-class ⚪ available NETLIFY_AUTH_TOKEN
huggingface_hub first-class ⚪ available HUGGINGFACE_TOKEN, HF_TOKEN
osf first-class ⚪ available OSF_TOKEN
amazon_kdp documented 🟡 planned AMAZON_KDP_EMAIL, AMAZON_KDP_PASSWORD
google_play_books documented 🟡 planned GOOGLE_PLAY_BOOKS_SERVICE_ACCOUNT_JSON
gumroad documented 🟡 planned GUMROAD_ACCESS_TOKEN
leanpub documented 🟡 planned LEANPUB_API_KEY
lulu documented 🟡 planned LULU_CLIENT_KEY, LULU_CLIENT_SECRET
draft2digital documented 🟡 planned DRAFT2DIGITAL_API_TOKEN
stripe documented 🟡 planned STRIPE_SECRET_KEY, STRIPE_PUBLISHABLE_KEY
ingramspark documented 🟡 planned INGRAMSPARK_CLIENT_ID, INGRAMSPARK_CLIENT_SECRET

Keywords: registered report, preregistration, replication, deviation ledger.

Status legend: ✅ published (durable identifier recorded in config.yaml) · 🔵 reserved (identifier reserved but not yet registered by final publication) · ⚪ available (adapter implemented and locally verifiable) · 🟡 planned. This block is generated — edit manuscript/config.yaml, then regenerate with uv run python -m infrastructure.publishing.status_report --project <path> --write.

The canonical renderer is https://github.com/docxology/template with --project templates/template_registered_report. Rendered outputs are disposable; source-owned registration files, deviation ledgers, and validation reports are the durable method artifacts.

Manuscript, figures, and demonstration study

The manuscript under manuscript/ is a full registered-report structure — abstract, introduction, preregistered hypothesis (H1), methods/analysis plan, results, deviation register, discussion, and references. It is a template with deterministic demonstration data, not an empirical study. Every number in the prose is produced by the tested code in src/registered_report/ and regenerated by scripts/generate_figures.py, which also renders four committed figures into manuscript/figures/: the hypothesis-to-outcome mapping, the analysis-plan workflow DAG, the deviation-ledger timeline, and the seeded permutation-test result. Regenerate with:

MPLBACKEND=Agg uv run python projects/templates/template_registered_report/scripts/generate_figures.py

Configuration

Primary configuration lives in manuscript/config.yaml; forkable defaults live in manuscript/config.yaml.example. Example registration content lives in data/example_registration.json.

Tests

Run:

uv run pytest projects/templates/template_registered_report/tests --cov=projects/templates/template_registered_report/src --cov-fail-under=90

Outputs and validation

The core validator freezes plans with a deterministic hash, verifies required preregistration sections, compares executed analyses to registered outcomes, and reports deviations before publication. Registration schema v2 is backward-compatible with the prior frozen fixture through an explicit migration that adds no invented values. It also builds a review packet with confirmatory outcomes, exploratory outcomes, a deviation ledger, ethics/stage metadata checks, sensitivity-analysis table validation, and an owner-gated publication receipt bound to the review artifact digest.

Publication and boundaries

Confirmatory claims must map to registered hypotheses and outcomes. Exploratory findings may be reported only when labeled as exploratory and linked to the deviation ledger.

Fork guidance

Use scripts/audit/copy_exemplar.py for clean forks. Replace the registration fixture, update the analysis plan, record ethics/stage metadata, and rerun tests before rendering.

About

Scaffold for registered reports, preregistrations, and replications — freezes hypotheses, outcomes, exclusion rules, and the analysis plan into a hash-stamped ledger, logs every deviation, and audits claims so confirmatory and exploratory results stay separate. Emits hypothesis-outcome maps, analysis DAGs, deviation timelines, permutation tests.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages