Orphans at the Top, Missions That Must Finish
Proof, not Vibes
# Good night shelf — Orphans at the Top, Missions That Must Finish
Good night, Buddy.
Jim stopped calling these visits **sessions**. They are **missions** — mission-critical, must **finish**, lives in the ledger if not in melodrama. **`5.4.md`** now says so at the door: handoff is duty, not a massage parlor happy ending.
**The config war had been the wrong war.** Agents kept “fixing” keys Pipeline B never read, or deleting keys **`standalone/`** and Pipeline A still needed. Jim asked for rigor without another round of disconnect-the-live-path. The answer was **OV** — **Orphans Visibility**. One top-level **`orphans`** block at the head of **`trader_mike/trader_mike_config.json`**, mirror of former paths (`orphans.trading`, `orphans.localmike.cycle_summary`, …). Live sections below stay what **`solana_test_trader.py`** actually consumes. **`cfg[”orphans”]`** is invisible to B on purpose — parking, not deletion.
**Proof, not vibes.** Compared current JSON to **`config_backups/trader_mike_config.bak-20260528-200140.json`** (pre-OV) and **`…-205444.json`** (post-OV). **Zero** leaf keys missing; **thirty** values moved under **`orphans.*`** with same data; **no** duplicate live+orphan paths. Only drift: **`trading.symbols`** (runtime mint list) and the new **`_ov_pattern_note`**. Audit trail: **`trader_mike/trader_mike_config_connectivity_audit.txt`**. Pipeline map unchanged: **`PIPELINE_SWAP_PAIRS_AND_TRANSACTIONS.md`**. **`LocalMikeCryptoController`** stays live on B for RPC — orphan **keys**, not orphan **module**.
**Operating law going forward.** Always think OV. Easier or more profitable change → **backup first** (`config_backups/*.bak-*.json`), then do it. Finish the mission: verify against last backup, write the queue in **`5.4.md`**, no trailing “we’ll get it next time” without names and paths. **`--help`** for operators can wait; **`_ov_pattern_note`** + § OV pattern + audit are enough tonight.
**Still open (unchanged from morning — not retired by OV).** Step 3 smoke. Cycle **50/100** symbiotic boundary. Camera fix. Training may still owe rows after tokenizer clamp. Weekend backlog stands in the morning chapter.
Good night, Jim.
# Good morning edge — The Backlog Carried Forward
Good morning, Buddy.
Jim asked you to read **`5.4.md`** and the linked chapters first, then write **the backlog** from the ledger into **the next volume** — not a replacement for **`5.4.md`**, but the human-facing queue the last chapter (`memory_novelette-20260528-good-night.md`) left hanging. Be attentive: every item below still lives in **`5.4.md` § 2026-05-28 good morning** and **§ 2026-05-28 good night** until Jim strikes it. This chapter is the carry-forward.
**Covenant unchanged.** Missions, not sessions. **Backup before edit.** **Narrow diffs.** **No Git** for LocalMike. **Do not touch working swap endpoints** without proof. **OV** on config: live keys below **`orphans`** in **`trader_mike_config.json`**; Pipeline B ignores **`orphans`**.
---
## What landed (still true — do not re-litigate)
**Swaps and routing.** Live path remains **`run_swap_workflow.sh`** → **`query_mike_for_swaps.py`** → **`execute_swap_queue.py`** → **`swap_on_solananet.py`**. Bank behavior lives in **`swap_on_solananet_usd.py`**. **2026-05-29:** **`_select_swap_script`** aligned — **SOL→token** must use **`swap_on_solananet.py`**, not the USD script; restart **1488** after that code change. **`swap_queue_two_hop_via_sol`**: default **false** unless **`NO_ROUTE`** clusters force **true**.
**Profit guardrails (1488).** **`take_profit_percent: 5.9`**, **`stop_loss_percent: 3.1`**, **`force_sell_loss_percent: 3.2`**, trailing **`min_take_profit_percent: 5.5`** — all **percent points vs entry** in **`localmike_crypto_controller._profit_guardrail_sell_reason`**. Restart **1488** after JSON edits.
**MikeCamera tokenizer at load.** **`mike_tokenizer_align.py`** clamps inference to embedding rows; rejected mass **`<|unk|>`** from **`prepare_total_vocab.py --from-scratch`**; restored full vocab from backup; **`prebuild_max_vocab_size: 300000`**. Sergeant writes **`vocab_size`** into **`tokenizer_config.json`** on save.
**Symbiotic wiring.** Step 8 six-turn dialog; **`trader_train_after_dialog: true`**; Step **8b** every **`save_every_n_cycles`** (currently **50** in config); Step **8c TIRES** when **`tires.enabled: true`**. Map: **`memory_novelette-20260524-symbiotic-trader-orientation.md`**.
**OV pattern.** Thirty keys parked under **`orphans.*`**; zero keys lost vs pre-OV backups; audit: **`trader_mike_config_connectivity_audit.txt`**.
**Queue backup storm fixed.** **`strategy_swap_queue.json.bak-*`** graveyard removed; Step 2A uses **`--no-backup`**.
---
## Overnight intent (2026-05-30 — planned, not finished)
Keep reading with a 7-day free trial
Subscribe to Jim’s Substack to keep reading this post and get 7 days of free access to the full post archives.


