studies/202512_GenesysCX -> studies/202512_TEI_Genesys_CX_Cloud,
rebuilt as pattern Variant 4 (TEI composite reproduction):
- teicalc/ self-contained engine: Forrester's tables as the never-edited
verbatim anchor (incl. the p.14 typo note and the $0 AI-token line),
generic model/scenarios/staging carried over from the Amazon Connect
study, ClientDrivers overlay (agents / weekly interactions / revenue,
flat composite so no growth re-base) with ai_tokens_annual as a direct
input for the token line the published study models at $0
- one deliverable notebook (business_case.ipynb): widget-pair sidebar
drivers incl. the AI-token price, published-vs-overlay KPI columns,
cash-flow/waterfall/scenario charts, verification gate, backstage JSON
data appendix
- gate + tests reproduce the published totals within $2: NPV $10.8M /
ROI 266% (engine $10,783,466 / 265.79%; payback 3.3 months, not
headlined in the PDF); 29 study tests, headless nbconvert green,
stage simulation leak-free, exports carry the appendix
- old Athena workflow (00_provision..04_export, config.py, seed_data.py,
PALLADIUM_GENESYSCX_* keys, ATHENA_EXPECTED reconciliation) deleted;
git history preserves it
With the last legacy study migrated, the retirement lands too:
- app/ (Streamlit UI) and core/notebook_helpers deleted; nothing else
imported them
- streamlit stripped from pyproject extras, requirements.txt, Makefile;
.env.example reduced to the Athena keys; 00_setup.ipynb and
core/bootstrap.py repointed at the pattern studies
- root README reworked: self-contained studies + slim core/ Athena
toolkit (tei_client, calculations, export, cli)
All suites green: Genesys 29, Amazon Connect 27, CTM 55, template 7,
root 58.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Reorganize Palladium codebase into a modular architecture with `core/`
shared logic and `app/` Streamlit UI, separating per-study assets into
`studies/YYYYMM_<Vendor>/` folders containing notebooks, seed data, and
configuration. Update README to reflect new structure, add `.gitignore`
entries for `.env` and study exports, and refresh component documentation.