I found that keeping track of useful functions and “agents” with a launch script for them works well. Next time, I will remove legacy stuff as we make our way. Otherwise, it just gets confusing.
Be a pal and share this blog.
# Shell menu audit — one item at a time
**Purpose.** Jim and Buddy review every menu item in the bash consoles before changing scripts. No bulk deletes. Each entry gets a verdict; we agree, then move to the next.
**Rules**
1. Add **one main-menu item** per review pass (submenus get their own pass later).
2. Verdict must be one of: **KEEP** | **REDUNDANT** | **INVALID** | **BROKEN** | **DEFER**.
3. **REDUNDANT** = another menu item or script already does this job.
4. **INVALID** = wrong port, wrong tree, obsolete workflow, or contradicts `5.4.md`.
5. **BROKEN** = invokes a missing path or known-failing target today.
6. Do not edit `.sh` files from this document until Jim says **engage** on that item.
**Port spine (reference)**
| Port | Role |
|------|------|
| 1488 | Trader live |
| 1489 | Trader training |
| 1491 | MikeCamera training API |
| 1492 | MikeCamera Gradio (default) |
| 1493 | MikeCamera live API |
| 1494 | MikeCamera live Gradio (intended) |
| 1495 | Trader Watch |
| 1496 | Cycle summary |
**Audit queue (scripts — not started until Sergeant main menu is done)**
1. `sergeant_mike_unit_updated.sh` — **in progress** (MikeCamera primary console)
2. `learning_menu_sergeant.sh` (MikeCamera)
3. `corporal_trainer.sh`
4. `trader_mike/training_sergeant.sh`
5. `trader_mike/sergeant_mike_unit_training.sh`
6. `trader_mike/learning_menu.sh`
7. `trader_mike/learning_menu_sergeant.sh`
**Jim’s prior guess:** ~40% of items across all menus may be REDUNDANT or INVALID.
---
## Source: `sergeant_mike_unit_updated.sh` — main menu
Script: `mikecamera/mikecamera/sergeant_mike_unit_updated.sh`
Last menu read: 2026-05-21 (lines ~1037–1070).
---
### Item 0 — `Build Total Vocab.json`
| Field | Value |
|-------|--------|
| **Menu label** | `0) Build Total Vocab.json (preload training batch vocab before option 1)` |
| **Handler** | `build_total_vocab` → `prepare_total_vocab.py` on `mike_camera_model/` |
| **What it does** | Interactive rebuild of `vocab.json`: optional QA prompts ingest, training text path, writes vocab under model dir before deploy/load |
| **Typical use** | Cold start or deliberate vocab reset **before** option 1 deploy — predates per-step vocab growth on Sergeant |
| **Overlaps with** | Per-step `_grow_standby_vocab_from_pending` during HTTP training (`5.4` § 2026-04-09); Sugar / `learning_mike` OOV growth at train time |
| **Still needed?** | **Rarely** for day-to-day training once growth-on is healthy; still useful for intentional full rebuild or disaster recovery |
| **Risk if removed** | Lose explicit “reset vocab from corpus files” path without using tire_fire or manual Python |
| **Verdict** | **DEFER** → lean **KEEP** as advanced/rare ops, but **demote** in menu (not top line 0) after Jim confirms he never uses cold rebuild |
| **Buddy notes** | Not INVALID or BROKEN if `prepare_total_vocab.py` exists. Not REDUNDANT with daily training, but overlaps philosophically with runtime growth. Jim: do you still run this, or has per-step growth replaced it entirely? |
**Review status:** ☐ Jim confirmed ☐ Verdict locked
**Next item when ready:** **1) Deploy Sergeant Mike (1491)**
---
*Add the next section only after Item 0 is reviewed together.*
---
## Step 8 dialog (Trader 1488 ↔ MikeCamera 1491) — **implemented 2026-05-21**
**Flow** (`trader_mike/step8_mikecamera_dialog.py`):
1. Trader Mike — cycle analysis (prompt one; from summary)
2. MikeCamera `/query`
3. Trader Mike `/query`
4. MikeCamera `/query`
5. Trader Mike `/query` — ends with **Good bye.**
6. MikeCamera `/query` — ends with **good bye.**
Config: `localmike.cycle_summary` → `dialog_trader_farewell`, `dialog_camera_farewell`, mid/farewell instruction keys.
Backups: `bak_files/step8_mikecamera_dialog.py.bak-20260521-six-turn`, `config_backups/trader_mike_config.bak-20260521-six-turn-dialog.json`
---


