feat: update ctm-token-calculator to use Mercury and notebook deliverables

Replace Streamlit and JupyterLab commands with Mercury for serving interactive
notebooks as web apps. Update README to reflect new architecture where
notebooks are the primary deliverables, utilizing Mercury input widgets for
live client tuning. Add export_report.py script to generate LLM-readable
HTML/Markdown reports from the notebooks. Update corrected business case
notebook to include Mercury dependency and usage instructions.
This commit is contained in:
2026-07-07 17:04:53 -04:00
parent 0fa2091a25
commit c187bde188
10 changed files with 2970 additions and 1174 deletions

View File

@@ -4,9 +4,9 @@ kept verbatim, with the costs the deck omitted: AI Experience token
consumption, AI implementation effort (V2 LoE), and double-billing of
the existing platforms until their term contracts end.
Single source of truth shared by the notebook
(``notebooks/ctm_business_case_corrected.ipynb``) and the Streamlit
"Corrected Business Case" view — presentation layers hold no math.
Single source of truth behind the deliverable notebook
(``notebooks/ctm_business_case_corrected.ipynb``, served with
Mercury) — the presentation layer holds no math.
Sources: ``docs/Appendix 4 - CCaaS Platform Benefit Calculations
(Consolidated).pptx`` (verbatim figures, deployment schedule) and
@@ -370,7 +370,7 @@ AI_IMPL_HOURS: dict[str, tuple[float, float]] = {
"STA": (800, 1_200), # topics, programs, tuning × 7 languages
"Supervisor Copilot": (200, 400),
"Predictive Routing": (400, 700),
"Cross-cutting": (1_000, 1_800), # governance, PM, test env, integration
"Cross-cutting (PM, governance, testing, integration)": (1_000, 1_800),
}
KB_READINESS_HOURS = (500, 1_500) # prerequisite project — flagged separately
STEADY_STATE_HOURS = (500, 900) # absolute h/yr, 2027-2028
@@ -387,7 +387,7 @@ def impl_feature_regions(copilot_includes_asia: bool = False) -> dict[str, list[
"STA": list(REGIONS),
"Supervisor Copilot": ["NA", "ANZ", "EMEA"], # deck: $0 SupCopilot in ASIA
"Predictive Routing": list(REGIONS),
"Cross-cutting": list(REGIONS),
"Cross-cutting (PM, governance, testing, integration)": list(REGIONS),
}