WP35 — Phase 0 feasibility report
Date: 2026-11-01 (UTC-4). Executor: Claude Code (claude-fable-5-1) acting autonomously under the PI's mandate
(docs/MANDATE_VERBATIM.txt). Nothing in this report is inferred: every value below was read from a command output
recorded in results/logs/execution_log.md.
1. Environment
| Item | Observed |
|---|---|
| Machine | Apple M5 Max laptop, 18 cores, 48 GiB RAM, 1.0 TiB free on the data volume (df) |
| Cluster | MacLustr (29 Macs on LAN) reachable through mld/SSH; not required for Phases 0-4, may be used for simulation sweeps (Phase 5) |
| Python | uv 0.11.7 manages a project venv at .venv (CPython 3.12.13). System python3 is 3.14.4 (not used) |
| Pinned deps (pyproject.toml) | numpy 2.3.4, pandas 2.3.3, polars 1.36.1, scipy 1.16.2, statsmodels 0.14.5, linearmodels 6.1, scikit-learn 1.7.2, lifelines 0.30.0, networkx 3.5, matplotlib 3.10.7, pymc 5.26.1, arviz 0.22.0, pyreadr 0.5.3, openpyxl 3.1.5, pyarrow 21.0.0, pytest 8.4.2 — import check passed |
| LaTeX | TeX Live: latexmk 4.88 (9 March 2026), pdflatex, lualatex, bibtex at /Library/TeX/texbin; UQO template (_modele-working-paper) copied into paper/ |
| Other tools | git, make, R 4.6.1 (no readxl), pandoc, jq, curl, wget, shasum |
| Connectivity | HTTP 200 on seshatdatabank.info, rug.nl (Maddison), d-place.org, github.com, v-dem.net, zenodo.org, api.github.com |
| LLM APIs | No ANTHROPIC_* / OPENAI_* variables in the shell environment; the anthropic MCP server failed to connect this session. No paid API calls are planned or needed: the research is executed by the agent itself; literature search uses public web search / Crossref. Any future API use requires PI approval. |
| Existing repository | None for WP35. Series conventions read from Recherche-UQO/HARMONISATION.md (numbering: WP34 exists, so this is WP35; new category folder economie/). |
2. Data sources: actual releases retrieved (raw files preserved, SHA-256 in data/metadata/source_registry.json)
| Key | Release actually obtained | Bytes | Licence (as read from source) | Notes from first inspection |
|---|---|---|---|---|
| seshat_polaris2026 | Polaris-2026 snapshot, GitHub Seshat-Global-History-Databank/build_polaris_dataset commit 55ca5fbc2b (2026-02-25) |
2,899,093 | MIT (repo LICENSE) | 8 sheets: Variables (173), Polities (626 rows; 42 seshat_region; start_year -13600…1921), General (7,239 rows, 516 polities, 21 vars), Social complexity (26,033 rows, 619 polities, 77 vars; value_from/value_to, year_from/year_to, is_disputed, is_uncertain), Warfare (17,536 rows, 376 polities, 49 vars), Luxury goods (1,191 rows), Religion (5,466 rows), CrisisDB – Crisis consequences (166 rows, 150 polities; 23 consequence columns coded P/A/IP/IA/SU) |
| seshat_equinox2020 | Equinox-2020 spreadsheet (05.2023) from the same repo | 1,720,038 | MIT (repo) / AGPL-3 on Zenodo 6629022 | single long-format sheet (NGA, Polity, Section, Subsection, Variable, Value.From/To, Date.From/To, Fact.Type, notes) |
| seshat_equinox_continuous_polities | Zenodo 8120128 Timescale.SM_Data.xlsx; MD5 verified = 57a4f436f8c7e62c80c4a49a67c6fe86 |
70,197 | CC-BY-4.0 | 1,396 rows: NGA, PolID, AbsTime, RelTime, SPC1, Culture.Sequence, Institutions.Sequence |
| maddison_2023_xlsx / _dta | MPD 2023 (dataverse.nl datafiles 421302/421303) | 4,903,804 / 10,892,389 | academic use with citation | Full data sheet: countrycode, country, region, year, gdppc, pop |
| dplace_ea_v3_3 | D-PLACE Ethnographic Atlas CLDF v3.3 (2025-12-19), zip of commit 5aa46ee | 7,039,773 | CC BY-NC 4.0 | cldf/{societies,variables,codes,data}.csv + sources.bib; raw/ folder with original tables |
| vdem_v16_rdata / _codebook | V-Dem v16 from the V-Dem Institute's official vdemdata R package (commit f4dd26922e, 2026-03-17) |
33,878,255 / 148,633 | V-Dem terms (non-commercial, cite); package GPL-3 | vdem data frame 28,092 country-years × 4,618 columns, years 1789–2025, 202 countries; codebook 781 rows |
Sampling check: every file opened and parsed with pandas/openpyxl/pyreadr/zipfile (see execution log). No coverage number above is a guess; each is a row count printed by the parser on the raw file.
3. Feasibility assessment per phase
- Historical panel (Seshat) — feasible. D-candidates:
polity_population,polity_territory,population_of_the_largest_settlement,settlement_hierarchy,administrative_level,military_level,religious_level. K-candidates:full_time_bureaucrat,examination_system,merit_promotion,specialized_government_building,formal_legal_code,judge,court,professional_lawyer, writing/records (written_record,script,lists_tables_and_classification,calendar,practical_literature…), communication (courier,postal_station,general_postal_service,road,bridge,canal,port), money (token,precious_metal,foreign_coin,indigenous_coin,paper_currency), standards (*_measurement_system). Temporal resolution is per fact (year_from/year_to), so the panel must be built on observed dates, not interpolated. Outcome Y: CrisisDB crisis consequences (independent coding: decline, collapse, civil_war, uprising, fragmentation, conquest, …) covers 150 polities only → the H2 event-risk test will have a small-N outcome; polity end/transition (polity_succeeding_entity, end_year, relationship to preceding entity) is a second, larger but less independent outcome. - Ethnographic cross-section (D-PLACE EA) — feasible for H1-type scale/organization associations with Galton controls (language family, region). No time dimension.
- Modern panel (V-Dem + Maddison) — feasible as a separate, modern replication panel (country-year); the mandate forbids mapping it onto ancient polities and forbids using democracy indices as capacity.
- Simulations — feasible locally (networkx + numpy); sweeps can be parallelised on the cluster if needed.
- Paper — latexmk + UQO template available.
4. Risks identified before pre-registration
- Small outcome N in CrisisDB (150 polities, with 42 regions) → low power; pre-register a minimum-detectable-effect statement and treat the test as confirmatory only for the primary outcome.
- Overlap between D and K indicators and Seshat's own aggregate complexity characteristics (Turchin et al. 2018 PC1): D and K will be built from disjoint indicator sets fixed in the pre-registration.
- Reverse causality: crisis coding may inform the coding of institutions in the same period → use lagged predictors with observed dates and exclude facts dated inside the crisis window.
- Uncertainty:
value_from/value_to,year_from/year_to,is_uncertain,is_disputedmust be carried through (interval midpoints + bounds as sensitivity). - Licence: D-PLACE is BY-NC (academic use OK, no redistribution of raw data); V-Dem/Seshat raw files not redistributed in the repo.
Decision: proceed to Phase 1 (literature + pre-registration) without computing any D/K-outcome association.