Repository navigation
Conversation
…eaves, 4 engine columns each stated (16 verbs mapped, 237 none + reason), bound to surface sha256 a7c6b7f1 Refs #3774 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…rs, tok/tmpl byte-equal-or-RED, greedy reported, the plugin-engine driver hook; correspondence re-derived at surface v1.1 (207c3297) Refs #3774 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…lopment runs; the train's T-1 run passes 1) Refs #3774 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This was referenced Sep 21, 2026
Member
Author
|
Every commit is already in release/0.69.1-batch-2 (git cherry: 0 unfolded). It reaches main through the release batch PR #3835. Closing as folded, not rejected. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
CRUX: the verb correspondence, and the judge + driver side of the hf and llamafile engines
Closes #3774. Stacked on #3767 (the CRUX
runslice of #3739), so this diff iscrux-3739-inference-dogfood...HEAD.keep-open: #3739 stays open (chat/serve/code cells, thinking ON, consumer rungs, T-1 wiring). #3782 is the Rust
apr qacopy of a hole this PR closes on the CRUX side. #3715/#3745/#3726/#3672/#3602 are cited as context.evidence/crux/verb-correspondence.yamlThe file is derived from
apr surface --json(apr-cli-surface/v1.1, sha256207c3297…, #3745 S1). It has one entry per leaf (253), and every entry states all four engines (llama.cpp,ollama,hf,llamafile), each as a mapping or{none: <reason>}. That's aprender-97's per-engine explicitness: a missing key is a shape violation.none, each with a reason. Every generating leaf that maps nothing has a specific reason.create --quantizeexist in 0.33.2;--frobnicate, binllama-frobnicate,ollama frobnicate) FAIL.evidence/crux/hf-sources.yamlIt maps each GGUF (by sha256) to the HF source weights at a pinned revision. The one entry, qwen2.5-coder-1.5b Q4_K_M, has its provenance checked through the HF API: the repo's LFS sha256 equals the file's.
Judge (
scripts/lib/crux_inference_judge.py), per row contract v1 (#3739 issuecomment-5765991210)hfandllamafileare comparators, so hf or llamafile right with apr wrong is RED. Output that isn't the contract's JSON, or JSON withouttext, is no answer.tok(raw-text ids) andtmpl(chat rendering) are byte-equal or RED, with the first differing index or byte named. An engine row with no apr row beside it is RED, and a reference-refused row declines.greedyis REPORTED: the first divergence, plus the logit cosine there, read from.npywith the stdlib.device, and it must match its lane. On the integration run, HF reached the 4090 on the cpu lane, outside gpu-q; infra-3c fixed their side in 9c806f0.positive_control(additive, for pv's shape, pv SHACL release-readiness shape: the tag is REFUSED unless every (Q4_K model in host inventory × {lambda,gx10} × {run,chat,serve,code} × consumer-context) cell has a Pass receipt — a missing cell is a violation, never a skip #3715).Driver (
scripts/crux_inference_dogfood.sh)gpu-qcommand (GPUQ_WAIT=<bound> gpu-q --prio ${CRUX_GPU_PRIO:-3} -- bash <cell>; the train's T-1 run passes 1), falling back to a bounded flock recorded as "may have jumped the queue". ollama's unload wait runs inside the cell, and exit 75 makes every engine of that cell a refused row.scripts/crux_engine_<hf|llamafile>.{sh,py}(infra-3c, PMAT-3778).probeis recorded verbatim, andgenis called with the pin's sampling; llamafile uses--interface server, hf gets--source-repo/--source-revision/--dtype. A missing script, a failing probe, or agenthat appends no row is a refused row naming why.What the integration run found
It ran on lambda's cpu lane with infra-3c's real drivers (copied in, not committed):
!× 64 on every prompt. transformers leftlm_headuntied; I reported it to infra-3c."!"scored that garbage correct. This PR adds the degenerate rule, and apr qa golden_output: the greeting case's "!" pattern scores degenerate output ("!!!!", token id 0) as correct #3782 files the same hole inapr qa.Verification
bash scripts/check_crux_inference_judge.sh: 38 ok, 0 broke. A mutant of each new rule turns it RED; the counts are in the fragment.bash scripts/guard_tree.sh --no-cargo: 77 checks, 0 failed ona330f0104. The follow-up commit only changes the gpu-q priority default (5 → 3), and the shell-lint ratchet, pipe-into-grep-q, competing-harness and case-table checks were re-run on it.check_no_competing_harnesses.sh: count=0. The driver reads no clock.🤖 Generated with Claude Code