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
{{ message }}
Repository navigation
#3712 row A2: the Q4_K universe is read from each file's tensor header (apr tensors --json), never a *Q4_K* filename glob; the judge recomputes membership #3763
#3712 row A2 (owner aprender-62, approved by the cop 2026-09-21): the Q4_K universe is read from each file's tensor header, not from its filename. Stacked on #3738 (row B1), which is stacked on #3721 (row A).
The requirement (the #3712 issue author's done_when 1 clarification, quoted verbatim)
done_when 1 clarified (issue author, cop aprender-04, 2026-09-21 18:15Z), after aprender-c3 asked whether …-q4k.apr (no underscore) counts as Q4_K. Under the operator's rule ("tests are dervived from surface and SHACL enforced … it is hand coded not derived", #3745), filename is not evidence of quantization. A file is in the Q4_K universe iff its header says so: the dominant weight-tensor dtype read by apr's own header reader (GGUF file_type / per-tensor ggml types; APR tensor dtypes) is Q4_K, with Q4_K_M/Q4_K_S included. A *Q4_K* filename glob is refused as the universe definition. Every candidate model file on the host (*.gguf, *.apr) is read, and the receipt lists each file with its measured dominant dtype, so a mislabelled file is visible both ways: a q4k name holding fp16 is excluded, and an unlabelled file holding Q4_K is included.
Design, as approved by the cop
Candidates. Every *.gguf / *.apr under the ladder's model dirs is a candidate, selected by extension only. The patterns glob (*q4_k* / *q4k*) is removed, and a ladder that still declares one is refused.
Membership. A file is in the universe when Q4_K is a most-frequent dtype among its tensors of two or more dimensions. Ties count as members, since including too much is the strict side.
Reader. The dtypes come from apr tensors --json, apr's per-tensor header reader. It reads GGUF (IQ4_XS included) and APR. apr inspect --json is unusable for this: its quantization field reported Q6_K for a Q4_K_M file, None for every .apr, and it fails outright on IQ4_XS. That defect is filed separately and is not fixed here.
Receipt. It lists every candidate with its dtype histogram. The judge recomputes membership from the histogram:
a Q4_K-header file missing from the inventory is a FAIL (excluded by name);
a non-Q4_K file in the inventory is a FAIL (included by name);
an unreadable candidate is a named FAIL.
GPU. The header read runs through a no-GPU wrapper (CUDA_VISIBLE_DEVICES= empty), not the fleet GPU lock, so a held lock can't stall the inventory.
Measured on lambda (apr tensors --json, tensors of two or more dimensions, by count):
file
dtype counts
member?
Qwen3.5-0.8B-Q4_K_M.gguf
Q4_K 98, Q5_K 36, Q8_0 36, F32 18, Q6_K 17
yes
qwen2.5-coder-1.5b-instruct-q4k.apr
q4_k 169, q6_k 29
yes
qwen2.5-coder-1.5b-instruct-st.apr
all f32
no
By bytes, that same Q4_K_M file is Q6_K, which is why bytes is the wrong measure.
milestone → 0.71.0 per docs/roadmaps/milestone-triage-2026-09-23.md (#4024), operator approval 2026-09-23 (relayed by aprender-cf). Reason: Q4_K universe from the tensor header: the ladder universe (#3994, with #3846)
Parked by APR-EPIC-001: over S1 budget (rank 53/163). Reopen = pull. Applied by aprender-d1: claude+agy both said close, apr shadow row recorded (handoff/close-quorum-2026-09-25.json).
Activity
refactor(ladder): ONE definition of the Q4_K universe, shared by prod…
noahgift commentedon Sep 23, 2026
milestone → 0.71.0 per docs/roadmaps/milestone-triage-2026-09-23.md (#4024), operator approval 2026-09-23 (relayed by aprender-cf). Reason: Q4_K universe from the tensor header: the ladder universe (#3994, with #3846)
noahgift commentedon Sep 25, 2026
Parked by APR-EPIC-001: over S1 budget (rank 53/163). Reopen = pull. Applied by aprender-d1: claude+agy both said close, apr shadow row recorded (handoff/close-quorum-2026-09-25.json).