You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#1947 is about to finish measuring every model as shipped on this card. Phase 2 settled on 2026-09-06 (49 measured / 3 unmeasured of 52), phase 3's clean f16 ladder (#2245) completed at 10:26Z, and the cold re-measurement of the whole roster now runs on this round's pin (see the status block below). When that lands, the as-shipped question is answered.
Two things that matrix already shows, and neither can be fixed by pulling one more tag:
The top is saturated. Sixteen models sit within one point of each other at 63–64 / 69 on Tier B, from a 12 B dense up to a 35 B MoE; the incumbent qwen3:14b is at 62. The self-quantised gemma-4-26B-A4B ladder scored 62 / 62 / 62 at Q3 / Q4 / Q5 — bits do not move the score, the model does, and on a 14-case rubric a real training gain would be invisible.
The 27–35 B class spills. The best rows (Ornith-1.0-35B Q4_K_M at 22 GB, the Qwen3.6/3.8-27B class at 17–19 GB) run partly on the CPU at ctx 32768: 6.7 min/run against 2.1 for a resident model doing identical work. The published quants stop where our card cannot use them.
This epic is the other axis: train our own models for our own three jobs with Unsloth, quantise the bigger bases ourselves with imatrix + per-tensor bit selection so they fit, serve everything through the pinned Ollama, and score it all on a fresh three-slot benchmark with headroom. Ollama does not train and cannot produce imatrix quants; Unsloth does not serve. The plan is the seam between them.
Plan of record:docs/benchmarks/plans/2026-09-06-round7-unsloth-train-requant-ollama.md (PR #3089). Read it before touching any child issue; it carries the measured status, the hardware envelope, the pipeline, the data rules, the run order and — §15 — how agents work it.
Decisions taken 2026-09-06 (operator)
question
decision
Unsloth capabilities in scope
all four: SFT/QLoRA of the slot models; RL (DPO then GRPO) with the benchmark scorer as reward; continued pretraining on domain text; dynamic requant (imatrix + per-tensor bits)
"bigger models"
requant the 27–35 B class to GPU-resident and the 100 B+ RAM-offload class (123 B / 218 B rows); GLM-4.6 357 B stays a measured hardware rejection
training data
a separate, decontaminated corpus; real captured data from ES allowed as input but never leaves the host; captured slices use a local teacher; synthetic slices may use open-weight frontier teachers via OpenRouter (licences permit distillation)
compute
local card only, queued behind the cold re-run; training above 14 B only at the VRAM edge (offload) or as a gated follow-up
harness for round 7
main's 17-case / 83 rubric + pooled-claims scoring + all three slots, one new pin for the whole round; the a99e765 / 69 numbers are historical context only
One scoring vintage per table. Round 7 gets one pin; state it in every report.
Cold slot or the numbers are contaminated.STOP_WORKERS=1, N=2 → 3 → 5 escalation, UNRESOLVED marker, VRAM sampler, uptime per run, weights kept above the free-space floor.
0 ≠ empty.UNMEASURABLE / UNMEASURED are markers, never scores.
Transcripts are the deliverable. Synthetic runs commit them under docs/benchmarks/runs/; captured-data runs keep them outside the repo.
Never train on the test set. The 17 corpus programs — any toolchain, any optimisation level, their decompiled text, their rubric terms — are off limits for training, calibration and RL prompts. A decontamination report is a deliverable, not a footnote.
The GPU is one card. No training container starts while a sweep is alive; every chain waits on a positive condition, never on "the GPU looks idle".
Nothing lives only in /mnt-1. Scripts, configs, manifests and run cards are committed; adapters and merged weights are mirrored.
Working conventions — grit, rtk, gh (plan §15)
grit is mandatory for parallel work. One agent name per subagent (issue-<N>-coder). grit gc → grit symbols --file '<area>/*' → grit plan -a … -i "…" → grit claim -a … <file>::<symbol> … (creates .grit/worktrees/<agent>/; edit only the claimed symbols, only there; --with-deps, --queue as needed) → grit heartbeat --ttl 900 on long legs → grit done -a … (serialized; never two at once). Claim before dispatching a coder. New files: claim the neighbours you touch and grit init after the merge. Absolute paths inside grit worktrees. grit init again after any large merge to main.
rtk on every shell command. The hook rewrites commands to their rtk form; do not bypass it. rtk proxy <cmd> only when raw output is genuinely needed; long outputs to a file, read selectively. rtk gain --history in every end-of-issue report.
gh conventions unchanged. Check gh issue viewandgh pr list --search before claiming; in-progress + assignee + comment; milestone comments; push → PR → CI green → gh pr merge <n> --squash --delete-branch; Closes #N; new issue for out-of-scope findings; audit issue state at batch end; no AI tooling mentioned anywhere; no credentials or production domains in issues.
At most two agents at once, and only one of them on the GPU, through the positive-condition chain.
Status 2026-09-06 afternoon — the #1947 cold re-run was folded into this round
Operator decision: instead of 2–4 GPU-days re-measuring ~97 tags on the saturated 14-case pin, the whole roster is measured once, cold, on the round-7 pin. Done today (STATE-2026-09-06-round7-fold.md on the homeserver; scripts analysis/ghidra/benchmarks/corpus/round7_*.sh on PR #3089):
step
result
old-pin cold re-run
stopped after 13 models / 52 files → 1947cold/ kept as valid OLD-pin cold cells, ABORTED-2026-09-06.txt, partial quarantined
Dependencies: 3080 → {3081, 3083, 3084, 3085, 3086}; 3082 → {3083, 3084, 3085}; 3081 green before 3084 scores; 3084 → 3085; 3087 consumes every row; 3088 gated on 3084's result and the operator.
Still needed from the operator
OpenRouter key on the homeserver in a 0600 env file (S3 labels only; never in the repo).
2 × 16 GiB DDR4 registered ECC RDIMM into DIMME1 + DIMMF1 — not a blocker; makes the 100 B+ rows and activation-offload training faster.
Private Hugging Face repos for adapters — default off.
#1947 (the matrix this round extends), #2245 (the plain K-quant ladder = this round's control), #1804 (domain-specialised candidates), #2279 / #2985 (phase 2.5 and the still-missing slots_sweep.sh — #3087 absorbs the slots sweep), #356 / #1523 (the REx86 adapter path #3081 finally exercises), #2969 (Ollama 0.33.3 requalification — separate, but the newest archs may need it), #3023 (why the cold protocol is in the driver).
Why this round exists
#1947 is about to finish measuring every model as shipped on this card. Phase 2 settled on 2026-09-06 (49 measured / 3 unmeasured of 52), phase 3's clean f16 ladder (#2245) completed at 10:26Z, and the cold re-measurement of the whole roster now runs on this round's pin (see the status block below). When that lands, the as-shipped question is answered.
Two things that matrix already shows, and neither can be fixed by pulling one more tag:
qwen3:14bis at 62. The self-quantised gemma-4-26B-A4B ladder scored 62 / 62 / 62 at Q3 / Q4 / Q5 — bits do not move the score, the model does, and on a 14-case rubric a real training gain would be invisible.Ornith-1.0-35BQ4_K_M at 22 GB, the Qwen3.6/3.8-27B class at 17–19 GB) run partly on the CPU at ctx 32768: 6.7 min/run against 2.1 for a resident model doing identical work. The published quants stop where our card cannot use them.This epic is the other axis: train our own models for our own three jobs with Unsloth, quantise the bigger bases ourselves with imatrix + per-tensor bit selection so they fit, serve everything through the pinned Ollama, and score it all on a fresh three-slot benchmark with headroom. Ollama does not train and cannot produce imatrix quants; Unsloth does not serve. The plan is the seam between them.
Plan of record:
docs/benchmarks/plans/2026-09-06-round7-unsloth-train-requant-ollama.md(PR #3089). Read it before touching any child issue; it carries the measured status, the hardware envelope, the pipeline, the data rules, the run order and — §15 — how agents work it.Decisions taken 2026-09-06 (operator)
a99e765/ 69 numbers are historical context onlyRules that carry over from #1947 (not relaxed)
STOP_WORKERS=1, N=2 → 3 → 5 escalation,UNRESOLVEDmarker, VRAM sampler,uptimeper run, weights kept above the free-space floor.0≠ empty.UNMEASURABLE/UNMEASUREDare markers, never scores.docs/benchmarks/runs/; captured-data runs keep them outside the repo./mnt-1. Scripts, configs, manifests and run cards are committed; adapters and merged weights are mirrored.Working conventions — grit, rtk, gh (plan §15)
issue-<N>-coder).grit gc→grit symbols --file '<area>/*'→grit plan -a … -i "…"→grit claim -a … <file>::<symbol> …(creates.grit/worktrees/<agent>/; edit only the claimed symbols, only there;--with-deps,--queueas needed) →grit heartbeat --ttl 900on long legs →grit done -a …(serialized; never two at once). Claim before dispatching a coder. New files: claim the neighbours you touch andgrit initafter the merge. Absolute paths inside grit worktrees.grit initagain after any large merge tomain.rtkform; do not bypass it.rtk proxy <cmd>only when raw output is genuinely needed; long outputs to a file, read selectively.rtk gain --historyin every end-of-issue report.gh issue viewandgh pr list --searchbefore claiming;in-progress+ assignee + comment; milestone comments; push → PR → CI green →gh pr merge <n> --squash --delete-branch;Closes #N; new issue for out-of-scope findings; audit issue state at batch end; no AI tooling mentioned anywhere; no credentials or production domains in issues.Status 2026-09-06 afternoon — the #1947 cold re-run was folded into this round
Operator decision: instead of 2–4 GPU-days re-measuring ~97 tags on the saturated 14-case pin, the whole roster is measured once, cold, on the round-7 pin. Done today (STATE-2026-09-06-round7-fold.md on the homeserver; scripts
analysis/ghidra/benchmarks/corpus/round7_*.shon PR #3089):1947cold/kept as valid OLD-pin cold cells,ABORTED-2026-09-06.txt, partial quarantinedornith-35b-selfquant:Q4_K_M= 0 on all four runs → UNMEASURABLE on that pin, re-measured hereAPIARY-round7detached at32dbdeb1; the a99e765 clone untouched, transcripts mirroredtierb-cache-round7/17 entries, 0 errors, Ghidra 11.3.2qwen2.5:7b-instruct-q4_K_M70/83 A, 69/83 B, 17 cases, 0 empty — max is 83, not 79round7_coldrun.sh→sweep_extra.sh: 96 tags, cold, N=2 → 3 → 5, resultsround7/, loground7.log, VRAM sampler beside it; 2–4 daysOrder
Children
Dependencies: 3080 → {3081, 3083, 3084, 3085, 3086}; 3082 → {3083, 3084, 3085}; 3081 green before 3084 scores; 3084 → 3085; 3087 consumes every row; 3088 gated on 3084's result and the operator.
Still needed from the operator
DIMME1+DIMMF1— not a blocker; makes the 100 B+ rows and activation-offload training faster.Related
#1947 (the matrix this round extends), #2245 (the plain K-quant ladder = this round's control), #1804 (domain-specialised candidates), #2279 / #2985 (phase 2.5 and the still-missing
slots_sweep.sh— #3087 absorbs the slots sweep), #356 / #1523 (the REx86 adapter path #3081 finally exercises), #2969 (Ollama 0.33.3 requalification — separate, but the newest archs may need it), #3023 (why the cold protocol is in the driver).