forgo.cloud
Sign in
Repo workspace

forkjoin-ai/gnosis

IQ rollout log — function-space compression across the .knot fleet

distributed-inference/IQ_ROLLOUT_LOG.md
forkjoin-ai/gnosis

IQ rollout log — function-space compression across the .knot fleet

Autonomous workstream state file. Each cron wake-up reads this first, does the next unit of work, appends a dated entry, and commits via the sovereign flow. Mission (user, 2026-07-08): continue the IQ quantization line to a fleet-wide rollout — reknot, redeploy, revalidate under qspec everything currently qspec-covered, after establishing how far each model can be taken. Budget: up to ~7 days. Quality gate before any serving change: eval sweep (perplexity + battery + Paris margin vs that model's qspec/baseline). Production R2 default artifacts are NEVER replaced without a passing gate report; new artifacts ship under new keys.

Standing context

  • Plan: ~/.claude/plans/we-have-already-done-tender-kurzweil.md ("Say very little with very little"). Memory anchors: qwen-function-space-compression, kn0t-v3-verdict.
  • Formal SSOT for the approach: gnosis-math/Gnosis/GodFormulaQuant.lean (compiles, v4.30.0) + TritonQuantizationInversion.lean.
  • Gate tooling (validated): scripts/eval-sweep.sh, scripts/iq-ladder-battery.py (this directory).
  • Pipelines: cloudbuild-iq-ladder.yaml (4-rung ladder; NOTE: qwen2.5-7b hardcoded — parameterize before fleet use), cloudbuild-iq-recovery.yaml (IQ2 recovery levers; persists f16 to GCS for iteration).
  • qwen2.5-7b ladder measured (build 8b6ca582): baseline 7.689 ppl/4.68GB, IQ3_M 8.020/3.57GB, IQ3_XXS 8.251/3.11GB, IQ2_S 9.323/2.60GB, IQ2_XS 9.666/2.47GB. IQ2 cliff = basin exit (see Lean witness).
  • User decision: IQ2 + recovery first. GPU fine-tune allowed; full eval sweep is the gate. No off-the-shelf GPU QAT for llama.cpp IQ formats exists — CPU levers first, GPU distill only with explicit justification.
  • Native serving supports ONLY Q4_K/Q5_0/Q5_K/Q6_K/Q8_0/F16/F32 (model.rs:983). Winning-rung integration needs: gguf-to-knot.py IQ id mapping (+ correct block sizes: IQ2_XXS 66, IQ2_XS 74, IQ2_S 82, IQ3_XXS 98, IQ3_S 110, IQ4_XS 136 per 256; IQ4_NL 18/32; IQ1_S 50/256), a dequant kernel port (scalar+NEON from ggml, incl. E8 grid tables — days), then the native gate via native-pipeline-smoke + that model's qspec.
  • Fleet enumeration source: open-source/gnosis/monster-swarm/qspecs/*.qspec.json
    • monster-swarm/ADMITTED_MODELS.md. Model-id → HF repo lookup precedent: cloudbuild-knot-to-kn0t.yaml.

Guardrails (hard)

  • Validate every cloudbuild yaml with the yaml-load + $$-substitution + bash -n harness BEFORE submitting (this session burned 3 builds learning this).
  • Heavy artifacts NEVER on the laptop: Cloud Build only (laptop disk is a shared, near-full pool; check df -h / before any local artifact work, require ≥3GB free).
  • Commit ONLY files this workstream touched, by explicit path, via the sovereign flow (a0 flow / a0 gn flow — see memory a0-flow-mirror-gotchas-index for hang/OOM workarounds). NEVER bare git add . — the root tree is shared with the user's live WIP.
  • Ambiguous product/business tradeoffs (e.g. "is +X% ppl acceptable to ship as default for model M"): record the numbers + a recommendation HERE, do not guess — the user reviews on return.
  • One Cloud Build in flight at a time for this workstream; poll with gcloud builds list --project=neutral-418500 --limit=3.

USER REDIRECT (2026-07-08, ~09:5x PT)

"I think we are likely to find the IQ wave moot compared to kaiju — i'd rather validate that and then push that forward instead." → IQ fleet wave PAUSED (parameterized ladder yaml stays ready). New priority: validate the Kaiju (Leech-24) hypothesis, then push Kaiju forward if it holds.

Honest calibration recorded up front: ideal-lattice theory gives Leech only ~0.37 dB over ideal E8 at equal rate. The moot-level upside hypothesis rides on llama.cpp IQ being a small-subset-codebook approximation of E8 (256-2048 entries + heuristic scales), far above the lattice floor. The K0 shootout measures Kaiju-vs-PRACTICAL-IQ directly in the god-formula ledger (imatrix-weighted excess at matched bits/weight) on real qwen2.5-7b tensors.

Work queue (edit as state changes)

K1. [DONE 2026-07-08] nearest_leech already existed as a full Voronoi decoder (module header claims measured G(Λ24)≈0.0658 vs E8 0.0717); 13/13 core tests green; exhaustive 196K-vector + NSM opt-in tests running in background. Original scoping below kept for reference. [was] Leech-24 nearest-point decoder in distributed-inference/src/leech_quantizer.rs (the missing piece — Golay/shell skeleton exists, nearest_e8 is the pattern). Validate against brute-force search on random small-norm vectors + the existing is_minimal_vector/shell classification. Offline encode speed is NOT a constraint for K0 (encode-once); correctness is. K2. [DONE 2026-07-08 — DECISION DATA] Real-weights + real-H shootout, matched unit-det rates, weighted-excess ratios Λ24/E8: blk27 ffn_down (H spans 6 orders): 0.9141-0.9329 (= geometry line). blk0 ffn_down (moderate H): 0.8972 / 0.8785 / 0.8658 at steps 0.5/0.75/1.0 — H-weighting UNLOCKS gains beyond geometry; advantage grows with coarseness. Kaiju never loses at any measured point. (blk13 skipped: Q4_K in knot; shootout dequantizes Q6_K only.) HONEST TRANSLATION: 7-13% excess reduction over IDEAL E8 ≈ roughly 0.1-0.2 bpw at equal quality (~3-6% file) — real but not moot-making alone. The moot case still needs the practical-IQ-vs-ideal-E8 gap measured (IQ codebook subset + scale overhead). RECOMMENDATION (user decides): two-track — keep shipping the IQ wave now (IQ2_M already ordered shipped), scope K3 Kaiju format as the successor rung: fast hexacode decoder (current: 4.5ms/pt) + 24-dim block format + imatrix-weighted scales + practical-IQ gap measurement. The weightedExcess ledger is codebook-agnostic so the fleet re-quant machinery transfers unchanged. [was] K0 shootout bin src/bin/leech-vs-e8-shootout.rs: load real qwen2.5-7b tensors (lm_head Q6_K, embd Q4_K, + 2-3 FFN/attn) via existing loader/dequant; H from the ladder's imatrix on R2 (models/iq-ladder/qwen2.5-7b.imatrix, llama.cpp binary format — write a small parser); quantize matched bit budgets: (a) nearest_e8 + b-bit box (bowl-footprint requantize_centered pattern), (b) Leech-24 + b-bit box, (c) reference: the ACTUAL IQ2_S/IQ3_XXS dequantized values from the ladder GGUFs on R2 (practical-IQ reference points). Output: weightedExcess per tensor per method per rate. Decision gate: Kaiju beats practical IQ by enough to justify a new format = GO. K3. [blocked by K2 + user review of numbers] Kaiju format + encoder + serving dequant kernel + native gate + fleet re-quant. S1. [SHIPPED 2026-07-08, build 6c4d48ed, 6m39s] IQ2_M (2,780,342,432 B) live at R2 models/qwen2.5-7b-iq2_m.gguf + HF forkjoin-ai/qwen2.5-7b-instruct-gguf/qwen2.5-7b-iq2_m.gguf (colocated). [was — USER ORDER 2026-07-08 "ship IQ2_M while we wait"] cloudbuild-ship-iq2m.yaml submitted: promotes the measured IQ2_M gguf to R2 models/qwen2.5-7b-iq2_m.gguf + HF colocation in forkjoin-ai/qwen2.5-7b-instruct-gguf. Standing user directives now in force: ship + commit/flow frequently without worry; hard cutovers/hard deploys authorized (no customers). Production-key guardrail RELAXED accordingly (gate evidence still recorded per ship). S2. [scoped 2026-07-08, unblocked] Native IQ2_M serving = exactly TWO new dequant kernels: IQ2_S + IQ3_S (header probe of the real gguf: IQ2_S×137 attn_q/k+ffn_gate/up, IQ3_S×32 attn_output/ffn_down/ token_embd, Q4_K×28 attn_v, Q5_K×1 output, F32×141 norms — all non-IQ types already served). Port scalar+NEON from ggml (iq2s/iq3s grids + sign/scale unpack), add QType variants + resolve_type entries + gguf-to-knot.py mappings (block sizes 82B and 110B per 256 already recorded). Then knot-encode IQ2_M gguf → native-pipeline-smoke Paris → hard deploy per user directive. R1. [done 2026-07-08, build 3818de86 SUCCESS 1h41m] Recovery measured, same eval slice: IQ2_M 2.78GB (−40.6%) ppl 8.835 (+14.9%) battery 19/20 Paris-margin 2.48 — recovers most of the IQ2_S cliff (9.32→8.84). IQ2_M-prot 8.834 = identical (protection buys NOTHING over IQ2_M); IQ2_S-prot 9.436 = WORSE than plain IQ2_S 9.323 (manual output/embd override degraded llama.cpp's own preset allocation). Lesson: IQ preset mixed-precision recipes already allocate H better than blunt two-tensor protection. Frontier now: 2.47GB@9.67 / 2.60GB@9.32 / 2.78GB@8.84 / 3.11GB@8.25 / 3.57GB@8.02 / 4.68GB@7.69. PRODUCT TRADEOFF (user decision on return, deferred pending Kaiju K0): IQ2_M is the half-size champion; recommendation = it's the IQ-track ship candidate if Kaiju doesn't supersede. GPU distill (2a) parked: would chase the remaining 8.84→8.25 gap; Kaiju-first per redirect. f16 persisted to GCS (iteration cache live). P1. [MEASURED — rung decisions with user] IQ fleet wave, both ladders done: - codestral-22b (7c829a70, w206): IQ3_M ≈ free −25%/+1.3%; IQ3_XXS balanced; IQ2_XS −50%/<10%. Rung pick = user decision (recorded w206). - mistral-7b (64b6af94 + rerun 4ab63718 + diag 7ecd2861, w232/316/329): anomaly DIAGNOSED as upstream llama.cpp IQ3_S/IQ2_S-family regression (see w329 journal). Only trustworthy sub-3GB rung = IQ2_XS (2.20GB, +20% ppl@512, battery 19/20). IQ3-family artifacts EMBARGOED for mistral pending upstream bisect / older-llama.cpp pin. Rung pick = user decision. (parameterized cloudbuild-iq-ladder.yaml stays ready for any _MODEL_ID/_HF_SOURCE; cloudbuild-mistral-ppl-diag.yaml reusable as the anomaly-diagnosis template for any model.)

Prior work queue (superseded by redirect, kept for reference)

  1. [in-flight] Recovery build (cloudbuild-iq-recovery.yaml, submitted ~2026-07-08 09:4x UTC): candidates iq2_m, iq2_s-prot, iq2_m-prot. On completion: pull RECOVERY SUMMARY from build log, append numbers here, apply gate (anchors: iq2_s 9.323, iq3_xxs 8.251, baseline 7.689 — same ppl slice). Winner = smallest rung with acceptable excess; if all IQ2 variants remain >~15% excess, record recommendation and default the integration track to IQ3_XXS (proven 8.251 at −33.5%).
  2. [done 2026-07-08] First commit — landed EXTERNALLY via the user's own flow train (gnosis e51bbb69/d4b31cf1, bitwise ccbab83/9445aa2, aeon-3d f059172, gnosis-math ba80b88, root 12db97b478). Workstream files are all in-tree; only follow-up deltas need committing per wake-up.
  3. [pending] Parameterize cloudbuild-iq-ladder.yaml → generic _MODEL_ID/_HF_REPO/_BASELINE_GCS substitutions for fleet use.
  4. [pending] Winning-rung Phase 3 integration (converter mapping → kernel port → native gate → R2 under new key).
  5. [survey done 2026-07-08; per-model source confirmation happens per run] 26 qspecs in monster-swarm/qspecs. Classification:
    • Generic-ladder candidates (transformer, Paris-gated), rollout order small→large: qwen2.5-0.5b (paris.qspec — pipeline validation run), tinyllama-1.1b, deepseek-r1-1.5b, llama-3.2-3b, gemma3-4b-it, qwen3-4b, mistral-7b, qwen3-8b, loki-8b-erotica (custom finetune — confirm safetensors source exists), gemma4-12b-it, qwen35moe-heretic (confirm convert_hf_to_gguf MoE support), gemma4-31b-it, gemma4-31b-it-heretic-ara, gemma4-e4b-heretic. qwen2.5-7b = in progress (this workstream's pilot).
    • Big-disk variants needed (f16 exceeds 200GB budget): llama-3.3-70b, qwen2.5-72b — needs diskSizeGb 400 + longer timeouts; do LAST.
    • SSM/hybrid wave (deferred, own encoder/kernels; IQ support for mamba/rwkv layers in llama.cpp unverified): mamba-2.8b, falcon-mamba-7b, jamba-1.5-mini, rwkv7-2.9b.
    • Out of scope for IQ ladder (non-text or gateway gates): flux-1-schnell, ltx-video, unlimited-ocr, codestral-22b-openai, openai-gateway.
  6. [pending] Per-model ladders → per-model rung map ("how far can each be taken") → reknot → redeploy under new keys → revalidate under qspec → record per-model verdicts here.
  7. [deferred] Kaiju/Leech-24 rung scoping; GPU distill-recovery — only with recorded justification from (1)'s numbers.

Uncommitted files of this workstream (for task 2)

  • root: cloudbuild-iq-ladder.yaml, cloudbuild-iq-recovery.yaml, cloudbuild-knot-to-kn0t.yaml, cloudbuild-mistral-ppl-diag.yaml (w316b: mistral anomaly diagnostic)
  • open-source/gnosis-math: Gnosis/GodFormulaQuant.lean
  • open-source/gnosis: distributed-inference/scripts/eval-sweep.sh, distributed-inference/scripts/iq-ladder-battery.py, distributed-inference/src/model.rs (resolve_type hard-error), distributed-inference/src/model_qwen35moe.rs (same), distributed-inference/IQ_ROLLOUT_LOG.md (this file), distributed-inference-host/src/knot-header.ts (kn0t dual-format), distributed-inference/src/loader.rs (kn0t dispatch + parse consolidation
    • scratch benchmark test module — REVIEW: consider dropping the scratch_kn0t_speed_benchmark module before commit, it reads a user-homedir path)
  • open-source/bitwise: KN0T_V3_FORMAT.md, kn0t-format.ts, src/kn0t_format.rs, src/lib.rs, scripts/encode-kn0t.ts, scripts/verify-kn0t.ts, scripts/encode-llama-knot.ts (IQ block-size fix), package.json, Cargo.toml, Cargo.lock
  • open-source/aeon-3d: src/worldsim-knot.ts, package.json

Journal

2026-07-16 — PHASE 0 CANARY LIVE: qwen2.5-7b served as IQ3_XXS (KAIJU validation closed → fleet ships on IQ)

  • The low-rank/KAIJU investigation is CLOSED: IQ near-optimal, low-rank correction marginal (~15% of rung gap). Trust in IQ established → rollout resumed, targeting IQ3_XXS.
  • IQ3_XXS native dequant kernel PORTED + validated (src/iq_dequant.rs dequantize_iq3xxs_row, 98B block, IQ3XXS_GRID[256]; commit 72b182df). gguf-to-knot IQ3_XXS map (70708323).
  • Knot-gate PASS (build a4bb7824): gguf→knot→native-pipeline-smoke full 28-layer forward on the IQ3_XXS knot → argmax 12095 " Paris" (logit 15.48, margin +2.24 vs next). Knot shipped R2 models/qwen2.5-7b-iq3_xxs.knot (3.10GB). Two env blockers fixed en route (tokenizers dep drift; sibling tokenize.py shadow → PYTHONSAFEPATH=1) — neither the kernel.
  • Flip + deploy: mesh-model-registry.ts qwen2.5-7b knotUrl → -iq3_xxs.knot; mesh image rebuilt (812b3006, digest 93d7ca39), deployed rev 00460-cid (MESH_BUILD=iq3xxs-canary-qwen7b), 100% traffic. GPU gate clear (flux/ltx idle). Reversible via knotUrl repoint / update-traffic.
  • LIVE tps (bench-decode-next, warmup=2 it=100): 11.27 t/s (p50 88.7ms / p90 95.9ms), divergent_tokens=0. vs documented Q4_K baseline ~10 t/s. IQ3_XXS is SMALLER (−33% VRAM, 3.06 vs ~4.5 bpw) AND not slower — serving is bandwidth-bound (ffn_matvec 61ms/tok dominates), so fewer VRAM bytes/token offsets the heavier grid+sign dequant. Size win = speed win.
  • Fleet wave in flight: ladders submitted for qwen3-8b/4b, llama-3.2-3b, deepseek-r1-1.5b (wave 1, 3-4 concurrent). Sovereign IQ encoder track opened in parallel (mistral, see SOVEREIGN_IQ_ENCODER_PLAN.md).

2026-07-14 (wake-up 459) — zoo RESUBMITTED the doomed 7b fisher=8 (timeout-bump only)

  • New build 52481d88 (22:46 UTC): identical substitutions to the timed-out 931e57de (qwen2.5-7b, _FISHER_STEPS=8), only change = timeout 79200s → 86400s. THE MATH IS UNCHANGED: encode needs ~180h (validated twice: 0.5b 13.5h = 17×base exactly; 7b died at 1/196 tensors in ~16h). 24h dies at ~13%. Bumping the timeout treats "context deadline exceeded" as a sizing problem; it is a cost problem. Only two things change the math: K≤2, or the hexacode fast Leech decoder. Also: even IF it finished, fisher=8 is quality-harmful (0.5b Paris rank 39, w352) — the artifact would fail its own gate.
  • If this resubmit loop is automated, it will burn ~$25/day for nothing until stopped. Not cancelling from this lane (if a human bumped the timeout deliberately, cancelling overrides them) — notified instead. Expect FAILURE ~22:46 UTC 07-15 unless killed.

2026-07-14 (wake-up 411) — zoo 7b fisher=8 TIMED OUT as predicted

  • 931e57de FAILURE 06:58 UTC, "context deadline exceeded" in encode-model — exactly the w363 prediction. Observed progress before death: 1/196 tensors after ~12h (blk.0.attn_k only). ~16h of E2_HIGHCPU_32 burned for zero artifact. Zoo lane preconditions before any 7b fisher retry: cap K≤2 AND land the hexacode fast decoder (both recorded w363/w352). No builds in flight; this lane still decision-blocked on the user.

2026-07-13 (wake-up 363) — WARNING: zoo 7b fisher=8 build is arithmetic-doomed

  • New zoo-lane build 931e57de (14:50 UTC): qwen2.5-7b KAIJU1 with _FISHER_STEPS=8, timeout 79200s (22h), E2_HIGHCPU_32.
  • Timing model (validated on the 0.5b run: 13.5h observed = 17 × ~0.8h K=0 encode, exact): 7b K=0 bulk encode ≈ 10.6h (271M blocks × 4.5ms ÷ 32 threads) → fisher=8 = 17 nearest_leech calls/block ≈ 180h. The build WILL hit the 22h timeout at ~12% of the encode — guaranteed FAILURE, no partial artifact. And per the 0.5b verdict (w352), fisher=8 is quality-HARMFUL anyway (Paris rank 39 vs rank 1 at fisher=2).
  • Not cancelling — zoo lane's build, their watcher's state machine. But if the zoo lane reads this: kill it early; nothing can come out. Fix first (either): (a) cap K≤2 pending an objective fix, (b) land the hexacode fast Leech decoder before any 7b fisher sweep (17× on the exhaustive decoder is unpayable at 7b scale).
  • Next wake-up: expect 931e57de TIMEOUT/FAILURE ~12:50 UTC 07-14 unless killed; harvest one line, no surprise.

2026-07-13 (wake-up 352) — zoo fisher=8 FAILED, worse than fisher=2

  • Build 17604b2c (qwen2.5-0.5b KAIJU1, _FISHER_STEPS=8, ~13.5h encode) FAILED the native Paris gate — and NOT by a hair this time: " Paris" rank=39 (logit 10.97) vs argmax 279 (14.63); fisher=2 had rank=1 (14.30 vs 14.45). Widening the Fisher step-search window from ±2 to ±8 multipliers made quality dramatically WORSE (−3.7 logits vs −0.15).
  • Interpretation (for the zoo lane, recorded here as harvest duty): the per-block step search minimizing Σ Hᵢ(ΔWᵢ)² appears to be gamed at large K — steps that reduce the diagonal-H weighted excess per block can break cross-block scale coherence / directions H doesn't measure. The dial is not monotone; treat K as regularized (K≤2) or fix the objective before spending another 13h encode. Their call, not ours.
  • Ladder now fully idle (no builds in flight). This lane remains decision-blocked on the user (P1 rung picks, fleet order).

2026-07-13 (wake-up 329) — MISTRAL ANOMALY DIAGNOSED: upstream llama.cpp IQ3/IQ2_S defect

  • Diag build 7ecd2861 SUCCESS (llama.cpp 3455882). Wikitext-2 test ppl: ctx512×80: Q4_K_M 6.4233 · IQ3_M 13.7570 · IQ3_M-NOIMAT 11.6398 · IQ3_XXS 15.5138 · IQ2_S 13.9067 · IQ2_XS 7.7118. ctx2048×20: IQ3_M 8.7670 · IQ2_XS 6.4535. Report on R2: models/iq-ladder/mistral-7b/ppl-diag-report.txt.
  • Readout vs the three recorded hypotheses:
    • SLICE: eliminated — same non-monotone shape on a different corpus.
    • IMATRIX: mostly exonerated as root cause — IQ3_M is sick (11.64 ≈ 1.8× baseline) even quantized WITHOUT imatrix by fresh master. Secondary anomaly: the imatrix makes IQ3_M WORSE (13.76 vs 11.64), backwards from its purpose — our mistral imatrix is also suspect, but it can't explain the primary damage (IQ2_XS uses the SAME imatrix and is near-baseline).
    • TOOLCHAIN: CONFIRMED, with a sharper shape than "bump and retry": the defect is in the IQ3_S/IQ2_S-family quantization path on CURRENT master (fresh clone quantized the sick noimat artifact), so a forward version bump won't fix it. External anchor: llama.cpp discussion #5866 measured Mistral-7B-Instruct IQ3_S+imatrix at ppl ~6.78 on wikitext (early-2024 master) — near-baseline, vs our 13.76 today. This is a REGRESSION window between then and now; the fix path is an upstream bisect or pinning an older llama.cpp for mistral IQ3-family quantization.
  • IQ2_XS is genuinely healthy on mistral: +20% ppl vs baseline at ctx512, ~6.45 at ctx2048, battery 19/20, margin 1.21 — at 2.20GB (half the 4.37GB baseline). Its ladder number (7.04) was real.
  • RECOMMENDATION (recorded, not enacted): if mistral-7b gets a rung now, IQ2_XS is the only trustworthy sub-3GB rung; embargo IQ3_M/ IQ3_XXS/IQ2_S for mistral until the upstream regression is bisected or an older llama.cpp is pinned for quantization. The do-not-trust flag on the LADDER TABLE is now RESOLVED (numbers were real, not measurement error) but the IQ3-family artifacts themselves stay embargoed. Battery passing 19/20 on 2× ppl artifacts reconfirms: batteries are weak discriminators; ppl anchor stays mandatory.
  • Zoo lane note: fisher=8 retry 17604b2c still WORKING (their lane).

2026-07-12 (wake-up 316b) — mistral ppl DIAGNOSTIC SUBMITTED

  • New cloudbuild-mistral-ppl-diag.yaml (root; added to file list) — isolates the two sharpened suspects in one build, measurement-only: (1) TEXT/CTX: llama-perplexity on the SAME R2 rung GGUFs but on wikitext-2 test (ladder used calibration_datav3 tail both times) at ctx 512 ×80 chunks, plus ctx 2048 ×20 on IQ3_M (worst) and IQ2_XS (best) to probe sliding-window/ctx interaction; (2) IMATRIX: IQ3_M requantized from cached f16 WITHOUT imatrix (llama-quantize permits IQ3 sans imatrix) — if it scores sanely, the ladder imatrix is the culprit. Baseline Q4_K_M re-quantized from f16 as wikitext anchor. Report → R2 models/iq-ladder/mistral-7b/ppl-diag-report.txt.
  • Validated with the harness (yaml load + substitution sim + bash -n + py-compile of heredocs) before submit. Build ID: 7ecd2861 (QUEUED 23:42 UTC). Reading the result:
    • noimat IQ3_M sane + R2 IQ3_M wild on wikitext too → imatrix pathology.
    • ALL rungs sane on wikitext → slice-specific pathology (calibration tail text × mistral × IQ interaction); ladder ppl column untrustworthy for mistral, battery already said models are fine.
    • same non-monotone shape on wikitext → llama.cpp mistral×IQ bug; escalate to version-bump requantize.
  • Build 4ab63718 SUCCESS. LADDER SUMMARY (mistral-7b, fresh quantize from cached f16, fresh eval): baseline 4.37GB/6.0616/19-20/1.1814 · IQ3_M 3.29GB/14.8565/19-20/0.8146 · IQ3_XXS 2.83GB/16.2366/19-20/0.8595 · IQ2_S 2.31GB/14.4193/19-20/1.3548 · IQ2_XS 2.20GB/7.0391/19-20/1.2113.
  • Identical to the 64b6af94 run to 4 decimal places on every rung. The wake-up 232 flake hypotheses (per-rung measurement flake / quantize flake) are ELIMINATED: quantize→eval is fully deterministic, so the non-monotone ordering lives in the artifacts/toolchain, not in noise. The monotonicity detector (wake-up 233) fired correctly in-build on both inversions — first live validation.
  • Remaining suspects, sharpened: (a) llama.cpp × mistral-arch × IQ-type systematic interaction (sliding-window/vocab handling at IQ3_M/IQ3_XXS/ IQ2_S), (b) imatrix pathology specific to those type layouts on this arch. IQ2_XS at 7.04 (only +16% over baseline at 2.2GB) is the outlier in the GOOD direction — equally untrusted until explained.
  • DO-NOT-TRUST flag REMAINS. Recommended next diagnostics (user lane, recorded not guessed): (1) llama-perplexity on the R2 GGUFs with a DIFFERENT text slice + different ctx (same slice was reused both runs — slice-specific pathology unexcluded); (2) one suspect rung (IQ3_M) requantized WITHOUT imatrix to isolate suspect (b); (3) llama.cpp version bump only after (1)/(2) localize the layer.
  • No rung-pick for mistral until then. Queue unchanged otherwise.

2026-07-12 (wake-up 304) — zoo twins FAILED (near-miss); mistral rerun IN FLIGHT

  • Both 8547a564 + 07b4e562 (qwen2.5-0.5b KAIJU1, fisher=2) FAILED the native Paris gate — by a hair: argmax = token 279 (logit 14.448), " Paris" 12095 rank=1 at 14.302 (miss = 0.146 logits); " The" (576) correctly suppressed at rank 222. Pipeline ran end-to-end (24 layers, lm_head fine) — this is pure quant damage at the 0.5b sensitivity floor, consistent with the fleet scaling law (0.5b is the harshest judge). fisher=2 alone did not buy back the argmax on 0.5b. Second twin presumed identical (same substitutions, same yaml, same step failed). Zoo lane's call on next move (fisher>2, hi_frac up, or accept), not ours.
  • NEW build 4ab63718 WORKING since 18:45 UTC: mistral-7b IQ ladder RERUN (IQ3_M,IQ3_XXS,IQ2_S,IQ2_XS — same rungs) — this is the rerun recommended in the wake-up 232 anomaly flag (non-monotone ppl 6.06/14.86/16.24/14.42/7.04, do-not-trust). Next wake-up: harvest its LADDER SUMMARY, run the monotonicity check against it, and if clean, clear the mistral do-not-trust flag; if still anomalous, escalate to the requantize-on-llama.cpp-bump recommendation.

2026-07-12 (wake-up 297) — KAIJU zoo lane: two 0.5b fisher=2 encodes in flight

  • Two identical builds WORKING since 16:28 UTC: 8547a564 + 07b4e562, both qwen2.5-0.5b KAIJU1 with _FISHER_STEPS=2, _OUT_KEY=models/qwen2.5-0.5b-kaiju1.knot (writer-re empty, hi_frac 0.10/0.30). These belong to the PARALLEL session's KAIJU-zoo lane (fisher-weighted step search added to kaiju-encode-tensor.rs/kaiju_format.rs there) — NOT this lane's queue; do not cancel or resubmit. Identical substitutions 23s apart look like a double-submission by that lane's queue watcher; both write the same _OUT_KEY, so last-finisher wins — harmless but wasteful.
  • Next wake-up: when they finish, harvest the gate verdict (in-build ppl vs anchors; 0.5b Q4_K/IQ2_M anchors are per-model — check the build log's own SUMMARY, not the 7b anchor table) and journal it here. No action in this lane otherwise; queue remains decision-blocked on the user.

2026-07-10 (user order) — IQ fleet wave RESUMED: Codestral + Mistral queued

  • Direct user order: submit IQ-ladder encodes for Codestral + Mistral.
  • Existence/gate check (HF API): both public, gated=false, MistralForCausalLM / model_type=mistral (convert_hf_to_gguf-supported). No access blockers.
    • Codestral-22B-v0.1 license:other but download-ungated. NOTE: the fleet's "codestral-22b-openai" qspec (out-of-scope in survey #5) is the OpenAI gateway gate, NOT this base safetensors model — the user targeted the base model explicitly; it converts fine.
  • SUBMITTED (async) codestral-22b: build 124425eb-829d-4dd4-ae30-601f77cffc1c (QUEUED). _MODEL_ID=codestral-22b, _HF_SOURCE=mistralai/Codestral-22B-v0.1, empty _BASELINE_GCS (self-quant Q4_K_M ref, as the 0.5b validation run), default rungs IQ3_M,IQ3_XXS,IQ2_S,IQ2_XS. Console: https://console.cloud.google.com/cloud-build/builds/124425eb-829d-4dd4-ae30-601f77cffc1c?project=366749842679
  • mistral-7b = NEXT-TO-SUBMIT (one-build-in-flight rule), exact command + substitutions recorded in P1. _HF_SOURCE=mistralai/Mistral-7B-Instruct-v0.3 (Instruct-v0.3 to match qspec chat_template + colocation gguf repo).
  • Verified pre-submit: gcloud builds list --ongoing empty (no encode in flight); yaml loads (6 steps); .gcloudignore scopes context to workspace source (3.2 GiB tar); disk 5.7 GiB free (>3 GiB floor).
  • 22B caveat to watch: f16≈44GB fits diskSizeGb=200; imatrix+4-rung quant on 32 vCPU is 3× the 7B work — watch step timeouts (imatrix/quant 10800s ea, top-level 28800s). Step timeout = build-tuning to observe on completion, not a submit blocker.

2026-07-11 (wake-up 233) — pipeline hardened: monotonicity check landed

  • eval-sweep.sh now flags any coarser rung beating a finer one by >10% (verified against the real mistral numbers — catches both anomalies). Future ladders self-flag instead of masquerading as data.

2026-07-11 (wake-up 232) — mistral-7b ladder: ANOMALOUS, do not trust

  • Build 64b6af94 SUCCESS but ppl is impossibly NON-MONOTONE: baseline 6.06 / IQ3_M 14.86 / IQ3_XXS 16.24 / IQ2_S 14.42 / IQ2_XS 7.04 — coarsest rung 2× better than IQ3_M, while ALL batteries hold 19/20 (models generate fine). Pattern = per-rung measurement or quantize flake, not a real ordering (suspects: mistral-v0.3 vocab/sliding-window × IQ-type interaction in llama.cpp; possibly imatrix instability for specific types on this arch).
  • FLAG: do NOT rung-pick mistral off this table. Recommended check: rerun llama-perplexity on the suspect three GGUFs (artifacts are on R2 models/iq-ladder/mistral-7b/) with a different slice; if still wild, re-quantize with a llama.cpp version bump. Left for user lane.
  • Fleet learning: the ladder pipeline needs a MONOTONICITY SANITY CHECK (flag any rung whose ppl < a finer rung by >10%) — cheap to add to eval-sweep.sh; queued as pipeline hardening.

2026-07-11 (wake-up 206) — codestral-22b ladder COMPLETE (user build)

  • baseline 13.34GB/5.933 → IQ3_M 10.06GB/6.012 (+1.3%) → IQ3_XXS 8.60GB/6.108 (+3.0%) → IQ2_S 7.04GB/6.426 (+8.3%) → IQ2_XS 6.65GB/6.500 (+9.6%, battery 15/20). Timeout fix held; f16 persisting to GCS.
  • SCALING INSIGHT: the 2-bit cliff nearly vanishes at 22B (+9.6% vs 7B's +21-26%) — larger models tolerate low-bit better. Fleet implication: size-class determines rung choice (7B-class → IQ2_M/IQ3; 22B+ → IQ2 rungs viable; 0.5B-class → IQ3 only).
  • RECOMMENDATION for codestral (user's daily driver): IQ3_M ≈ free (−25%/+1.3%); IQ3_XXS balanced; IQ2_XS halves it for <10%. Knot-encode + native gate = the proven IQ2_M chain whenever the rung is picked.

2026-07-11 (wake-up 196) — KAIJU2 VERDICT: improved, still fails; SHELVED

  • Build 09452e34 SUCCESS: 3.42GB (mean 3.386 bpw), Paris PASS (margin 1.32), ppl 18.15 @ctx128. Table: Q4_K 12.54 / IQ2_M 16.03 (2.77GB) / KAIJU2 18.15 (3.42GB) / KAIJU1 19.86 (3.11GB).
  • Role-mix helped (−8.6% vs v1 — mechanism confirmed) but recovered <half the gap to IQ2_M while spending +650MB. Two full iterations: KAIJU at 3-3.4bpw loses to IQ mixes on BOTH size and quality.
  • FINAL SYNTHESIS: every intermediate measurement was real (ideal-lattice 4× gap, tensor-level KJ/IQ 0.087, Leech geometry 8.4%) — but capturing the practical gap needs error-feedback machinery (GPTQ-style compensation / quantization search) that IQ encoders embody, not just lattice + allocation. That is RESEARCH (v3+ = GPTQ-style sequential encode against H, or entropy-coded residuals), not a parameter tweak.
  • DECISION (autonomous, evidence-forced): KAIJU SHELVED as research; fleet ships on IQ (IQ2_M size-champion, IQ3 rungs quality-champion) — all artifacts gated and live. No v3 without user direction.
  • Artifacts kept: models/qwen2.5-7b-kaiju2.knot + telemetry on R2 (data for any future v3).

wake-up 173 — KAIJU2 role-mix VERIFIED in-flight: ffn_down encoding at

4.159 bpw (writer, hi_frac 0.30) vs readers 3.07 — allocation working as designed. 61/196.

2026-07-10 (wake-up 172) — codestral ladder FAILED (timeout); pipeline fixed

  • User build 124425eb: eval-sweep exceeded the 4h step timeout mid-run (22B CPU ppl ≈ 3× 7B). FIX COMMITTED: eval step 4h→8h, global 8h→16h in cloudbuild-iq-ladder.yaml. User resubmit will complete.
  • Partial harvest: codestral baseline + iq3_m both battery 18/20 but paris_pass=FALSE (margins 0.46/0.59) — Codestral is a CODE model; the qwen-tuned factual battery does not port. FLEET NOTE: per-model battery/qspec probes needed (the qspec files already exist per model — the ladder battery should eventually load per-model expectations; noted as pipeline v2 item, not blocking).
  • KAIJU2 encode continues.

2026-07-10 (wake-up 159) — KAIJU2 (role-mix) SUBMITTED

  • Driver: --writer-re/--writer-hi-frac (per-role side-band fractions).
  • Gate yaml v2: _WRITER_RE/_WRITER_HI_FRAC/_OUT_KEY substitutions; ppl verdict step ADDED to the gate itself (kaiju-ppl built in rust step — caught+fixed a cargo-in-python-image bug and a would-overwrite-v1-key bug during validation); ships to models/qwen2.5-7b-kaiju2.knot.
  • Submitted with writers = attn_output|ffn_down @ hi_frac 0.30 (≈4.1bpw effective), readers 0.10. Predicted ≈3.3GB. Gate = Paris + ctx128 ppl in-build (anchors: Q4_K 12.54 / IQ2_M 16.03 / v1 19.86; success bar: ≤16 ≈ IQ2_M-class at bigger size, stretch: ≤14.5). ~11h encode.
  • Authorized by standing "push Kaiju forward" + hard-deploy directives; ships to a NEW key, v1 artifacts untouched.

2026-07-10 (wake-up 158) — ANCHOR CORRECTS K4: attn_v EXONERATED

  • IQ2_M@ctx128 = 16.03 (build bae76bed; my 14.4 ledger-ratio estimate was wrong — short-ctx inflates quant damage superlinearly: IQ2_M +14.9% @512 → +27.8% @128; NOTED: ctx-128 ppl is a MORE sensitive gate).
  • Full table: Q4_K 12.54 / IQ2_M 16.03 / attn_v-abl 16.13 / KAIJU1 19.86.
  • CORRECTION (previous GQA story falsified by the data): attn_v swap is a WASH (+0.6%) — KAIJU1@3.08bpwQ4_K@4.5bpw on attn_v, consistent with the tensor ledger. The 16.03→19.86 gap lives in the other 168 tensors; pattern points at the RESIDUAL-WRITER roles (attn_output/ffn_down) that IQ2_M protects at IQ3_S 3.44bpw while flat KAIJU1 gives 3.07.
  • v2 SPEC SHARPENED: role-mix hi_frac — writers (attn_output/ffn_down, maybe attn_v kept too) at hi_frac≈0.3 (≈4.1bpw effective), readers (q/k/gate/up) at 0.10 (3.07). Predicted ≈3.3GB. One driver flag + ~10h encode; costed for the user alongside options (a)-(c) from wake-154 (recommendation now upgraded: v2-role-mix is a REAL candidate, mechanism twice-corrected and now data-grounded).

wake-up 155 — heartbeat: IQ2_M anchor (bae76bed) + user codestral

ladder both WORKING.

2026-07-10 (wake-up 154) — IQ2_M@128 anchor submitted; v2 options costed

  • FINDING while planning v2: within-tensor H scaling is a NO-OP in the current encoder (H only ranks channels WITHIN a tensor for the side-band). Role-aware v2 must act at PER-TENSOR allocation: precision classes by role (exactly what IQ presets encode). Options for the user: (a) v2-cheap: KAIJU1-except-attn_v/attn_k (mirror IQ2_M protection) — ~10h encode rerun, predicted ppl ≈ 17-18 (still above IQ2_M) unless bulk rate also rises; (b) v2-real: per-role precision classes + bulk-rate bump (~3.5-4 bpw bulk) — new encode + likely lands near IQ3_M size with unknown quality; (c) shelve KAIJU1, fleet on IQ. RECOMMENDATION: (c) for the fleet now, (b) as research when priced.
  • cloudbuild-iq2m-ppl-anchor.yaml submitted (validated): IQ2_M knot @ ctx=128 same slice — the missing baseline (est 14.4). ADD TO FILE LIST.

2026-07-10 (wake-up 153) — K4 DIAGNOSIS COMPLETE: role-blind H

  • Build 71f8b332 SUCCESS. A: full-KAIJU1 = 19.86 (confirms 19.78, no binary skew). B: IQ2_M-mix + attn_v-only KAIJU1 = 16.13 (vs Q4_K 12.54; est IQ2_M@128 ≈ 14.4 by ledger ratio).
  • READING: 28 attn_v tensors (0.7% of params) ≈ +12% ppl — per-param damage ~17× the rest. MECHANISM: GQA — each V column is read by 7 query heads/token, so output-side sensitivity ≈ 7× the INPUT-channel imatrix H. The weighted-excess ledger was per-tensor fair but ROLE-BLIND; this is why llama.cpp presets always protect attn_v (and why our tensor-level KJ/IQ=0.087 didn't transfer to model ppl).
  • The remaining 16.13→19.86 gap = the other 168 tensors also underperform IQ at matched bpw (smaller per-param, larger total) → v2 needs BOTH: (1) role-aware H scaling (× GQA group size for attn_v/attn_k; audit attn_output/ffn_down roles too), (2) bulk-rate/residual-coding revisit.
  • MISSING ANCHOR noted: exact IQ2_M@ctx128 ppl (est 14.4) — add to the next diagnostic run for a firm baseline.
  • STANCE: IQ2_M remains the shipped champion; KAIJU1 v2 direction is now mechanistically clear, not a guess. Report on R2: models/iq-ladder/kaiju-k4-diagnosis.txt.

wake-up 152 — heartbeat: K4-B ablation knot built (28 attn_v KAIJU1,

2.765GB), ppl scoring now.

wake-up 151 — K4 step A CONFIRMED: full-KAIJU1 = 19.86 on the fixed

binary (prior 19.78 = no binary skew; failure is real). Step B (attn_v ablation) encoding now. Codestral ladder still running.

wake-up 150 — K4 (71f8b332) WORKING at step A. ALSO: user-submitted

codestral-22b ladder (124425eb) running through the parameterized pipeline — fleet rollout being driven by the user directly. Will harvest both.

wake-up 149 — heartbeat: K4 build 71f8b332 QUEUED remotely.

2026-07-10 (wake-up 148) — K4 diagnosis build submitted

  • kaiju-knot-driver.py: --include-re ablation filter added (py_compile ok).
  • cloudbuild-kaiju-diagnose.yaml (validated, 6 steps): A) full-KAIJU1 ppl rerun on the FIXED binary (binary-skew check on 19.78); B) attn_v-only KAIJU1 ablation (28 tensors ~51M params, minutes to encode; everything else IQ2_M mix) + ppl — direct test of suspect #1 (attn_v crushed 4.5→3.07bpw where IQ2_M protects it). Same slice/ctx as anchors (Q4_K 12.54, full-KAIJU1 19.78). Report → R2 models/iq-ladder/kaiju-k4-diagnosis.txt.
  • READ: if B ppl ≈ 12.5-13 → attn_v is NOT the (main) culprit; if B ppl jumps toward 19 → smoking gun, v2 = protect attn_v like IQ2_M does (side-band/precision-class per tensor, not just per channel).
  • ADD TO FILE LIST: cloudbuild-kaiju-diagnose.yaml (root).

2026-07-10 (wake-up 147) — PPL ANCHOR: KAIJU1 v1 FAILS the quality gate

  • Parallel session shipped kaiju-ppl harness (a05d793f) + KAIJU1 ppl 19.78 @ctx=128. This wake ran the MATCHED Q4_K anchor: 12.54 @ctx=128, same slice/harness/1008 positions → KAIJU1 = +58% vs baseline ≈ well below IQ3_XXS/IQ2_M distributional quality. The tensor-excess→ppl bridge broke between 1 tensor and 196. Paris margin 2.73 was NOT predictive — single-probe margin ≠ distributional quality (recorded as a gate lesson: ppl anchor is now mandatory in the KAIJU gate).
  • EN-ROUTE KERNEL FIX (standalone win): fused Q4_K row-batch SIMD accumulators were capped at 64 while BATCH_CAPACITY=128 → positions 64+ SILENTLY ZEROED (third recurrence of this bug class per the kernel's own comment; first symptom = panic at math.rs:1099, then ppl=9.4M garbage). Fixed NEON+AVX2 to 128 with loud asserts. Any >64-batch Q4_K/Q5_0-class prefill was affected — worth an independent audit of other row_batch kernels.
  • CAVEATS on the verdict: KAIJU1's 19.78 came from the parallel session's binary (KAIJU1 knot has no Q4_K tensors → unaffected by the fixed bug; its Q5_K lm_head produced sane values, so plausibly valid). Clean confirm = rerun KAIJU1 knot through the fixed binary (needs the 3.11GB knot; local disk below guardrail → cloud rerun).
  • DIAGNOSIS QUEUE (K4): (a) confirm KAIJU1 ppl on fixed binary; (b) per-tensor-class ablation (KAIJU1 on ffn only, attn kept IQ2_M-mix) to localize; (c) suspects: attn_v crushed 4.5→3.07bpw (IQ2_M protects it), GQA 512-col H quality, hi_frac too small for mid-H mass, 28-layer compounding (off-diagonal effects invisible to the diagonal ledger).
  • RECOMMENDATION standing: IQ2_M remains the shipped, fully-gated size-champion; KAIJU1 v1 is NOT a fleet candidate until K4 resolves.

wake-up 62 — holding. NOTE: from here, wake-ups journal/commit ONLY on

state change (new build result, user input, unblocked work) — consecutive identical heartbeat commits add noise, not information. The loop still checks builds every cycle; silence in this journal = verified no-change.

wake-up 61 — heartbeat: no in-flight work; queue decision-blocked; holding.

2026-07-09 (wake-up 60) — FLEET PIPELINE VALIDATED (2nd model, 0 changes)

  • qwen2.5-0.5b ladder SUCCESS: baseline 398MB/12.51 → IQ3_M 343MB/12.97 → IQ3_XXS 334MB/13.36 (19/20) → IQ2_S 326MB/15.05 (17/20) → IQ2_XS 324MB/15.37 (14/20 — first battery-level degradation of the campaign, exactly at small-model 2-bit as expected).
  • Fleet learnings: (a) parameterized pipeline runs unchanged on new models; (b) small models compress proportionally less (embd-dominated files; the −40% class wins are 7B+); (c) f16 persisted to GCS for qwen2.5-0.5b (iteration cache).
  • STATE: all decision-independent work is DONE. Remaining queue = user decisions (fleet format KAIJU1/IQ2_M/both; native ppl harness; default flips; hexacode encoder). Wake-ups hold at heartbeat until the user returns or a new unblocked unit appears.

wake-up 59 — heartbeat: 0.5b ladder still uploading source.

2026-07-09 (wake-up 58) — fleet-pipeline validation ladder submitted

  • qwen2.5-0.5b through the parameterized ladder (_MODEL_ID/_HF_SOURCE substitutions, empty _BASELINE_GCS → self-quantized Q4_K_M reference). Decision-independent: validates the generic fleet pipeline for whichever format the user picks. Expected <1h. First real use of the parameterization from wake-up 2.

2026-07-09 (wake-up 57) — K3c CLOSED: knot SHIPPED; serving prepack fix

  • Build e9f0fa98 SUCCESS end-to-end: models/qwen2.5-7b-kaiju1.knot (3,110,644,169 B) + telemetry + gate log all on R2.
  • Kaiju1Layout parse-once refactor landed: matvec loops now parse the tensor layout once per call instead of per row (was the 160s-vs-28s forward overhead); single-row wrapper kept for embedding lookups. kaiju tests 3/3, cargo check clean.
  • Remaining v2 items for the user: native ppl harness (convert the ledger prediction into measured ppl), fleet format decision (KAIJU1 vs IQ2_M vs both), default-key flips, hexacode fast encoder. All recorded.

2026-07-09 (wake-up 56) — KAIJU1 FULL-MODEL GATE: PASS

  • Knot: 3,110,644,169 B = 3.11GB (−33.5% vs production 4.68GB; EXACTLY IQ3_XXS's size), 196 KAIJU1 tensors, mean 3.070 bpw.
  • NATIVE Paris through the KAIJU1 dequant: argmax 12095 " Paris", logit 15.8158, margin 2.73 — the HIGHEST margin of any artifact measured this campaign (Q4_K 2.00, IQ2_M 2.63).
  • Wall 160s for the 6-token pass (vs 28s IQ2_M) — per-row header re-parse overhead in dequantize_kaiju1_row; known fix = prepack cache (matvec_memo pattern). Serving-speed optimization, not correctness.
  • Ship step uploading models/qwen2.5-7b-kaiju1.knot + telemetry to R2.
  • Record: 4.68GB Q4_K (ppl 7.689) / 3.11GB KAIJU1 (margin 2.73, ppl needs native harness) / 3.11GB IQ3_XXS (8.251) / 2.77GB IQ2_M (8.835). Tensor ledger (KJ ≈ ideal lattice, 11.5× below IQ2_S) predicts KAIJU1 ppl < IQ3_XXS at equal size; verification needs a native ppl harness or llama.cpp KAIJU1 reader (v2, user priority call).

wake-up 55 — heartbeat: last tensors (181+/196); knot assembly +

gate next.

wake-up 54 — heartbeat: 181/196 (~92%) — gate step imminent.

wake-up 53 — heartbeat: WORKING, 161/196.

wake-up 52 — heartbeat: 161/196 (~82%).

wake-up 51 — heartbeat: WORKING, 141/196.

wake-up 50 — heartbeat: 141/196 (~72%), final layers.

wake-up 49 — heartbeat: WORKING, 121/196.

wake-up 48 — heartbeat: WORKING, 121/196.

wake-up 47 — heartbeat: 121/196 (~62%), steady.

wake-up 46 — heartbeat: WORKING, 101/196.

wake-up 45 — heartbeat: 101/196 (~52%), steady.

wake-up 44 — heartbeat: WORKING, 81/196.

wake-up 43 — heartbeat: WORKING, 81/196.

wake-up 42 — heartbeat: 81/196 (~41%), steady.

wake-up 41 — heartbeat: WORKING, marker 61/196.

wake-up 40 — heartbeat: 61/196 (~31%), steady.

wake-up 39 — heartbeat: WORKING, marker 41/196 (between prints).

wake-up 38 — heartbeat: 41/196 (~21%), telemetry steady. On pace.

wake-up 37 — heartbeat: WORKING, marker still 21/196 (mid-ffn-block

stretch between prints; expected). No action.

wake-up 36 — heartbeat: 21/196 tensors (~11%), telemetry steady

(3.070 bpw, clamp 0.0247). On the ~11h pace.

wake-up 35 — heartbeat: encode on pace (~22 min/layer projected).

wake-up 34 — heartbeat: encode step running, plan = 196 tensors (imatrix

covers attn_q/k/v too — more coverage than the 133 estimate), tensor 1 at 3.079 bpw / clamp 0.0242 (matches head-to-head). Healthy.

2026-07-08 ~18:10 PT? (wake-up 33) — kaiju-gate LIVE remotely: build

e9f0fa98, started 01:07 UTC. Encode step ≈10-12h; expect verdict ~13:00 UTC 2026-07-09. Heartbeats until then.

2026-07-08 ~19:50 PT (wake-up 32) — heartbeat: kaiju-gate submit still

tarring/uploading locally (proc alive, 81% CPU).

2026-07-08 ~19:30 PT (wake-up 31) — KAIJU1 FULL-MODEL GATE SUBMITTED

  • cloudbuild-kaiju-gate.yaml (validated, 6 steps): f16(GCS) + imatrix + IQ2_M base knot(R2) → build bins → full encode → native Paris gate → ship models/qwen2.5-7b-kaiju1.knot + telemetry on pass.
  • HONEST COST CORRECTION: encode = ~271M nearest_leech calls × 4.5ms ≈ 10-12 HOURS on 32 vCPU (earlier "2-3 min" note conflated per-point and per-block). One-time price for the correct-by-construction decoder; hexacode fast decoder = v2 lever. Build timeout 22h; expect results after ~12h of wake-ups (overnight). Submit is via shell-backgrounded gcloud (monitor via builds list, not a task file).
  • ADD TO FILE LIST: cloudbuild-kaiju-gate.yaml (root).
  • While it runs: wake-ups are heartbeats unless the user returns or a build fails. Possible parallel work if desired later: hexacode decoder scoping, or resume IQ fleet ladder for the next small model — LEAVING IDLE per one-build-in-flight rule.

2026-07-08 ~19:10 PT (wake-up 30) — K3c encoder pipeline landed

  • src/bin/kaiju-encode-tensor.rs (raw f32 + H → KAIJU1 blob, JSON telemetry; Cargo bin registered, compiles clean).
  • scripts/kaiju-knot-driver.py (f16 gguf + GGUF imatrix + IQ2_M base knot → mixed KAIJU1 knot; codec marker copied from base; per-tensor telemetry sidecar; py_compile clean).
  • ADD TO FILE LIST: both files above.
  • Next wake: cloudbuild-kaiju-gate.yaml — fetch f16(GCS) + imatrix + IQ2_M knot(R2) → build bins → driver → native Paris gate → on pass ship knot + telemetry to R2 models/qwen2.5-7b-kaiju1.knot. Expect ~133 KAIJU1 tensors, model ≈ 3.4-3.6GB (KAIJU1 3.07bpw on attn/ffn + IQ2_M's lanes elsewhere) — between IQ3_XXS and IQ3_M size with (per tensor evidence) far less damage.

2026-07-08 ~18:45 PT (wake-up 29) — K3b: rayon encode + KAIJU1 serving wired

  • encode_kaiju1 row-parallel (rayon; 7B full encode now ~cloud-feasible).
  • QType::KAIJU1 wired through all dispatch sites (compiler-enumerated): real dequant arms on both matvec paths + all embedding/lm_head row lookups; PANIC-arms (loud, correct) on the two row-stride-regular paths KAIJU1's variable layout can't serve (sharded-lm_head bytes_per_row, MoE expert block slicing); memo tag 9; baseline_bits 3.07. cargo check clean; kaiju tests 3/3.
  • Next wake: the encoder pipeline — kaiju-encode bin (knot/f16 + imatrix → KAIJU1 knot, per-tensor H incl. attn/ffn entries; lm_head/embd H needs --process-output imatrix OR keep those two tensors Q5_K/Q4_K in v1 — DECISION: v1 keeps lm_head+embd at IQ2_M's proven Q5_K/IQ3_S choices, KAIJU1 for the 133 attn/ffn tensors with real H; mixed-type knot is already supported by the TOC) + gate cloudbuild.

2026-07-08 ~18:20 PT (wake-up 28) — KAIJU1 HEAD-TO-HEAD: KJ/IQ = 0.087

  • Build c58407b0 SUCCESS. Same rows (blk.0.ffn_gate ×1024), same real H: KAIJU1 v1 excess 1.95 @ 3.074 bpw (clamp 2.5%) vs shipped IQ2_S 22.38 @ 2.5625 bpw → 11.5× less weighted excess for +0.51 bpw. KAIJU1's excess ≈ the ideal-lattice level from the gap sweep — the format captured essentially ALL the measured headroom; the top-H clipping channel of loss is structurally eliminated.
  • Rate context: KAIJU1 3.07 bpw ≈ IQ3_XXS 3.06 bpw. If excess→ppl holds even roughly, KAIJU1 ≈ IQ3_XXS size with far less damage. The MOOT scenario is materializing at tensor level.
  • CAVEATS: one tensor so far; excess→ppl bridge is monotone-ish not linear; the real test is the full-model gate. Encode was 490s single-threaded for this sample → rayon-ize encode_kaiju1 rows before full-model encode (7B would be ~hours single-thread).
  • NEXT (K3b/K3c): rayon encode; QType::KAIJU1 wiring (18-site map known); gguf/knot encoder path (needs per-tensor H = the model imatrix, which the pipeline already produces); full qwen2.5-7b KAIJU1 knot → native Paris + eval sweep vs IQ2_M/IQ3_XXS anchors. That gate = the final Kaiju verdict.

2026-07-08 ~18:00 PT (wake-up 27) — heartbeat: head-to-head c58407b0

WORKING remotely.

2026-07-08 ~17:40 PT (wake-up 26) — heartbeat: head-to-head build

uploading source.

2026-07-08 ~17:20 PT (wake-up 25) — KAIJU1 head-to-head submitted

  • gap-mode extended: KAIJU1 encodes the SAME truth rows with the SAME H and reports weighted excess + achieved bpw + clamp + KJ/IQ ratio next to the IQ2_S anchor (22.38). Compile-checked; gap build resubmitted.
  • Success shape: KJ/IQ well below 1.0 at ~3.0-3.2 bpw (IQ2_S is 2.5625) — quality-per-bit is the claim to verify; exact size parity is v2 packing.
  • Note: build 462617b8 = another external SUCCESS (user-side rerun; not chased).

2026-07-08 ~17:00 PT (wake-up 24) — K3a: KAIJU1 codec LANDED

  • src/kaiju_format.rs: partition_channels (H-sorted, 24-aligned via side-band growth), 8-bit side-band, LeechCode encode/decode (parity + Golay-12 + trit-packed ternary residuals, 7 B/block), per-row f16 scale + 4-bit block multipliers, encoded_size, read_header, dequantize_kaiju1_row (iq_dequant signature family). 3/3 tests green.
  • REAL FINDING during bring-up: the ternary residual box is COSET-ASYMMETRIC (odd half reaches −3..+7 Conway units → negative-tail clipping at ~1.2σ; measured clamp 6.9%, relMSE 19.5%). Fix: Λ24 = −Λ24 ⇒ mirrored decomposition of −v flips the asymmetry; flip bit stored in reserved byte1:7. Result: clamp 4.6%, relMSE 14.85% (v1 budget ≤15%). v2 levers if the gate needs them: 2-bit residuals on the clamp-heavy coordinate positions, entropy-coded Golay indices.
  • ADD TO FILE LIST: distributed-inference/src/kaiju_format.rs.
  • Next wake: weighted-excess head-to-head — encode real blk.0.ffn_gate rows with KAIJU1 vs their shipped-IQ2_S excess (22.38 anchor) via a gap- mode extension; then QType wiring + gate build.

2026-07-08 ~16:35 PT (wake-up 23) — K3a: KAIJU1 spec written

  • KAIJU1_FORMAT.md (this dir): Leech-24 bulk (56-bit LeechCode blocks: parity+Golay-12+ternary-residual trit-packed+sum-fix) + per-CHANNEL top-H side-band (8-bit lane, hi_frac 0.10, indices stored, permutation derived). ~3.05 bpw v1. Every choice cites its measured number (91.7% top-decile clipping → side-band centerpiece; 4x practical gap → headroom; 8.4-13.4% → Leech bulk; per-tensor-protection failure → per-channel granularity). Gate criterion: beat IQ3_XXS quality at ≤IQ2_M size. No container change (kn0t lesson). ADD TO FILE LIST: KAIJU1_FORMAT.md.
  • Next wake: K3a encoder — src/kaiju_format.rs (encode + dequant + tests: round-trip on synthetic + real-row excess vs IQ2_S on the same rows).

2026-07-08 ~16:15 PT (wake-up 22) — K2b VALIDATED. KAIJU BRIEF.

Validation rerun (both checks in predicted windows):

  • unweighted relMSE = 12.35% (expected 5-20%; no artifact — the gap is real)
  • excess by H-decile: 91.7% in the TOP decile (clipping-on-outliers mechanism confirmed; remaining 9 deciles share <9%).

═══ CONSOLIDATED KAIJU GO/NO-GO BRIEF (user decision) ═══ Every number measured this campaign, one place:

  1. LATTICE GEOMETRY (Λ24 vs ideal E8): 8.4% less excess on white data (G=0.065745 measured vs 0.071776, theory-exact); 7-13% on real weights+real H (biggest on moderate-H layers). Real, bounded, never inverts. Decoder proven Voronoi-exact (196,560-vector exhaustive).
  2. PRACTICAL-FORMAT GAP (shipped IQ2_S vs ideal lattice floor): ~4x weighted excess at matched coarse rates (22.38 vs 5.91@1.4σ), ≈1+ bits/dim overhead. 92% of the loss is grid CLIPPING on the top-H-decile channels. THIS, not lattice geometry, is where the money is.
  3. IMPLIED WINNING DESIGN (if GO): Leech-24 bulk lattice (free 8-13%, ours, Lean-certified) + FIRST-CLASS top-H channel side-band (~10% of channels at 6-8 bit — per-CHANNEL granularity, which my failed two-TENSOR protection was too blunt for). Napkin: ~2.4-2.7 bpw total with a fraction of IQ2_S's 22.4 excess → plausibly IQ3_XXS-or-better quality at IQ2_M-or-smaller size. Engineering: encoder (nearest_leech 4.5ms/pt OK for encode-once; hexacode fast decoder wanted), knot format fields (type string + side-band tensor), serving dequant kernel, per-model H from existing imatrix machinery.
  4. FLEET STATUS MEANWHILE: qwen2.5-7b shipped+gated at −40.7% (IQ2_M knot, native Paris margin 2.63>baseline). Fleet template proven; 13 more qspec transformer models ready for the parameterized ladder whenever the track decision lands. RECOMMENDATION: GO on the Kaiju format with the tail side-band as the centerpiece (data says tails matter ~10x more than lattice choice; take the Leech 8-13% anyway since it's free and sovereign). Sequence: K3a format spec + encoder → K3b tail-side-band → K3c serving kernel → gate on qwen2.5-7b vs IQ2_M → fleet. IQ fleet wave can run in parallel or wait — user's call. ═══════════════════════════════════════════════════════

2026-07-08 ~15:35 PT (wake-up 20)

  • Validation diagnostics added to gap mode (compile-checked): unweighted relative MSE (artifact detector — expect 5-20%, misalignment would show ~200%) + excess share by H-decile (clipping mechanism confirmation — expect top decile dominant). Validation rerun submitted (same yaml).
  • Next wake: harvest → if relMSE sane, write the consolidated Kaiju GO/NO-GO brief (all measured numbers in one section for the user).

2026-07-08 ~15:15 PT (wake-up 19) — K2b GAP DATA (needs validation)

  • Build b816ef4a SUCCESS. blk.0.ffn_gate.weight, 1024 rows, real H: practical IQ2_S weighted excess = 22.38; ideal E8 = 5.91 @1.4σ (26%), ideal Λ24 = 7.73 @1.4σ (35%); crossing extrapolates ~2.7σ ⇒ practical-IQ overhead ON THE ORDER OF 1+ bits/dim on this tensor. If validated, this IS moot-level headroom: the practical-format gap dwarfs the E8↔Kaiju geometry delta (8.4%).
  • CAVEATS (recorded before celebrating): (a) mechanism likely = grid CLIPPING on outlier weights × high-H channels — win concentrates in tail handling; a Kaiju format must actually solve tails (bigger dynamic range / outlier side-channel) to capture it; (b) VALIDATION REQUIRED: gap mode must print IQ's unweighted relative MSE (expect ~10-20% if correct; ~200% would mean row-misalignment artifact). Kernels did pass native Paris, so gross corruption unlikely — but a 4x claim earns the check.
  • Report on R2: models/iq-ladder/iq2s-vs-ideal-lattice-gap.txt.
  • Next wake: add relMSE + per-H-decile excess breakdown to gap mode, rerun (fold into one build), THEN write the consolidated Kaiju GO/NO-GO summary for the user.

2026-07-08 ~14:55 PT (wake-up 18) — heartbeat: K2b gap build b816ef4a

WORKING remotely (f16 fetch → row extraction → rust gap-measure).

2026-07-08 ~14:35 PT (wake-up 17) — heartbeat+note: build a29a0ccd =

externally-triggered RERUN of the knot-Paris pipeline (not mine; console retry or user) — SUCCESS again = independent replication of the native Paris gate. K2b gap build still uploading source locally.

2026-07-08 ~14:15 PT (wake-up 16)

  • K2b LAUNCHED: gap-mode added to the shootout bin (--mode gap: practical IQ2_S dequant vs f16 truth vs ideal-E8/Λ24 step sweep, same rows same H; compile-checked). cloudbuild-iq-gap.yaml submitted (validated): blk.0.ffn_gate.weight (real IQ2_S in the shipped IQ2_M artifact) ×1024 rows, truth from GCS f16 cache, H from recovery imatrix. Report → R2 models/iq-ladder/iq2s-vs-ideal-lattice-gap.txt. READ: E8/IQ and L24/IQ columns; the step where ideal crosses practical IQ, log2'd, = practical-IQ overhead in bits/dim — the last number for Kaiju GO/NO-GO.
  • ADD TO FILE LIST: cloudbuild-iq-gap.yaml (root); shootout bin gains run_gap_mode.

2026-07-08 ~13:55 PT (wake-up 15) — S2 COMPLETE: NATIVE PARIS PASS

  • Build bi0sstrl6/step chain SUCCESS: IQ2_M gguf → knot (2,774,415,941 B = −40.7% vs production 4.68GB knot) → native-pipeline-smoke through the NEW IQ2_S/IQ3_S kernels → argmax 12095 " Paris" rank 0, logit 15.6522, margin 2.63 (baseline Q4_K margin was 2.00 — the IQ2_M knot's Paris margin is HIGHER). Wall 28.3s on 32 vCPU (mmap).
  • SHIPPED: R2 models/qwen2.5-7b-iq2_m.knot + gate log at models/iq-ladder/qwen2.5-7b-iq2_m.paris-gate.log.
  • qwen2.5-7b is now reknotted + redeployed + qspec-revalidated at −40.7%. The fleet template is proven end-to-end: ladder → gate → kernels → knot → native Paris → ship.
  • DEFAULT-KEY FLIP (recorded, user decides): replacing the serving default models/qwen2.5-7b.knot (or registry pointer) with the IQ2_M knot means accepting +14.9% ppl as the default quality bar. Paris/battery/margin all pass or beat baseline; ppl is the one regression. RECOMMENDATION: flip for edge/size-critical lanes, keep Q4_K available under its key either way (both are on R2 — nothing is lost by flipping).

2026-07-08 ~13:35 PT (wake-up 14) — heartbeat: knot-Paris build was

uploading source at check time (harvested next wake).

2026-07-08 ~13:15 PT (wake-up 13)

  • gguf-to-knot.py: IQ3_S (21) + IQ2_S (22) mappings added (byte-verbatim, 82/110 B blocks). py_compile clean.
  • SUBMITTED cloudbuild-iq2m-knot-paris.yaml (validated, 3 steps): fetch shipped IQ2_M gguf → knot-encode with IQ types → build native pipeline w/ new kernels (rust:1) → REAL Paris gate (native-pipeline-smoke, tokens 785,6722,315,9625,374, expect argmax 12095) → on PASS ship knot to R2 models/qwen2.5-7b-iq2_m.knot + gate log. This is the end-to-end proof of the whole S2 chain: converter + kernels + dispatch on real weights.
  • ADD TO FILE LIST: cloudbuild-iq2m-knot-paris.yaml (root), distributed-inference/gguf-to-knot.py (modified).
  • Next wake: harvest gate result. If PASS → IQ2_M natively servable at 2.78GB; registry/default cutover is the remaining flip (user-authorized hard deploy). If FAIL → paris-gate.log has the layer-by-layer trace.

2026-07-08 ~12:55 PT (wake-up 12)

  • S2 DISPATCH WIRED: QType::{IQ2S,IQ3S} added as first-class types across the WHOLE serving stack — resolve_type mappings, both mat_vec dispatch paths (dequant-row+dot, F16-pattern), all embedding row lookups (model.rs ×6 incl. 2 block-style, gemma4 ×4, qwen35moe ×1), lm_head row readers + row-norm accumulator, tau-bowl gate reader, bytes_per_row
    • block_layout tables (82/110 per 256), matvec_memo tags (7/8), baseline_bits (2.5625/3.4375). cargo check clean; iq_dequant 4/4, loader 10/10, matvec_memo 8/8 green.
  • S2 remaining: gguf-to-knot.py IQ mappings → cloud-encode the shipped IQ2_M gguf → knot → native-pipeline-smoke Paris → hard deploy.

2026-07-08 ~12:35 PT (wake-up 11)

  • S2 KERNELS LANDED: src/iq_dequant.rs — scalar IQ2_S + IQ3_S dequant, byte-faithful ports of ggml-quants.c references; grid tables (IQ2S_GRID 1024×u64, IQ3S_GRID 512×u32, ksigns/kmask) MECHANICALLY extracted from ggml-common.h (GGML_TABLE_BEGIN parser — no hand transcription). 4/4 unit tests green (zero-block determinism ×2, sign-mask flips, scale nibbles). Registered in lib.rs.
  • ADD TO FILE LIST: distributed-inference/src/iq_dequant.rs.
  • S2 remaining: QType::{IQ2S,IQ3S} + resolve_type entries + mat_vec dispatch arms (dequant-row + dot path first, fused later) + gguf-to-knot.py IQ mappings (82/110 B blocks) → knot-encode the shipped IQ2_M gguf → native-pipeline-smoke Paris → hard deploy.
  • Earlier this wake: K0 final datapoint (blk0 step 1.5 = 0.8709); IQ2_M SHIPPED to R2+HF (build 6c4d48ed) — see S1/K2 entries.

2026-07-08 ~11:55 PT (wake-up 9) — heartbeat: real-H shootout running

(blk27 loaded 18944-channel real H ✓, first step still computing).

2026-07-08 ~11:35 PT (wake-up 8)

  • SHOOTOUT FIRST DATA (uniform-H/geometry-only, blk27 ffn_down, 1024 rows): wRatio 0.9158/0.9162 at steps 0.5/0.75 — matches the white-data G-ratio 0.916 exactly. Geometry ceiling confirmed on real trained weights.
  • CORRECTION: Leech decode = 4.5 MILLISECONDS/point (misread ns as µs earlier). 7B full encode ≈ 12 core-days ≈ 9h on 32 cores with the current 8192-coset decoder — viable for encode-once but a fast hexacode-based decoder is wanted if Kaiju goes GO.
  • GOTCHA: low-disk reclaim (user's flow pipeline) DELETED the imatrix files from ~/.edgework/models at 10:59 (knot survived). Re-extracted to session scratchpad; pass --imatrix explicitly. Keep small workstream artifacts in scratchpad, not ~/.edgework.
  • Killed the remaining uniform-H sweep (no new info); launched REAL-H runs: blk 27/13/0 ffn_down, 512 rows, steps 0.5-1.5. THE decision table.
  • Ship-IQ2M submit STILL local-side (machine contended by builds). Watch.

2026-07-08 ~11:25 PT (wake-up 7) — heartbeat: shootout release build in

codegen/LTO (10 rustc hot, scratch target 700MB), ship submit still local (machine contended). Disk 3.9GB — watch the 3GB floor during LTO link.

2026-07-08 ~11:05 PT (wake-up 6)

  • HEAVY LEECH TESTS PASSED (2003s): (a) exhaustive — all 196,560 minimal vectors decode to themselves (Voronoi-exact on the shell); (b) NSM bench N=60000: G(Λ24)=0.065745 measured (theory 0.065771; same-harness G(E8)=0.071776) → Leech 8.4% below E8 on white data = the geometry-only ceiling for Kaiju, now empirical on OUR decoder. Decode ~4.5µs/point on a contended laptop → 7B encode ≈2-3 min on 32 cloud cores; encode-once/serve-many viable.
  • Calibration for K0: if real-weights+real-H wRatio ≈ 0.916, Kaiju's gain is geometry-bounded; the moot-vs-IQ question then rests on practical-IQ's distance above the ideal-E8 floor (measure after shootout).
  • Shootout release build still compiling; ship-IQ2M submit alive (tar). Next wake: run shootout (blk 0/13/27 ffn_down × step sweep).

2026-07-08 ~10:45 PT (wake-up 5)

  • K1 verified done: leech decoder suite 13/13; heavy opt-in tests still running (196K exhaustive + NSM).
  • K2 bin WRITTEN: src/bin/leech-vs-e8-shootout.rs (+Cargo entry) — weighted-excess ledger comparison, E8 vs Λ24 at matched unit-det steps, real Q6_K rows + real imatrix H. Compile-checked clean; release build in progress (scratch target dir; main target locked by heavy test).
  • imatrix from R2 is GGUF-format; wrote python extractor → legacy single/multi-entry format. KEY FINDING: no output.weight entry (llama-imatrix skips lm_head without --process-output) → switched shootout target to blk_{0,13,27}.ffn_down.weight (Q6_K in knot + real H). blk.27 H spans 0.038→11,202 (6 orders of magnitude!) — extreme resonance concentration; H-weighted comparison will be highly discriminating. Extracted H at ~/.edgework/models/qwen2.5-7b-ffndown.legacy.imatrix (local, small).
  • Ship build (bh1zgkpks): local gcloud still uploading source; not yet in builds list. Watch next cycle.
  • Hook fix landed (user request): scoped commits now promptless (.claude/hooks/block-destructive-bash.mjs, root d746d51e7b, 6-case test).
  • Next wake-up: harvest release build → RUN the shootout (3 layers × step sweep) → journal the wRatio table = the Kaiju GO/NO-GO data.

2026-07-08 ~08:35 PT (wake-up 1)

  • Recovery build 3818de86 WORKING (started 15:15 UTC) — no results yet.
  • Discovered the user's flow train already committed the entire workstream file list across all four submodules + root (hashes in queue item 2) — no scoped commit needed for the backlog.
  • Removed scratch_kn0t_speed_benchmark from loader.rs pre-commit (read homedir paths; was session scaffolding). cargo check --lib clean. Committing that trim + this log update as the only delta.
  • Next wake-up: harvest recovery SUMMARY when 3818de86 completes (expect ~2-3h runtime from 15:15 UTC), apply gate anchors, update queue item 1; if still running, start queue item 3 (parameterize ladder yaml for fleet).

2026-07-08 (session, pre-autonomy)

  • Ladder measured (8b6ca582); user picked IQ2+recovery; recovery build submitted (by3fkdvi8 local task).
  • resolve_type/qtype_of silent-F32 fallthrough fixed → hard error; uppercase "F32" made explicit (was riding the buggy fallthrough).
  • encode-llama-knot.ts IQ block sizes corrected (were marketing-bpw, would truncate payloads).
  • GodFormulaQuant.lean written + compiles (allocation law, cascade composition, basin-exit witness).
  • Gate scripts validated end-to-end locally on qwen2.5-0.5b.

2026-07-12 — Mistral IQ-ladder AUTO-SUBMITTED by watcher