--- name: ecj-replication-package description: Use when assembling the data and code replication package for a The Economic Journal (EJ) manuscript to the RES / EJ Data Editor standard (DCAS-endorsed, Zenodo deposit, reproducibility check before final acceptance). Builds the package and README; it does not run the analysis itself. --- # Replication Package (ecj-replication-package) ## When to trigger - The paper is heading toward acceptance and the **EJ Data Editor** needs a reproducible deposit - You want the package to pass the EJ Data Editor's reproducibility check on the first pass - Some data are proprietary or restricted and you must request an exemption and document access - You are setting up the project early so reproducibility is not a last-minute scramble > Verify the current policy on the EJ Data Editor site (ejdataeditor.github.io) and the OUP > Instructions before depositing. EJ runs **pre-acceptance reproducibility checks**: the paper is > accepted for final publication only after results have been checked for reproducibility. The > package is posted to the journal's Zenodo repository or another trusted repository and linked from > the paper. It is essential to **request a data exemption at the point of first submission** if you > face any access restrictions. ## What a passing package contains 1. **README** (the centerpiece) following the DCAS / Social Science Data Editors README template: - Overview of what the code does and the mapping from code → every exhibit and in-text number. - Data availability statement: source, terms, whether each dataset is public / restricted / proprietary, and exact access steps (registrations, memberships, monetary and time costs). State clearly if data cannot be shared and why, referencing the exemption requested at first submission. - Computational requirements: software + versions, packages + versions, OS, memory, and approximate run time. - Instructions to run: a single master script ordering everything end to end. - List of every table/figure/in-text number with the script and line that produces it. 2. **Data**: raw inputs (when license permits) and the code that builds analysis files from them. Provide complete documentation of all variables; if data are in a proprietary format (e.g., Stata `.dta`), also provide an ASCII/plain-text copy such as `.csv`. If raw data are restricted, include construction code plus a synthetic/simulated dataset that lets the pipeline run. 3. **Code**: a `master` script that reproduces every number, table, and figure from raw inputs, with relative paths and fixed seeds. 4. **Output**: log files and generated exhibits, so the editor can diff against the paper. ## Reproducibility discipline - One master script; no manual steps, no hard-coded absolute paths, no "run cell 4 then cell 2." - Set and record random seeds for any simulation, bootstrap, or ML step. - Pin software and package versions; record them in the README and, where possible, in a lockfile/environment file. - Every exhibit and in-text number in the paper is regenerated by the code — no hand-edited tables. - Directory layout is clean: `data/` (raw, derived), `code/` (build, analysis), `output/` (tables, figures, logs). ## Restricted / proprietary data (the EJ exemption route) - Request the exemption **at first submission**, not at acceptance — the EJ Data Editor stresses this timing. - You may not need to deposit the data, but you must deposit the **code** and a precise access path so a third party with the same license can reproduce results. - Provide a Data Availability Statement and, where feasible, a small simulated dataset matching the schema so the pipeline is executable. - Confidential-data results may require a verification arrangement with the EJ Data Editor; document it. ## Checklist - [ ] README follows the DCAS template (overview, data availability, requirements, run instructions, exhibit map) - [ ] Deposit goes to the journal's Zenodo repository (or another trusted repository) with a license allowing replication - [ ] Package layout matches EJ guidance: `1-paper`, `2-appendices`, `README.pdf`, `3-replication-package.zip`, and optional `4-confidential-data-not-for-publication.zip` - [ ] Single master script reproduces every table, figure, and in-text number from inputs - [ ] Software and package versions pinned and recorded - [ ] Random seeds set and documented - [ ] Relative paths only; runs on a clean machine in a fresh directory - [ ] All variables documented; proprietary-format data also provided as ASCII/plain text - [ ] Data availability statement covers each dataset (public / restricted / proprietary) with access steps and costs - [ ] Restricted data: exemption requested **at first submission** - [ ] Package re-run from scratch and output diffed against the paper, ready for the EJ Data Editor - [ ] Current EJ/RES data policy (DCAS, Zenodo, EJ Data Editor) verified on the official pages ## Anti-patterns - A zip of scripts with no README and no code → exhibit mapping - Absolute paths (`/Users/me/...`) that break on any other machine - Unset seeds so bootstrap/simulation numbers do not reproduce - "Data available on request" with no construction code and no access detail - Requesting a restricted-data exemption only at acceptance instead of at first submission - Proprietary-only data with no ASCII/plain-text companion and no variable documentation - Hand-edited tables that the code does not actually generate - Submitting without re-running the package on a clean environment ## Output format ``` 【Policy verified】EJ/RES data policy (DCAS, Zenodo, EJ Data Editor) checked on official pages [y/n] 【README】DCAS template sections present? [y/n each] 【Deposit】Zenodo (or trusted repo) + replication license attached? [y/n] 【Master script】reproduces all exhibits + in-text numbers from raw? [y/n] 【Versions + seeds】pinned/documented? [y/n] 【Data status】public / restricted (exemption at first submission) + access path; ASCII companion? [y/n] 【Clean-machine test】passed, ready for EJ Data Editor? [y/n] 【Next】ecj-submission ```