commits on main
2026-10-20
92a523f0 dawn persona: fix what the persona/ move broke, and add the gates that would have caught it
persona: fix what the persona/ move broke, and add the gates that would have caught it
- phase3_lora_and_transplant: slice_qwen4exp_gguf stayed at top-level scripts/ - trainer REPO vs ROOT: vendor/ and models/ are not under persona/, and ensure_gguf_bridge mkdirs lib_path.parent, so a directory probe on persona/vendor self-validated a wrong root - --validate-only / --export-only were never added to main()'s dispatch, so both exited 0 having printed --help: success with no work done - --export-only: re-export a checkpoint at another quantization without a 28 min val sweep - evaluate_validation_splits: guard each window against OOM and log its CE, because an unguarded 28 min silent sweep reads exactly like a crashed process - transplant_persona_writers: CLI bundle/out paths measured: epoch-2 heldout win rate 1.0 (49/49), ood_ce 0.8774. q8_0 writer export flattens the voice on 3/3 probes against in_place at pinned MoCE routing; in_place (3.90 GB) matches base in voice and is 440 MB smaller, so it is the only correct default export type for this model.
156bd084 dawn status: derive the pair->category map from the pack instead of hardcoding a window range
status: derive the pair->category map from the pack instead of hardcoding a window range
trainer:2343 picks pair = ftpo_train[(epoch * len(sft_train) + idx) % len(ftpo_train)], so each epoch shifts every preference pair by len(sft_train) % len(ftpo_train) == 32 windows. The census hardcoded epoch 1's 6C range and so attributed epoch 2's 6A tail to 6C, reading margins of +40..+50 that a per-token 6C mean cannot produce. Compute the map from ftpo_dpo_pairs.jsonl instead, report per category, and measure near-tie runs within 6A/6B only so single-token logits are never pooled with per-token means.
7d816dd5 dawn census: report the longest run of near-tie margins - a contiguous block is a different finding from a scattered tail
census: report the longest run of near-tie margins - a contiguous block is a different finding from a scattered tail
2026-10-19
82b7ba82 dawn scripts: detached colab keepalive - holds the ssh tunnel when the exclusive slot is free, and polls the runtime proxy every 60s when it is not
scripts: detached colab keepalive - holds the ssh tunnel when the exclusive slot is free, and polls the runtime proxy every 60s when it is not
bf0ce5d4 dawn persona: simulate PLC-DPO posterior routing on our logged margins - warns that flip fires on 4/5 correct-direction pairs
persona: simulate PLC-DPO posterior routing on our logged margins - warns that flip fires on 4/5 correct-direction pairs
a7b93c3a dawn census: split margins by unit (6A/6B single logit pair vs 6C per-token mean) - pooling them compared values ~95x apart; add adpo_dilution_check
census: split margins by unit (6A/6B single logit pair vs 6C per-token mean) - pooling them compared values ~95x apart; add adpo_dilution_check
5998dab1 dawn scripts: colab_status census reported epoch-1's max window as epoch 2's position
scripts: colab_status census reported epoch-1's max window as epoch 2's position
d78643eb dawn scripts: colab_status.py - ssh-free training status via the runtime proxy (log tail + checkpoint inventory)
scripts: colab_status.py - ssh-free training status via the runtime proxy (log tail + checkpoint inventory)
d870a259 dawn audits: r45 colab ssh-slot refusal - ColabSshSessionError + HTTP recovery helpers (patch in dawn's albedo checkout, uncommitted)
audits: r45 colab ssh-slot refusal - ColabSshSessionError + HTTP recovery helpers (patch in dawn's albedo checkout, uncommitted)
12b9bae6 dawn scripts: pull Colab files over the HTTP runtime proxy - ssh is locked to one session per runtime and a killed bridge strands it with 429 already-active-session
scripts: pull Colab files over the HTTP runtime proxy - ssh is locked to one session per runtime and a killed bridge strands it with 429 already-active-session
00cb04ee dawn audits: archive r44 chunk-0 MoCE measurement (reconstructed; 47/64 KL rows unrecoverable, hashes null)
audits: archive r44 chunk-0 MoCE measurement (reconstructed; 47/64 KL rows unrecoverable, hashes null)
a5ab2db0 dawn metal: revert chunk-0 prompt MoCE affinity to unboosted; keep prompt counters past window_reset_stats; add arena_preflight guard
metal: revert chunk-0 prompt MoCE affinity to unboosted; keep prompt counters past window_reset_stats; add arena_preflight guard
7e53e56b dawn docs: rewrite trap #44 - seven measurement traps from re-measuring chunk-0 MoCE (control shares no mechanism, n=2 is not reproducibility, KL/damage disjoint, corpus-dependent metric power, PPL cannot resolve KL, prefill counters need TRACE, no sweeps)
docs: rewrite trap #44 - seven measurement traps from re-measuring chunk-0 MoCE (control shares no mechanism, n=2 is not reproducibility, KL/damage disjoint, corpus-dependent metric power, PPL cannot resolve KL, prefill counters need TRACE, no sweeps)
27926c9c dawn docs: correct Round-38 prefill read accounting - the 375.2 MB line is one decode step; prefill counters require STRATA_METAL_TRACE=1
docs: correct Round-38 prefill read accounting - the 375.2 MB line is one decode step; prefill counters require STRATA_METAL_TRACE=1
86e8e5aa dawn docs: trap #44 - teacher-forced decode noise floor (base-vs-base KLD 0.0012 / top-1 95.3%) and prefill sweep ordering confound
docs: trap #44 - teacher-forced decode noise floor (base-vs-base KLD 0.0012 / top-1 95.3%) and prefill sweep ordering confound
33f2c631 dawn docs: add Oct 2026 arXiv preprints and traps #42-#43 (GDN state quant & DuoRate frequency cancellation)
docs: add Oct 2026 arXiv preprints and traps #42-#43 (GDN state quant & DuoRate frequency cancellation)
77d8cc8e dawn metal prompt: enable soft MoCE cache-affinity (300.85f) on chunk 0 and fix Metal 3.2 xs lambda address space in gdn_prompt.metal
metal prompt: enable soft MoCE cache-affinity (300.85f) on chunk 0 and fix Metal 3.2 xs lambda address space in gdn_prompt.metal
0118e47b dawn README & Metal engine: default STRATA_METAL_PHASE_TRADE=1 (+0.00 GB prefill scratch) and update M5 memory/optimization tables
README & Metal engine: default STRATA_METAL_PHASE_TRADE=1 (+0.00 GB prefill scratch) and update M5 memory/optimization tables
6fdbee92 dawn keep 00-..04- docs and non-persona engine/pruning files at top level; keep only persona/anti-slop in persona/
keep 00-..04- docs and non-persona engine/pruning files at top level; keep only persona/anti-slop in persona/
e68889be dawn separate persona/ subproject (docs, scripts, data, results, audits) from root engine
separate persona/ subproject (docs, scripts, data, results, audits) from root engine
cef5e17a dawn docs & root cleanup: split PLAN.md into 00-..04-, move mine_llm_isms to scripts/, remove superseded blueprint files
docs & root cleanup: split PLAN.md into 00-..04-, move mine_llm_isms to scripts/, remove superseded blueprint files
166ab85b dawn round 43: port rocm adaptive-kv-stream opts to Metal (WY GDN prefill, MTP defer_catchup, GDN ring rollback, 1-sg qsa_prep, delayed-softmax topk, coalesced lazy mmap)
round 43: port rocm adaptive-kv-stream opts to Metal (WY GDN prefill, MTP defer_catchup, GDN ring rollback, 1-sg qsa_prep, delayed-softmax topk, coalesced lazy mmap)
2026-10-18
ff160ead dawn round 42: add elastic Metal vision (strata-vision + mmproj BF16 + 2D M-RoPE GENI)
round 42: add elastic Metal vision (strata-vision + mmproj BF16 + 2D M-RoPE GENI)
6fa17786 dawn round 41d: clm frequent mid-prompt edit hardening (2-pass non-overlapping scr_relocate, lcp>=0, max_runs=64, active_path replacement)
round 41d: clm frequent mid-prompt edit hardening (2-pass non-overlapping scr_relocate, lcp>=0, max_runs=64, active_path replacement)
6fceb086 dawn round 41c: preserve prefix-share delta across scr suffix splices + restore post-suffix gdn checkpoint
round 41c: preserve prefix-share delta across scr suffix splices + restore post-suffix gdn checkpoint
1e9d2be5 dawn round 41b: port bonsai prefix-share (8906fd8) zero-copy delta .kvc storage against pinned prefixes
round 41b: port bonsai prefix-share (8906fd8) zero-copy delta .kvc storage against pinned prefixes
459fd850 dawn round 41: bonsai-style nvme .kvc prompt/conversation cache + 2-prompt prefix pinning + mtp session persistence
round 41: bonsai-style nvme .kvc prompt/conversation cache + 2-prompt prefix pinning + mtp session persistence
77ba8398 dawn default to 128k context (131072) and add 32k/128k memory columns to README
default to 128k context (131072) and add 32k/128k memory columns to README
1e003d9c dawn README: add model credits, upstream repos, and main papers
README: add model credits, upstream repos, and main papers
3e53ede4 dawn README: drop k256 mentions and link ukisai Swift-1.5 GGUF under M5 perf section
README: drop k256 mentions and link ukisai Swift-1.5 GGUF under M5 perf section
538fe0f5 dawn README: name regolith and add M5 24GB perf + memory breakdown tables
README: name regolith and add M5 24GB perf + memory breakdown tables
2f329ddb dawn round 40: add apple silicon README, setup script, and complete strata metal diff
round 40: add apple silicon README, setup script, and complete strata metal diff
fadc5c26 dawn document paired-run review limits and baseline provenance
document paired-run review limits and baseline provenance
393a2a86 dawn round 39: port serving fixes and PLE reuse; verify parity, record perf uncertainty
round 39: port serving fixes and PLE reuse; verify parity, record perf uncertainty
ffb67127 dawn PLAN.md: record Round 38 benchmark results (35.47 tok/s @10.2K decode, 473.80 tok/s @10.2K prefill, 42.57 tok/s @2K decode, 37.20 tok/s reasoning)
PLAN.md: record Round 38 benchmark results (35.47 tok/s @10.2K decode, 473.80 tok/s @10.2K prefill, 42.57 tok/s @2K decode, 37.20 tok/s reasoning)
6aeb30db dawn Round 38: hold_region layer-0 allow_hot=false + prompt/decode bytes_read_/reads_ split + mtp_prefill tail_cap sync with MTP_WIN -> 35.47 tok/s @10.2K decode, 473.80 tok/s @10.2K prefill, 42.57 tok/s @2K decode, 37.20 tok/s reasoning
Round 38: hold_region layer-0 allow_hot=false + prompt/decode bytes_read_/reads_ split + mtp_prefill tail_cap sync with MTP_WIN -> 35.47 tok/s @10.2K decode, 473.80 tok/s @10.2K prefill, 42.57 tok/s @2K decode, 37.20 tok/s reasoning
4a9278e6 dawn PLAN.md: record Round 37 benchmark results (34.01-34.74 tok/s @10.2K decode, 42.49 tok/s @2K decode, 633.28 tok/s GPU prefill)
PLAN.md: record Round 37 benchmark results (34.01-34.74 tok/s @10.2K decode, 42.49 tok/s @2K decode, 633.28 tok/s GPU prefill)
c005fa30 dawn Round 37: multi-chunk prompt hot-expert LRU & scratch pool preservation (stream.cpp, window.cpp) -> 34.01-34.74 tok/s @10.2K decode (+34.6-37.5%) & 458-473 tok/s @10.2K prefill, 42.49 tok/s @2K decode
Round 37: multi-chunk prompt hot-expert LRU & scratch pool preservation (stream.cpp, window.cpp) -> 34.01-34.74 tok/s @10.2K decode (+34.6-37.5%) & 458-473 tok/s @10.2K prefill, 42.49 tok/s @2K decode
f73b01b4 dawn PLAN.md: record Round 36 benchmark results (predL_/predL2_ token-0 fast path -16% hot / -6.8% cold, hc_down/swiglu_up TM>32 row-tail trim, mtp_ms 190.62ms)
PLAN.md: record Round 36 benchmark results (predL_/predL2_ token-0 fast path -16% hot / -6.8% cold, hc_down/swiglu_up TM>32 row-tail trim, mtp_ms 190.62ms)
34041844 dawn Round 36 blitz: predL_/predL2_ token-0 fast path when PREFETCH_DRAFT<=0 (-16.0% hot / -6.8% cold), TM>32 row-tail trim in gemm_hc_down (-4.7% @ T=1025) & gemm_swiglu_up (-1.4% @ T=1025, -0.8% @ T=1987) -> mtp_ms 190.62ms, 42.26 tok/s decode
Round 36 blitz: predL_/predL2_ token-0 fast path when PREFETCH_DRAFT<=0 (-16.0% hot / -6.8% cold), TM>32 row-tail trim in gemm_hc_down (-4.7% @ T=1025) & gemm_swiglu_up (-1.4% @ T=1025, -0.8% @ T=1987) -> mtp_ms 190.62ms, 42.26 tok/s decode
42480050 dawn PLAN.md: record Round 35 benchmark results (629.05 tok/s GPU prefill, 2,047 dispatches, 25.26 tok/s @10.2K decode, 128.14 tok/s persona_chat prefill, mtp_ms 192.17ms)
PLAN.md: record Round 35 benchmark results (629.05 tok/s GPU prefill, 2,047 dispatches, 25.26 tok/s @10.2K decode, 128.14 tok/s persona_chat prefill, mtp_ms 192.17ms)
9d9dc8ae dawn Round 35 blitz: Wr/Wr2 router dq reuse (-47 dispatches/chunk), gemm_f16_16_96_2 Walbe (-13.6%), M%128<=64 64_128_4 (1.14x @ M=306), hc_up_tile row-tail trim (-2.5% @ T=289), mtp_rms_xprep (-37.5%) & mtp_embed (-21.8%) & mtp_slop_pen (-96.5%) -> 629.05 tok/s GPU prefill, 25.26 tok/s @10.2K decode, mtp_ms 192.17/355.15ms
Round 35 blitz: Wr/Wr2 router dq reuse (-47 dispatches/chunk), gemm_f16_16_96_2 Walbe (-13.6%), M%128<=64 64_128_4 (1.14x @ M=306), hc_up_tile row-tail trim (-2.5% @ T=289), mtp_rms_xprep (-37.5%) & mtp_embed (-21.8%) & mtp_slop_pen (-96.5%) -> 629.05 tok/s GPU prefill, 25.26 tok/s @10.2K decode, mtp_ms 192.17/355.15ms
07a5b206 dawn PLAN.md: record Round 34 benchmark results (432.78 tok/s 2K prefill, 42.27 tok/s decode, 25.04 tok/s @10.2K, gemm_hc_down TN=96 tail -7.18%, mtp_ms 322.48/374.22/374.58ms)
PLAN.md: record Round 34 benchmark results (432.78 tok/s 2K prefill, 42.27 tok/s decode, 25.04 tok/s @10.2K, gemm_hc_down TN=96 tail -7.18%, mtp_ms 322.48/374.22/374.58ms)
910b3ef0 dawn Round 34 blitz: gemm_hc_down TN=96 tail (-5.0..-7.2%), grd_acc ROLL=true at KS=4 (-1.9..-4.6% on _r2), W8<T_IQ3_S>::block + half4 HS store + IQ2_XS sboff -> 432.78 tok/s 2K prefill, 42.27 tok/s decode, 25.04 tok/s @10.2K
Round 34 blitz: gemm_hc_down TN=96 tail (-5.0..-7.2%), grd_acc ROLL=true at KS=4 (-1.9..-4.6% on _r2), W8<T_IQ3_S>::block + half4 HS store + IQ2_XS sboff -> 432.78 tok/s 2K prefill, 42.27 tok/s decode, 25.04 tok/s @10.2K
0f77ed85 dawn PLAN.md: record Round 33 benchmark results (628.51 tok/s GPU prefill, gdn_step_t kl split + pre-barrier3 state commit, gr_norm hoist, GrdUnit<T_Q8_0,2>, mtp_ms 323.71ms reasoning / 383.38ms persona_chat)
PLAN.md: record Round 33 benchmark results (628.51 tok/s GPU prefill, gdn_step_t kl split + pre-barrier3 state commit, gr_norm hoist, GrdUnit<T_Q8_0,2>, mtp_ms 323.71ms reasoning / 383.38ms persona_chat)
d94675c3 dawn Round 33 blitz: gdn_step_t kl split + pre-barrier3 state commit (-1.1..-4.1%), gr_norm hoist (-6..-11%), GrdUnit<T_Q8_0,2> packed char4 (-10..-16%) -> 628.51 tok/s GPU prefill, mtp_ms 124.20/193.49/323.71ms
Round 33 blitz: gdn_step_t kl split + pre-barrier3 state commit (-1.1..-4.1%), gr_norm hoist (-6..-11%), GrdUnit<T_Q8_0,2> packed char4 (-10..-16%) -> 628.51 tok/s GPU prefill, mtp_ms 124.20/193.49/323.71ms
31779195 dawn PLAN.md: record Round 32 benchmark results (3175.30 ms / 624.51 tok/s GPU prefill, 408.75 tok/s end-to-end prefill, 42.16 tok/s decode)
PLAN.md: record Round 32 benchmark results (3175.30 ms / 624.51 tok/s GPU prefill, 408.75 tok/s end-to-end prefill, 42.16 tok/s decode)
aa551030 dawn Round 32 blitz: qsa_flash sp[4] 3->1 barrier & ko[j] offset + unroll (-4.0..-5.5% / -6.1 ms in kprof), mm_gu3 T_IQ2_S half4 HS store (-9.0 ms in kprof -> 3175.3 ms / 624.5 tok/s GPU prefill!), deq uint2 grid loads + deq_iq_packed (-> 408.75 tok/s prefill & 42.16 tok/s decode!)
Round 32 blitz: qsa_flash sp[4] 3->1 barrier & ko[j] offset + unroll (-4.0..-5.5% / -6.1 ms in kprof), mm_gu3 T_IQ2_S half4 HS store (-9.0 ms in kprof -> 3175.3 ms / 624.5 tok/s GPU prefill!), deq uint2 grid loads + deq_iq_packed (-> 408.75 tok/s prefill & 42.16 tok/s decode!)
7d335884 dawn PLAN.md: record Round 31 benchmark results (mm_gu3 IQ2_S/IQ2_XXS -57.9 ms in kprof, moe_down Q2_0R -7.6..-16.9%, mtp_ms 126.51 ms @10.2K)
PLAN.md: record Round 31 benchmark results (mm_gu3 IQ2_S/IQ2_XXS -57.9 ms in kprof, moe_down Q2_0R -7.6..-16.9%, mtp_ms 126.51 ms @10.2K)
eb15e062 dawn Round 31 blitz: mm_gu3 IQ2_S/IQ2_XXS/IQ2_XS/IQ3_S tab+hh & shift (+6.8..+8.2% / -57.9 ms in kprof), moe_down/gemv Q2_0R 0x6400 half-mantissa decode (-7.6..-17.4%), dq_f16 IQ4 tab init & perm=4 inverse contiguous write
Round 31 blitz: mm_gu3 IQ2_S/IQ2_XXS/IQ2_XS/IQ3_S tab+hh & shift (+6.8..+8.2% / -57.9 ms in kprof), moe_down/gemv Q2_0R 0x6400 half-mantissa decode (-7.6..-17.4%), dq_f16 IQ4 tab init & perm=4 inverse contiguous write