Abstract / Summary
The registration, before any data value of the two test datasets was seen, of the hypotheses, the decision rules, the data preparation and the complete analysis code of a methodological study: how the speed, direction and origin of an epidemic wave are estimated from surveillance data aggregated into administrative units and reporting periods, and how much these estimates depend on the definition of the arrival of the wave, on the end of the data and on the resolution of reporting. Systems. Ebola virus disease in Guinea, Liberia and Sierra Leone, 2013–2015: case line list of the WHO viral haemorrhagic fever database published by Garske et al. (2017, doi:10.1098/rstb.2016.0308), about 63 districts, weekly. Dengue in Recife, Brazil: geocoded notifications, Zenodo record 10.5281/zenodo.19412786 (version v4), cells of 0.5 km analysed at the level chosen by a registered rule. Hypotheses. A premise check (PC) and three confirmatory hypotheses on mechanisms predicted by a four-term framework: H1, amplitude (an absolute threshold changes local speeds where the amplitude varies along the propagation); H2, truncation (ending the window at 75% of cumulative cases inflates centroid speeds, more than threshold speeds); H3, aggregation (re-aggregation within the predicted premise leaves the cone speed unchanged within 10%). Each rule returns met, ambiguous, failed or not evaluable, and the systems are combined by a symmetric rule (supported, contradicted, inconclusive, single system, not evaluable). The expected outcomes, simulated before deposit with the unit counts of both systems, are stated in the plan: H2 strongly powered, H3 moderately, H1 underpowered. Status of the registration. Registered after reading only the documentation of the two test datasets and the column names of their data files; every item consulted, including search-engine snippets, is listed with its date and content in metadata_consulted.md. On 8 October 2026 the Ebola data file was uploaded by mistake to the environment of the AI assistant used to write the code; it was not opened, and only its checksum was computed. Code and text were developed with the assistance of an AI assistant (Claude, Anthropic); the author is responsible for all content. Single entry point. After data access, only file paths are supplied to run_analysis.py; no code is written. It builds the unit tables, ingests both systems, writes every exclusion and the decision to keep or drop each system with a timestamp before any analysis function is called, then runs the frozen module wave_analysis.py, whose SHA-256 is printed in the plan, and writes the primary outcomes and, separately, the secondary analyses, which never enter the verdict. Every constant of the module is fixed in a single table, and every entry of that table is read by the code. Verification. The deposit carries its own checker. verify_deposit.py confirms that every expected file is present and matches CHECKSUMS.txt, that no placeholder remains, that the registration date is identical in the plan and in CITATION.cff and the DOI identical in the plan, CITATION.cff and the README, that the SHA-256 printed in the plan is that of the frozen module, that the 38 registered constants and the ingestion constants equal the values stated in the plan and are all read by the code, that the numerical anchors of the plan are reproduced, that smoke_test.py passes its 38 checks and reproduces its deposited output byte for byte, and that test_pipeline.py passes its 16 checks on synthetic files with the documented columns of both datasets. Run from an empty copy of the archive, it reports 16/16 checks passed in about a minute; it makes no network call. Exact versions of the reference run are in environment.txt. Scope. Confirmatory tests of three mechanisms in two systems, and descriptive analyses that carry no outcome. Outcomes are decided on 90% block-bootstrap intervals against margins of practical relevance fixed before data access; their error rates are neither controlled nor estimated, and a supported prediction does not establish the framework. Licences and versioning. Code (every .py file, including those inside prior_covid_analyses.zip): MIT. Everything else, the plan included: CC BY 4.0. No third-party data file is redistributed: the derived COVID-19 tables were computed from covidestim and Johns Hopkins University data, which remain under their own licences. Version 1.0.0 is the registration and is never altered: results, deviations and corrections are published separately, and any later version of this record leaves every registered file byte-identical, which CHECKSUMS.txt lets anyone verify. Cite the version DOI 10.5281/zenodo.23270838, not the concept DOI.