# Study C: executive interpretation and corporate end-games

Published as [`site/studies/executive-endgames.html`](../../../../site/studies/executive-endgames.html).

A fictional startup (Velliton) pitches deterministic simulation for warehouse-robotics
software to a fictional freight operator (Brenmoor Freight Systems). Five stakeholders,
each with a goal, private knowledge and decision rights, deliberate through the
company-2026 world's `mail` and `docs` services until a proposal is ratified under
[`scripts/society/institution.py`](../../../../scripts/society/institution.py) or ten
simulated weeks pass. Arms change only the pitch's positioning: `enterprise`,
`research`, `upside`, and `enterprise-replicate` (the enterprise pitch with independent
model samples, the negative control). Every company, person and figure is fictional;
model rationales are simulated hypotheses, not observations of anyone.

| File | What it is |
|---|---|
| `spec.json`, `spec-busy.json` | The society specs (plus `institution` and `study` blocks); the busy variant sets availability 0.6 |
| `preregistration.json` | Outcome, contrasts, test, seeds and budget, committed before the final run |
| `run.py` | Runs every seed and arm; `--offline` replays from the journal, `--expect` checks hashes |
| `analyze.py` | Traces to `results.json`, `tree.json`, `runs.csv` |
| `build_page.py` | Results to the page and `site/data/studies/executive-endgames/trajectories.json`; `--check` |
| `check_page.mjs` | Playwright: layout at desktop and phone width, the tree, links, no-JS fallback |
| `results/main/`, `results/busy/` | Journals, per-run traces (`seed-<n>/<arm>.jsonl`), summaries and results |

```sh
S=research/studies/market-perception/executive-endgames
.venv/bin/python $S/run.py --out target/research/ee-replay --journal $S/results/main/journal.jsonl \
    --offline --expect $S/results/main/summary.json          # replay: identical, no model calls
.venv/bin/python $S/analyze.py $S/results/main
.venv/bin/python $S/analyze.py $S/results/busy --spec $S/spec-busy.json
python3 $S/build_page.py --check
.venv/bin/python $S/run.py --out target/research/ee-new --max-calls 1800   # new samples; needs DEEPSEEK_API_KEY
```

Main run: 30 seeds × 4 arms, 1,211 `deepseek-flash` calls, 3,109,403 prompt and
1,419,498 completion tokens, 636.5 s. Sensitivity run: 10 seeds × 3 arms, 296 calls,
201.9 s. The offline replay of the main run takes 1,211 journal hits and no calls.
