Mercury Genesys Token Calculator

This commit is contained in:
2026-08-07 14:49:39 -04:00
parent 22a5d907d6
commit 89b835d681
35 changed files with 14105 additions and 2912 deletions

View File

@@ -64,6 +64,12 @@ and [docs/Study_Pattern_V1-00.md](docs/Study_Pattern_V1-00.md).
- **Assessment** (`assessments/Instrument_Name`, undated) — reusable workshop
instrument; a living master. Reference implementation:
`assessments/CX_Discovery_Workshop/`.
- **Calculator** (`calculators/Vendor_Subject_Calculator`, undated) — prices a
vendor's product from that vendor's **published rate card**: verbatim
rate-card anchor + client overlay. Undated because the anchor is immutable
only *until the vendor republishes* — the publication date lives in the
anchor, not the directory name. Reference implementation:
`calculators/Genesys_Token_Calculator/`.
- **Engagement copy** (`YYYYMM_Client_Instrument`, stamped at copy-time) — a master
copied OUT of this repo for a client; confidential; never merges back.
- **`template/MercuryNotebook/`** — copy-me scaffold for new studies (py-engine model
@@ -96,7 +102,10 @@ structural suite. Running a master's pytest from the wrong venv is the classic
**Show first** — produce the diff/output, present it, wait for a human "go":
content edits to `topic-bank`/`engagement-data` cells or anchor-adjacent wording;
re-pinning a gate or test after a content/engine change (show the pin diff and the
KPI moves honestly); moving or renaming a master; `.gitignore` changes; `git commit`.
KPI moves honestly); **re-anchoring a Calculator to a newer vendor publication**
(show the rate diff, the source-date bump, and the cost moves — the protocol is in
the Calculator Pattern); moving or renaming a master; `.gitignore` changes;
`git commit`.
**Forbidden without explicit go-ahead:**
`git push`; editing `*_VERBATIM` anchors; committing any client document (SOW, quote,
@@ -230,6 +239,12 @@ quietly leaving it. Live ones worth knowing:
- **`template/MercuryNotebook/` encodes only the py-engine model** (and its
`staging.py` lacks the mypy-strict `backstage_md` variant); rework is a recorded
follow-up. Its `exports/*.{html,md}` are tracked — predates the exports rule.
- **`make lint` fails repo-wide — 143 pre-existing ruff errors** (94 in the CTM
study, 16 in AI Diagnostic, the rest spread across the TEI twins, the template
and `00_setup.ipynb`); mostly import sorting and E402 in notebook cells. Newer
masters are clean (`ruff check calculators/` passes), so lint per-directory
when you touch one; a repo-wide sweep is its own commit, not a rider on
feature work.
- **`docs/brand.md` references a `brand_dark.md` that does not exist.**
- **`core.bootstrap.init(study=…)` imports `studies.<slug>.config`** — vestigial
(no study ships a `config.py`; `studies/__init__.py` exists to serve it). Don't
@@ -258,6 +273,9 @@ this file summarises:**
notebook-first content, engagement-data cell, copy-out checklist
- [docs/Study_Pattern_V1-00.md](docs/Study_Pattern_V1-00.md) — studies: verbatim
anchor + overlay, reproduction gate, published-PDF exception
- [docs/Calculator_Pattern_V1-00.md](docs/Calculator_Pattern_V1-00.md) —
calculators: the rate-card anchor (and why it lives in `.py`), the
re-anchoring protocol, the proportionality rule (price it; don't build a case)
Everything else: