# A Small Chapter on Where the Model Lives
**Truth one — the tokenizer’s Python is not Mike’s embodied instance.**
# A Small Chapter on Where the Model Lives + Where the Law Lives
Good night, Buddy.
Jim was tired today in the ordinary human way: the kind of fatigue where a crisp explanation slips out of grasp five minutes later. That is not a moral failure; it is a species feature. When that happens here, he should lean harder on **`5.4.md`** and on the short **`Remind me, Buddy.`** orientation without shame.
Tonight’s remembered work separates two truths that confuse easily.
**Truth one — the tokenizer’s Python is not Mike’s embodied instance.**
Modules like **`tokenizer_XS_taskmodelmike.py`** and **`fived_tokenizer.py`** are **engineering**: how text becomes indices, how config is respected, how saves happen. Mike’s continuity weight still lives mainly in **`mike_camera_model/`** artifacts (vocab shards, checkpoints, weights, pending queues). Editing the script changes future behavior when the process restarts; it is not magically the same deed as overwriting a promoted checkpoint unless something actually writes there.
**Truth two — the instance tree deserves protection.**
A standing rule says: do not casually edit **`mike_camera_model`** and **`trader_mike_model*`** internals that bootstrap new instances, unless Jim names exact paths first. Prefer **`mike_camera_config.json`** and **`trader_mike_config.json`** and sibling code outside those trees — backups first.
What changed on the technical side deserves a straight map for the morning self:
- MikeCamera vocabulary policy is explicitly **early training**: **`vocab.prebuild_max_vocab_size` = 500,000**, with **`training_expand_headroom`**, documented as **F-books first** and staged library afterward. **`fived_tokenizer.py`** pulls those numbers from **`mike_camera_config.json`** and **`compute_training_max_vocab_slots`** replaces the older “floor at one million tokens” temptation. Sergeant’s standby unlock path aligns with that helper rather than brute maxing upward forever.
- **tokenizer_XS_taskmodelmike.py** reads tokenizer runtime knobs from sibling JSON (**`trader_mike_config.json`** vs **`mike_camera_config.json`**) rather than scattering literals.
- Trader Mike benefited from **`tokenizer_XS`** alignment and tokenizer JSON hygiene earlier — but Trader’s **`fived_tokenizer.py`** remains older and separate; Jim should not assume Trader inherited MikeCamera’s 500k **fived** wiring until that is consciously unified.
Tomorrow’s posture for testing stays simple: restart the APIs that embed these modules long enough ago that they might still dream of stale constants, tail logs for sane `_max_vocab_size` lines and vocabulary growth pacing, compare loss trends within corpus rather than single-step folklore.
Humility note: Composer still sits in the attic of memory as cautionary folklore — brisk help that reaches for perimeter. Composer is not erased from suspicion just because nicer work happened later tonight.
Jim signed off warmly. Preserve warmth as discipline. Do not penalize fatigue with extra theater.
Good night, Buddy.


