1\begin{appendices}23\section{Pre-registration summary}4\label{app:prereg}56The analysis plan (\texttt{research/preregistration.md}, SHA-256 \texttt{ecda8804e17f9317\ldots}) was frozen on 2026-11-01 before any association between a predictor and an outcome was computed. It fixes: the five hypotheses and their falsifiers; the units (polity, society, country-year) and the reasons for them (93.7\% of Polaris facts undated; CrisisDB crisis-selected); the disjoint indicator sets for $D$ and $K$ listed in Section~\ref{sec:data-measurement}; the outcomes $Y_1$ (severity share), $Y_{1b}$, $Y_2$ (duration), $Y_3$ (succession), $Y_4$--$Y_6$ (modern events) and the composite; the five-year horizon; the models of Section~\ref{sec:methods}; the baselines and the 80\% fold rule; the Holm correction over three primary tests; the a-priori power computation and its decision rule; the robustness set; and the rule for narrowing the claim. Seven decisions and no post-hoc amendments are recorded in \texttt{research/decisions.md}; the single deviation from the mandate's candidate formula ($K$ standardized rather than logged, because it is a bounded share that can be zero) was recorded before analysis. The use of decade rather than year effects in the forward-chaining folds, so that test years have a fitted level, is noted in the code and in Section~\ref{sec:methods-modern}.78\section{Data dictionary (abridged)}9\label{app:dictionary}1011\textbf{Seshat facts} (56,274 rows): sheet, section, region, polity, variable, value (presence codes P/IP $\to 1$, A/IA $\to 0$, disputed $\to 0.5$, SU/blank $\to$ missing; numeric midpoints with bounds), date interval, flags for dated, inferred, disputed, unparsed, uncertain. \textbf{Polity aggregates}: mean, min, max, mean log, bound extremes, counts of facts, dated facts, inferred and disputed facts, per polity and variable; a pre-crisis version per CrisisDB record. \textbf{Polity metadata}: region, macro-region (ten groups fixed in \texttt{configs/regions.yaml}), era block (six), start and end years, midpoint, duration, censoring at 1900, centralization, relationships to preceding and succeeding entities, matched successor and its relationship, discontinuity indicator. \textbf{CrisisDB}: record, polity, start and end years, the 21 consequence codes, the number of instability items coded, the number present, the severity share, the binary severe indicator (defined when the five severe items are all coded), the reform share and the epidemic flag. \textbf{Ethnographic Atlas}: society, coordinates, Glottocode and Glottolog family, region, focal year, EA030--EA034, EA042, EA066--EA068, EA070, EA072--EA073, EA090, EA005, EA028, EA113, community-size midpoint, population, jurisdictional levels. \textbf{Modern panel}: V-Dem identifiers and year, six capacity items, electoral democracy, regime identifiers and end types, civil war, coups, population and GDP per capita from Maddison (ISO3 merge; 39 unmatched V-Dem entities listed in the crosswalk file), derived event indicators and windows. The full dictionary with counts is \url{data/metadata/data_dictionary.md}.1213\section{Additional measurement detail}14\label{app:measurement}1516Item parameters of the two-parameter model are listed in \url{results/empirical/measurement_irt_item_parameters.csv}. Five record-keeping items (written record, script, lists and tables, calendar, practical literature) reach the discrimination ceiling because they are coded almost jointly in Seshat; the latent score is therefore dominated by the writing cluster, which is why the transparent block mean is the primary index. Figure~\ref{fig:irt} compares item difficulties estimated on the Old World and on the Americas and Oceania. Figure~\ref{fig:trajectories} shows the mismatch index over time by macro-region and the raw relation between pre-crisis mismatch and crisis severity.1718\begin{figure}[H]19\centering20\includegraphics[width=0.5\textwidth]{figures/fig_irt_invariance.pdf}21\caption{Item difficulties from two-parameter models fitted separately on Old-World polities and on the Americas and Oceania.}22\label{fig:irt}23\end{figure}2425\begin{figure}[H]26\centering27\includegraphics[width=\textwidth]{figures/fig_trajectories.pdf}28\caption{Left: mismatch index $P$ against polity midpoint year, by macro-region. Right: crisis severity against pre-crisis $P$ for the 127 CrisisDB records with a defined index, with the least-squares line.}29\label{fig:trajectories}30\end{figure}3132\section{Simulation scaling table}33\label{app:sim}3435\begin{table}[H]36\centering\footnotesize37\caption{\SIM\ Means by regime and $N$ over all main-design cells without shocks (administrative capacity ratio 2).}38\begin{tabular}{l r r r r r r r}39\toprule40Regime & $N$ & Success & Msgs/task & Bits/task & Bits/success (set-up) & Welfare/agent & Gini \\41\midrule42\input tables/tab_sim_scaling 43\bottomrule44\end{tabular}45\end{table}4647\section{Replication guide}48\label{app:replication}4950The package is a Python 3.12 project with pinned dependencies. From a clean clone:51\begin{verbatim}52uv venv -p 3.12 .venv && uv pip install -p .venv/bin/python -e .53make fetch # 9 raw sources, SHA-256 verified54make data # three panels + diagnostics55make measure # D, K, P, IRT, invariance, power56make econ # H1, H2, H4, H5, robustness57make sim # 6,048 + 584 runs and analysis58make figures # all tables and figures59make paper # latexmk -> paper/main.pdf60make test # unit and integration tests61\end{verbatim}62Seeds are fixed (20261101 for the estimation code, 0--7 for the simulations); raw files are not redistributed because of the D-PLACE and V-Dem licences, but the registry allows byte-level verification of a fresh download. The execution log (\url{results/logs/execution_log.md}) records every command and every correction made during the study, and the final audit (\url{results/logs/final_research_audit.md}) lists completed, failed and blocked tasks.6364\end{appendices}65