03 — phases, measured outcomes, risks & open questions #

7. phases #

phase where what exit criterion
0 laptop, desktop baseline runs + hardware constants (§6.2–6.3) numbers for SSD GB/s, compute ceiling, thermal sag, per-turn time
1 Colab traces, replayer, prune variants, quality evals, MoCE closed loop, SCR staleness (§6.1) quality vs K table, misses vs (K, λ, policy, cache size) table
2 local latency model = phase 1 misses × phase 0 constants. pick K, λ, policies. validate top 2–3 on the Air chosen config hits the turn-time bar
3 Colab or rented GPU data gen (persona + abstention), healing + persona LoRA on dense/router/shared with experts frozen, merge, quantize dense only, transplant into the pruned Swift GGUF evals ≥ the untuned pruned model on agent tasks; fabrication down; persona score up
4 same slop mining on tuned outputs vs dawn's text → FTPO slop rate down, no eval regression
5 local, ongoing runtime squeeze (§2.5 table), each technique A/B'd with its exactness class written down —

7.1 measured outcomes & finalist decision (phases 0, 1a, 1b, 1c, 2) #

  1. phase 0 (13" M5 Air 24 GB / 1 TB SSD hardware measurements, bench/README.md):

    • iostat -Id verified 100% physical NVMe reads (disk0 delta == 100% of requested MiB on 1 GiB virgin slices of a 12 GiB file): 2.41 GB/s (1-thread standard GGUF), 3.90 GB/s (1-thread .experts), 6.80 GB/s (2–4 thread pread fan-out).
    • M5 10-core GPU sustained FP16 GEMM: 14.07 TFLOP/s (356 tok/s compute ceiling) with 0.86% thermal sag over 60s continuous load (14.00 -> 13.88 TFLOP/s).
  2. phase 1a (131,072-token multi-domain REAP calibration + 8,192-token OOS verification, results/reap_saliency_v2.json, results/oos_prune_retention.json):

    • 99.97% expert coverage (1,310,720 picks/layer, 0 dead 0-hit experts kept across all 9 keep-maps after the zero-prior damped LCB fix).
    • REAP L2 retention orders reap_l2_sum > reap_hybrid > reap_shrink at every K ∈ {320, 256, 224} both in-sample (91.76% / 85.28% / 81.11% for reap_l2_sum) and out-of-sample on 8,192 strictly held-out tokens (87.18% / 79.71% / 75.27% for reap_l2_sum, 86.54% / 78.16% / 72.98% for reap_hybrid).
  3. phase 1b (240-config in-sample + OOS closed-loop MoCE & cache replay, results/phase1b_heldout_cache_moce_sweep.json):

    • OOS baseline cache hit rate matches in-sample within 0.05% (82.32% OOS vs 82.37% in-sample on K512 LRU).
    • on the M5 Air (cache_cap = 113 experts/layer = 7.5 GB in Q2_0), lru + closed-loop MoCE (λ = 0.09, protect_top_j = 3) beats every other tested online eviction policy at λ = 0.09 (near_pick_ema, ema, inverse_router_ema, lfu; belady_min is the offline future-oracle ceiling), cutting OOS misses/token from 84.84 (K512 LRU λ = 0) to 53.95 (K320_reap_hybrid, 88.76% hit rate, 32.1–43.5 tok/s decode), 56.29 (K320_reap_l2_sum, 88.27% hit rate, 31.3–42.7 tok/s decode), and 44.65 (K256_reap_l2_sum, 90.70% hit rate, 35.9–47.4 tok/s decode — lower than unpruned no-MoCE Belady's MIN oracle 46.13 by combining pruning + closed-loop routing bias). (Note: Tier-1 KLD/top-1 and Tier-2 below were evaluated at λ = 0 standard routing; the quality impact of λ = 0.09 MoCE routing bias is evaluated during Phase 5 runtime integration.)
  4. phase 1c (Tier-1 KLD + Top-1 screen & Tier-2 20-task behavioral smoke suite, results/phase1c_kld_results.json, results/phase1c_tier2_results.json, audits/opus_audit_phase1c.md, audits/opus_audit_phase1c_v2.md):

    • at K = 320 (13.73 GB non-resident Q2_0, 302.9 tok/s 4K cold prefill): K320_reap_hybrid (0.3941 macro KLD, 83.20% top-1 agreement) and K320_reap_l2_sum (0.4178 macro KLD, 82.35% top-1 agreement) are statistically tied on ops_tools (0.600 vs 0.627, z = -0.77 ns) and chat_json (0.305 vs 0.304, z = +0.07 ns), with K320_reap_hybrid marginally ahead on ja (0.277 vs 0.323, z = -2.63).
    • at K = 256 (9.49 GB non-resident Q2_0, 317.5 tok/s 4K cold prefill): K256_reap_l2_sum (0.5642 macro KLD, 79.76% top-1) decisively beats K256_reap_hybrid (0.7485 macro KLD; ops_tools z = -8.67, ja z = -3.48). against K256_reap_shrink (0.6069 macro KLD), K256_reap_shrink has lower ops_tools KLD (0.796 vs 0.895, z = +2.27) while K256_reap_l2_sum wins ja (0.350 vs 0.520, z = -8.03), chat_json (0.447 vs 0.504, z = -2.17), and ops_tools top-1 (76.64% vs 76.37%).
    • at K = 224 (7.36 GB non-resident Q2_0): K224_reap_l2_sum (0.6667 macro KLD, 77.62% top-1) degrades significantly vs K256_reap_l2_sum on both ops_tools (z = -3.94) and ja (z = -3.92).
    • Tier-2 20-task smoke suite (v1_run_rescored_ja_trunc_only, n = 1 seed at max_tokens = 2048): all pruned variants score 18–19/20 (90–95%) vs 20/20 unpruned (pairwise Fisher exact p >= 0.23, so Tier-2 is a non-regression smoke check with no pairwise ranking power; 4 of the 7 pruned failures are 2048-token cap truncations).
    • finalist checkpoints uploaded to 90-008/Swift-1.5-Qwen3.8-Flash-Next-REAP-Pruned-GGUF:
      1. K320_reap_hybrid (and K320_reap_l2_sum keep-map): primary quality finalist (0.394 macro KLD, 83.2% top-1, 2.74s 256-tok cold prefill floor, 32.1–43.5 tok/s warm decode w/ lru+MoCE on M5 Air).
      2. K256_reap_l2_sum: primary speed/50%-pruned finalist (0.564 macro KLD, 79.8% top-1, 2.11s 256-tok cold prefill floor, 35.9–47.4 tok/s warm decode w/ lru+MoCE on M5 Air, fits in a single 80 GB A100 in int8 for Phase 3 LoRA healing without expert streaming).
      3. K224_reap_l2_sum: lower-bound size reference (7.36 GB non-resident, 39.6–51.0 tok/s warm decode).
  5. phase 0 + phase 2 local validation on 13" M5 Air 24 GB (results/phase0_phase2_m5_validation.json, scripts/patch_strata_metal.py, scripts/prepare_strata_k256.py, audits/opus_audit_phase0_2_m5.md, audits/opus_audit_phase0_2_m5_v2.md, audits/opus_audit_phase0_2_m5_v3.md, audits/opus_audit_phase0_2_m5_v4.md):

    • all 22 archived runs (5 Strata speed + 9 Strata teacher-forced KLD + 4 patched llama.cpp + 4 unpatched llama.cpp) guarded by a 0.25s vm_stat + iostat -Id watchdog (min_avail_gib = 2.2 GiB, max_swapout_delta_mib = 64.0 MiB, 0.0 MiB swapouts across all 22 runs):
    • upstream llama.cpp (llama-cli chat mode, -ngl 99 -cmoe -nr -lzm on -n 64) on K256_reap_l2_sum: 1.40 tok/s decode (105,851.73 MB whole-run disk0 read at -ub 1024 and 85,725.73 MB at -ub 2048 across load + prompt + -n 64 generation), 14.30 tok/s prefill at -ub 1024 and 21.70 tok/s at -ub 2048 on data/m5_val_prompts/llama_prompt_1264tok.txt (5,600 bytes).
    • patched llama.cpp (llama-completion -no-cnv -t 8, scripts/patch_m5_lazy_moe.py): 3.22 tok/s decode on the 22-token prompt (33,428.34 MB whole-run disk0 read across load + 22 prompt + 63 decode tokens), 38.11 tok/s prefill at -ub 1024 (46,808.58 MB whole-run disk0, hitting EOS after prefill with 0 decode tokens) and 63.27 tok/s at -ub 2048 (28,272.94 MB whole-run disk0, prefill only) on data/m5_val_prompts/llama_prompt_1264tok.txt (not a like-for-like disk0 / decode comparison against unpatched llama-cli chat mode), while --moe-cache-mib 1536 degrades to 0.28 tok/s.
    • optimized Strata Metal engine (vendor/strata/build-metal/strata_window_cli, uniform 3.40 GB arena across all 14 Strata runs, K256-q2_0-metal.gguf + K256-expert-profile.bin + PleTable Direct I/O):
      • startup + arena warm-fill: 424.45–504.58 ms across the MOCE=0.85 speed runs (424.45–506.90 ms across all 14 Strata runs in results/phase0_phase2_m5_validation.json; 339.50–356.06 ms in audits/opus_audit_phase0_2_m5_v3.md) window init + 0.6–1.3s (2.69–5.92 GB/s across the 10 Q2_0 runs, 3.98–5.04 GB/s across the 4 IQ3_S runs) STRP profile fill (2,441 resident expert slots in 1 unified Q2_0 size class vs 1,550 slots / 1,440 filled in 3 classes on IQ3_S in the same 3.40 GB arena; 2.90 GB active GPU dense weights mlocked, 0.34 GB CPU token_embd + 1.28 GB skipped BF16 hc_* unpinned in the 4.53 GB file map, 0.0 MiB swapouts).
      • cold prompt prefill (Metal 4 matmul2d neural accelerators + QSA flash + router GEMM over n_exp_ = 256): 320.58 tok/s (3,194.19 ms) at 1,024 tokens and 353.49 tok/s (5,793.65 ms) at 2,048 tokens in the earlier v3 pass (audits/opus_audit_phase0_2_m5_v3.md), and 229.99 tok/s (4,452.38 ms) at 1,024 tokens and 268.23 tok/s (7,635.20 ms) at 2,048 tokens in results/phase0_phase2_m5_validation.json ([hypothesis: passive SoC thermal throttling + concurrent background CPU load]), with 1.36 GB transient prompt scratch mmapped without memset and cx_->freed + munmapped immediately after prefill (phys_footprint 4.73 -> 4.68 GB, resident RSS 7.41 -> 7.36 GB).
      • steady-state decode progression on the 43-token SQLite WAL prompt (n_gen = 64, 63 decode steps, uniform 3.40 GB arena):
        • K256-metal.gguf (IQ3_S/IQ4_NL mixed, 3 size classes, 1,550 slots, MOCE=0.0): 4.88 tok/s (205.02 ms/tok), 77.32% combined hit rate (52.62% arena + 24.70% read-ahead, 108.9 misses/tok, 585.2 MB/tok SSD read).
        • K256-q2_0-metal.gguf (uniform Q2_0, 1 size class, 2,441 slots, MOCE=0.0): 6.32 tok/s (158.22 ms/tok; 9.51 tok/s in audits/opus_audit_phase0_2_m5_v3.md), 82.44% combined hit rate (63.86% arena + 18.58% read-ahead, 84.3 misses/tok, 304.5 MB/tok SSD read).
        • K256-q2_0-metal.gguf (uniform Q2_0, 1 size class, 2,441 slots, MOCE=0.85): 8.04 tok/s (124.31 ms/tok: 34.15 ms wait + 88.35 ms GPU; 13.52 tok/s with 16.11 ms wait + 56.29 ms GPU in audits/opus_audit_phase0_2_m5_v3.md), 91.48% combined hit rate (82.34% arena + 9.14% read-ahead, 40.9 misses/tok = −51.5% vs Q2_0 MOCE=0.0 and −62.4% vs IQ3_S MOCE=0.0, 127.2 MB/tok SSD read).
      • steady-state decode after long prompts (K256-q2_0-metal.gguf, MOCE=0.85, 3.40 GB arena, results/phase0_phase2_m5_validation.json): 9.33 tok/s (107.20 ms/tok: 30.78 ms wait + 73.87 ms GPU) after 1,024-token prefill (92.63% combined hit rate: 84.38% arena + 8.25% read-ahead, 35.4 misses/tok, 115.3 MB/tok SSD read) and 8.37 tok/s (119.51 ms/tok: 24.38 ms wait + 92.44 ms GPU) after 2,048-token prefill (93.84% combined hit rate: 86.70% arena + 7.14% read-ahead, 29.6 misses/tok, 97.2 MB/tok SSD read).
      • 3-domain teacher-forced full-vocabulary (248,320) FP64 KLD, PPL & top-1 quality decomposition on complete untruncated turns (n = 64 final assistant tokens × 1 complete turn/domain = 192 evaluated assistant tokens after n_prompt = 244 / 159 / 456 prompt tokens in data/m5_val_prompts/eval_tf_{ops_tools,chat_json,ja}.txt, scoring the final 64 visible JSON tokens on ops_tools and final <think> reasoning + </think> + complete visible JSON/Japanese output on chat_json and ja, with 0 <think> template tokens in any scored span, relative to the pruned K256_reap_l2_sum IQ3_S/IQ4_NL reference):
        • isolated MOCE=0.85 reranking (Q2_0 MOCE=0.85 vs Q2_0 MOCE=0.0): 0.0588 macro mean KLD (0.1477 ops_tools, 0.0052 chat_json, 0.0234 ja) and 96.88% macro top-1 agreement (92.19% ops_tools, 100.00% chat_json, 98.44% ja; PPL 3.6716 -> 4.1013 ops_tools, 1.1808 -> 1.1993 chat_json, 1.9031 -> 1.9188 ja).
        • unhealed IQ3_S/IQ4_NL -> Q2_0 expert conversion (Q2_0 MOCE=0.0 vs IQ3_S MOCE=0.0): 0.2032 macro mean KLD (0.4621 ops_tools, 0.0395 chat_json, 0.1081 ja) and 90.63% macro top-1 agreement (79.69% / 100.00% / 92.19%; PPL 2.6114 -> 3.6716 ops_tools, 1.1725 -> 1.1808 chat_json, 1.6488 -> 1.9031 ja), motivating Phase 3's LoRA healing against the deployed Q2_0 expert weights.
        • combined Q2_0 + MOCE=0.85 vs IQ3_S + MOCE=0.0: 0.2386 macro mean KLD (0.5640 ops_tools, 0.0406 chat_json, 0.1112 ja) and 89.58% macro top-1 agreement (76.56% / 100.00% / 92.19%; PPL 2.6114 -> 4.1013 ops_tools, 1.1725 -> 1.1993 chat_json, 1.6488 -> 1.9188 ja).
  6. phase 3 local healing, byte-level GGUF transplant & multi-prompt generalization on 13" M5 Air 24 GB (results/phase3_local_healing_validation.json, results/phase3_22win_kld_audit_v1.json, results/phase3_22win_kld_audit_v2.json, results/phase3_9prompt_speed_audit_v1.json, results/phase3_9prompt_speed_audit_v2.json, scripts/heal_k256_q2_0.cpp, scripts/run_phase3_local_healing.py, audits/opus_audit_phase3_local_v1.md, audits/opus_audit_phase3_local_v2.md):

    • Signed-d importance-weighted Lloyd-Max Q2_0 expert quantization + real-trace per-layer alpha_l calibration (T = 1,022, gamma = 0.00) + shared-expert ridge solver (blk.0..47.ffn_down_shexp.weight):
      • Unlocks the IEEE fp16 sign bit of d in GGML_TYPE_Q2_0 (type 42), weighting W_gate/W_up by tempered real activation RMS (E[mixed_d^2])^0.5 (beta = 0.50) and W_down by per-expert analytical fourth-root importance (sigma_g * sigma_u)^0.5 ~ (E[h_c^2])^0.25 (beta = 0.25 on W_down vs beta = 0.50 on W_gate/W_up) over the 1,022-token multi-domain calibration trace (data/m5_val_prompts/cal_disjoint_1024tok.txt; 0 16-gram overlap on scored spans across all 22 unseen windows and 3 canary windows; 18/22 unseen windows have 0 full-window context overlap, while 4 windows share prompt context: <tools> boilerplate in cj20_tool_5turn_t3/cj20_t3_answer_tool/cj03_toolcall and another turn of persona conversation 3 in persona3_t4).
      • Calibrates exact real-trace MSE scales alpha_l = <y_ref, y_q2> / ||y_q2||_2^2 (L0 = 1.308, L24 = 1.022, L47 = 1.121 vs unseen held-out oracle L0 = 1.337, L24 = 1.021, L47 = 1.134; only 2/48 layers worse than alpha = 1 on unseen data vs 22/48 for Gaussian v1, reducing unseen routed residual from 24.13% to 23.37%), solves ridge regression (46/48 layers full-rank 640/640; L0 rank 430, L2 rank 617; eta_shd = 0.15, ridge_rel = 6.0) on blk.0..47.ffn_down_shexp.weight (in-sample MoE MSE 19,061.40 -> 18,665.36 -> 18,460.89, -3.15% total: -2.08% from alpha_l + -1.10% from ridge after IQ4_NL requant; -0.9% LOBO CV, -0.46% on unseen dump), and transplants the 48 modified ffn_down_shexp tensors into K256-q2_0-healed-metal.gguf (1175 / 1223 other tensors bit-identical).
    • Full 22-window (2686-token) 4-stratum unseen KLD audit on v2 & v1 (results/phase3_22win_kld_audit_v1.json, results/phase3_22win_kld_audit_v2.json, audits/opus_audit_phase3_local_v2.md):
      • Across all 22 unseen windows (17 unused docs, 2686 scored tokens across ops, chat_json/tool, ja, persona), v2 healed Q2_0 beats unhealed Q2_0 in 20/22 windows at MOCE=0.0 (-28.55% [95% CI -33.5%, -23.2%] pooled KLD, 0.2029 -> 0.1450, +2.27 pt top-1, 85.22% -> 87.49%) and 21/22 windows at MOCE=0.85 (-26.98% [-32.0%, -22.1%] pooled KLD, 0.2123 -> 0.1550, +1.53 pt top-1, 85.55% -> 87.08%).
      • Comparing v2 vs v1 across the 22 windows: -5.08% [-10.8%, -0.1%] at MOCE=0.0 (0.1527 -> 0.1450), -3.26% [-7.6%, +0.4%] at MOCE=0.85 (0.1602 -> 0.1550), -3.51% [-8.8%, +1.5%] (n.s.) on the 18 context-clean windows (0.1522 -> 0.1469), and -16.53% [-28.3%, -4.4%] on isolated MoCE KLD (0.0389 -> 0.0325, 16/22 windows better). Per stratum (MOCE=0.0, unhealed -> v1 -> v2): ops 0.1650 -> 0.1199 -> 0.1077, chat_json 0.1554 -> 0.1243 -> 0.1130, persona 0.3576 -> 0.2637 -> 0.2527 (72.1% -> 78.4% -> 77.9% top-1), and ja 0.2374 -> 0.1723 -> 0.1796 (80.2% -> 85.0% -> 83.7% top-1, regressed slightly vs v1 because cal_disjoint_1024tok.txt had only ~160 ja tokens). On cj20_tool_5turn_t3 (which shares <tools> boilerplate in context), v2 is tied with unhealed at MOCE=0.0 (0.1444 vs 0.1440, vs 0.1783 in v1) and 0.1417 vs 0.1534 at MOCE=0.85.
      • On the 3-domain 192-token canary set (eval_tf_{ops_tools,chat_json,ja}.txt), v2 macro KLD drops by -23.08% (0.2032 -> 0.1563, vs v1's 0.1320, worse than v1 on the 192-token canary) at MOCE=0.0, -28.57% (0.2182 -> 0.1559, vs v1's 0.1365; ops_tools -29.74%, ja -36.84% with 93.75% top-1, chat_json 98.44% top-1) at MOCE=0.85, and -57.3% on isolated MOCE=0.85 (0.0616 -> 0.0263, vs v1's 0.0287).
    • 9-prompt diverse speed & hit-rate audit on v2 (results/phase3_9prompt_speed_audit_v2.json) + results/phase3_local_healing_validation.json speed suite:
      • Across the 9 diverse prompts (coldshift_ja2rust, ja_pedal_398, json_extract_163, math_43, ops_csharp_713, persona_458, prompt_1024tok_ops, prompt_43tok_wal, tool_multiturn_588), v2 at MOCE=0.85 achieves 92.96% mean combined hit rate (90.88% on multi-turn tool use to 95.60% on JSON extraction, 33.8 mean misses/tok vs 85.12% at MOCE=0.0; v1 was 93.27%, with persona_458 moving 93.04% -> 91.26%, 33.4 -> 41.9 misses/tok) and 9/9 bit-exact determinism across reps.
      • On results/phase3_local_healing_validation.json (3.40 GB arena, 0.0 MiB swapouts across all 27 runs), K256-q2_0-healed-metal.gguf (MOCE=0.85) runs at 284.31 / 324.59 tok/s prefill (1K / 2K) and 8.4 / 9.03 / 10.74 tok/s decode (90.93% / 92.13% / 92.55% combined hit rate, 43.6 / 37.8 / 35.7 misses/tok vs 84.7 at MOCE=0.0).
  7. phase 4 (#97) WFLD Layer-47 anti-slop + phase 5 (#98) Strata Metal v3 runtime optimization on 13" M5 Air 24 GB (results/phase4_colab_validation.json, results/phase4_healed_persona_ftpo_writers.bin, scripts/solve_phase4_wfld_l47.cpp, scripts/run_phase4_colab_ftpo.py, scripts/strata_metal_complete.diff, audits/opus_strata_metal_opts_v1.md, audits/opus_strata_metal_opts_v2.md, audits/opus_strata_metal_opts_v3.md):

    • Phase 4 v3.2 Special-Token-Orthogonal Per-Word-Null WFLD at Layer 47 (blk.47.ffn_down_shexp.weight, 47/48 tensors bit-identical to Phase 3, ||dW||/||W|| = 0.0978) + Prefix-Conditioned Sampler Penalty (STRATA_ANTI_SLOP_PENALTY=6.0):
      • Bars (a)–(c) Slop Reduction (audits/opus_strata_metal_opts_v3.md §6.2 & §6.3): -84.14% on FTPO Train (n = 28, 0.6326 -> 0.1003), -69.98% on Same-Doc Held-Out (n = 14, 0.8733 -> 0.2622), -69.67% on Dev Separate-Doc Held-Out (n = 21, 0.4703 -> 0.1426, 20/21 new argmax a natural word), and on the one-shot untouched 1,100-token Blind Multi-Turn Chat Test (p4_blind_test_1100, n = 21): -54.44% from weights alone (0.5543 -> 0.2525) and -98.98% (0.5543 -> 0.0056, 21/21 argmax clean) when stacked with the 0-overhead prefix-conditioned logit penalty in Window::finish.
      • Bar (d) Per-Word Held-Out Collateral (p4_collateral_1640, n = 142, 0 8-gram overlap, bar >= -0.05 per word & <= 10.0% below -0.10): " end" -0.0140 (0 < -0.1), " than" -0.0343 (3 < -0.1), " what" +0.1598 (1 < -0.1), " version" +0.0071 (3 < -0.1), " away" +0.0066 (4 < -0.1), " actually" -0.0419 (2 < -0.1); total < -0.10 is 13 / 142 = 9.15% <= 10.0% (overall mean +0.0211 nats).
      • Bars (f) & (g) Multi-Turn Chat Special-Token & Ordinary-Token Stability (§6.2 Dev & §6.3 Blind): 0 assistant-side argmax flips to <|im_end|>/<|im_start|>/<think>/</think>/<|endoftext|>, 56/56 (dev) and 48/48 (blind, +0.002 mean $\Delta\log p$) real turn ends preserved, p(<|im_end|>) at slop positions 0.0521 -> 0.0511 (decreases), dev non-slop KLD = 0.00472 <= 0.005 (ordinary Δlog p = +0.0208 >= -0.01), and blind non-slop KLD = 0.0030 <= 0.005 (ordinary Δlog p = +0.012 >= -0.01).
      • Bar (e) Real 48-Layer Strata Metal Engine 3-Domain KLD vs Phase 3 (<= 0.01): ops_tools 0.005273 (PPL 3.0165 -> 3.0059, top-1 = 96.88%), chat_json 0.000765 (PPL 1.2023 -> 1.1980, top-1 = 98.44%), ja 0.000970 (PPL 1.7785 -> 1.7730, top-1 = 98.44%), 3-Domain Macro KLD = 0.002336 (97.92% macro top-1).
    • Phase 5 (#98) Strata Metal v3 Runtime Speed & Hit-Rate Progression on 24 GB M5 Air (ops_1024, 7.0 GB Arena, MLOCK=1, WIRE=1, 0.0 MiB swapouts, audits/opus_strata_metal_opts_v3.md §1–§4):
      • Stock 7.0 GB Arena (unwired, PF=8): 17.03 tok/s (58.72 ms/tok), 96.32% hit rate (17.7 misses/tok, 7.26 ms SSD wait).

      • Strata Metal v3 Defaults (EXPERT_SPLIT=1, SHEXP_OVERLAP=1, SPLIT_TURN=1, PRED_Q8=1, ROUTER_BF16=1, MOE_DN_TILE=8,2,4, PREWARM=1, PF=6, UNPERT=1): 22.08 tok/s (45.28 ms/tok, +29.7% vs 7.0 GB stock, +105% vs Phase 3 3.4 GB arena's 10.74 tok/s, and 15.8x faster than unpatched llama.cpp's 1.40 tok/s), 97.59% combined hit rate (92.81% arena + 4.78% read-ahead, 11.6 misses/tok, 5.08 ms SSD wait, 38.86 ms pure GPU kernel sum; 22.25 tok/s / 44.95 ms/tok and 97.82% hit rate / 10.5 misses/tok / 4.61 ms SSD wait with PF2=2, IO=8).

      • Phase 5 Disk Session Save/Load + Suffix Cache Reuse (SCR) with 36-Layer GDN Staleness (results/phase5_scr_and_session_validation.json, audits/opus_phase5_scr_and_persona_v1..v2.md): --save-session / --load-session (1,983 cells = 139.46 MiB) saves in 21.70 ms and loads in 28.93 ms cold NVMe (5.18 GB/s, 281x faster than 8,138 ms cold prefill) / 5.00 ms warm (1,627x faster) with 0.000000 KLD (100.00% top-1) at MOCE=0, EXPERT_SPLIT=0. On [A B C] -> [A B' C] folds (A=512, B=1024 -> B'=60), Window::scr_relocate relocates + RoPE-rerotates C across all 12 QSA layers in 0.2–0.5 ms, and keep (S_ABC, keeping the post-edit 36-layer GDN state) yields +0.0038 nats/tok (C=511, PPL 7.49 -> 7.20, 92.19% top-1) to +0.038 nats/tok (C=1535, 3.48x–3.79x prefill speedup, 3.20% repeated 4-grams over 128 greedy tokens) of isolated 36-layer GDN staleness (lossy J=|C| sanity rows = 0.000000 KLD), plus 0 / 190 empty turns at step0 on the 190-pair Real-VN (Steins;Gate + VA-11 Hall-A) + Persona dataset.

training compute layout for phase 3 [est]:

  • training happens after pruning, so the model is smaller. at 224 experts: routed experts at int8 ≈ 52.8 GB + dense (~3.6B params) bf16 ≈ 7.3 GB, which fits on one A100 80 GB with no expert streaming, leaving ~15–20 GB for activations (chunked loss, short-ish sequences, activation checkpointing).
  • train against the deployed expert weights. the experts are frozen anyway, so use the exact dequantized GGUF expert values in the training forward. the persona/healing LoRA then also compensates for the deployment quant's error, which is free QAT. the only train/deploy mismatch left is the export quant of the dense tensors. needs a torch kernel for the chosen expert format; Q2_0 is simple scalar (no lookup tables), IQ formats are harder. another point for Q2_0.
  • multiple Colabs:
    • data generation is embarrassingly parallel and probably most of the compute: persona traces, teacher top-k logits, abstention sampling (several samples per question), slop mining, eval runs, prune-variant evals. one Colab per shard, results to HF.
    • data-parallel training over WAN is feasible only because LoRA grads are small (r=16 on dense projections ≈ 50M params ≈ 100 MB bf16 per sync). use DiLoCo-style local steps + infrequent sync, elastic so a disconnect doesn't kill the run. Colab can't accept inbound connections, so sync goes through a relay/object store. concurrent-session limits per Colab plan: unverified.
  • RL is not in the plan (SFT/KD + FTPO). if it ever is, e.g. for agent behavior, Modal's mixed-precision, mixed-accelerator sampler result applies directly: quantized GGUF samplers on Colab/local, BF16 trainer elsewhere. it needed masked importance sampling + score centering + top-p with mask replay, and token-in-token-out. uncorrected runs collapsed, and the collapse sign was the agent stopping its tool calls. routing mismatch includes MoE top-k and the sparse-attention indexer; MoCE at sampling time would add more [src: modal.com/blog/toward-rl-on-mixed-precision-mixed-accelerator-samplers, 2026-10-13].

other phase 3 notes [est]:

  • if we ever train at 320 experts in int8 (~75 GB experts + 7.3 GB dense > 80 GB VRAM) without a Q2_0 dequant kernel, fallback is streaming frozen experts per layer from Colab's ~167 GB host RAM over PCIe with large token batches
  • vocab-sized logits at 16K seq are 16 GB per sequence unless the loss is chunked (use chunked cross-entropy / KL)
  • rented 8×H100 is the escape hatch if single-A100 + multi-Colab data gen feels slow
  • tinker / together / fireworks don't fine-tune Flash-Next [web]
  • an unverified "LoRA over GGUF in ~40 GiB" claim exists [web]

8. risks #

  • 224 experts may fail JA or agent evals even with good calibration. then 256/320 + more streaming.
  • SCR staleness on 36 GDN layers could be much worse than ds4's +0.015–0.040 nats/token.
  • MoCE + pruning compounding quality loss. λ has to be retuned per K.
  • Air thermals make sustained cold prefill slow. reuse has to carry it.
  • desktop 16 GB RAM may make the desktop slower than the laptop.
  • Strata-Metal at 24 GB is untested ("other chips and memory sizes are untested" [src: MAC.md]).
  • abstention tuning over-refusing.
  • trace-based saliency drifts once persona training changes the router. re-check routing after phase 3.

9. scripts/mine_llm_isms_from_transcripts.py: required fixes #

tested 2026-10-14:

  • parses 0 turns from the 16 Claude Code jsonl files in ~/.claude/projects. CC rows are {"type":"assistant","message":{"content":[…]}}; the script expects messages.
  • albedo transcripts are erlang-term binaries in ~/.albedo/albedo.sqlite. read them through the session API (agents.sessions() / h.messages()).
  • albedo-era assistant text is already persona-styled, and providers have different slop profiles, so tag by provider.
  • make --human-ref-dir required (without it the log-odds collapse to z ≈ δ/10). dawn's user turns are the baseline.
  • use Monroe's informative prior α_w = α₀ · p_background(w). the current 0.01·p·α₀ + 0.01 is nearly flat.
  • don't strip punctuation before n-gramming (n-grams cross sentence boundaries).
  • token-variant mapping: add newline/quote/after-punctuation forms, keep phrases > 4 tokens, don't .capitalize() whole phrases.
  • drop the 1.5% / 3.6% "safety cap" (letter-lipogram paper, no basis).

10. open questions (dawn) #

  1. is the desktop's 16 GB RAM fixed?
  2. Air: 13" or 15"? SSD size? answered locally: 13" M5 Air (Mac17,3), 1 TB SSD (~303 GB free).
  3. does the laptop have to run the same model, or only the same persona? currently assuming the same model.
  4. how much do vision and JA matter vs scripting? sets the calibration mix and how far pruning can go.
  5. persona inside <think> too, or only visible replies?
  6. which harness drives it: Connectome itself, an albedo-style python kernel, or something custom? the eval runs through the same one (§2.9).
  7. is Gadsby-4B yours? (used as evidence in §2.2 either way)