Repository navigation
Bump Lemonade: 1bit-MONSTER/lemonade 74e6b2501301 (the tree that fixes the two failures validating the last pin) - #2299
Conversation
Gitlink only, as the automation writes it (no registry entry exists for Lemonade, so the gitlink is the single pin record). Moves ad89e8b76d89 -> 74e6b2501301, which is the fork's main and carries the two fixes that validating the previous pin found: 74e6b2501 onebit: declare the classification mode, and compare the memory fit in one unit (#52) Why that matters rather than being a routine step: the pinned tree at ad89e8b76 **failed two of its own tests**, and nothing else would have said so -- BackendModeContractTest FAIL onebit: 'classification' implemented and not declared agree MachineFitTest 2 hardware filter test(s) failed -> 141/143 `OnebitServer` derives from `LlamaCppServer`, which implements `IClassificationServer`, so the descriptor's capability is stamped whether or not `supported_modes` names it; and the memory-fit fixture carried `JustOver = 26.0` decimal GB against a 25.6 **GiB** threshold, which only passed while the two units were compared without converting -- the unit bug fork #44 (engine#1381) fixed. Measured on the pinned tree with a from-scratch configure and a full build (206 test binaries): before 141/143 (the two above) after 143/143, 0 failed gen_backend_boilerplate.py --check rc 0 (the README union the port spliced is regenerated)
7b21f97 to
1a84990
Compare
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
|
VERDICT: READY at The loop
The claims, checked
One askcarry the two fix commit ids ( |
bong-water-water-bong
left a comment
There was a problem hiding this comment.
VERDICT at 1a84990: READY
Verified the pin the way a submodule bump has to be verified, and the delta is exactly the fix the body claims.
74e6b2501exists, and — unlike the llama.cpp pin in #2296 — it is on the fork's ownmain, not only on a feature branch.- Forward, not a rewind:
ad89e8b76is an ancestor of74e6b2501. - The delta between the two pins is one commit:
74e6b250 onebit: declare the classification mode, and compare the memory fit in one unit. So the bump carries the two fixes named in the body and nothing else — no unrelated drift smuggled in with a routine-looking dependency move.
The reason this is not a routine bump is the part worth keeping: the tree the engine pins right now fails its own tests —
BackendModeContractTest FAIL onebit: 'classification' implemented and not declared agree
MachineFitTest FAIL 2 hardware filter test(s) failed 141/143
— and nothing in the engine's CI could see it, because a submodule's own test suite is not run by the consumer's pipeline. That is a structural blind spot rather than a mistake by anyone: the engine gates on what it compiles and runs, and this failure lived in a test the engine never executes. It is the same shape as the pin problems this lane has been chasing all night — the artifact being pinned was verified by ancestry and not by the one check that would have failed.
The explanation of the contract break is also the one a reviewer needs: OnebitServer derives from LlamaCppServer, which implements IClassificationServer, so the capability was implemented while the descriptor said otherwise — a disagreement between two places that both looked right on their own. Fixing it by declaring the mode is the right direction (make the declaration match the truth that already exists, rather than removing the implementation).
One thing I would like on the record for the next bump of this submodule: if Lemonade's own suite cannot run in the engine's CI, then a bump PR is the only place it will ever be noticed, and the body is the only durable record. This body does that well — it names both failures, their counts, and the mechanism. A one-line "how I ran it" (command + how the suite is invoked) would make the next person able to reproduce rather than re-derive.
Moves
third_party/lemonadead89e8b76d89→74e6b2501301, the fork'smain, which carries the two fixes that validating the previous pin turned up. Gitlink only,+1/-1, exactly the form the automation writes (update-index --cacheinfo 160000,…) — and Lemonade has noregistry/sourcesentry, so the gitlink is its single pin record and there is no second value to drift from.Why this is not a routine bump
The tree the engine pins right now (
ad89e8b76) fails two of its own tests, and nothing in the engine's CI could say so — the engine buildslemondfrom the pin without running Lemonade's suite:OnebitServerderives fromLlamaCppServer, which implementsIClassificationServer— the descriptor's capability is derived from the base classes, so it is stamped whether or notsupported_modesnames it. Upstream's contract test requires the two directions to agree. Our backend answers classification (zero-shot labels through/v1/systemone), so declaring it was the truthful repair.JustOver = 26.0decimal GB against a25.6GiB threshold — it only passed while the two units were compared without converting, which is precisely the bug fork site: the address is 1bit.gg #44 (engine#1381) fixed.25.6 GiB = 27.49 GB, so the fixture's "JustOver" is now28.0.Both are in
74e6b2501(lemonade#52, merged).Verified at the pinned tree
From-scratch configure, full build (206 test binaries), the pinned commit plus those two files:
The same commit also answered the question my previous Lemonade review left open — 28 of the fork's 29 workflows are
disabled_manually(only GitHub's own dependency-graph job is active), so no fork PR gets CI; a lane run of the whole suite is the only evidence there is. That is why the numbers above are a build, not a check-run link.Timing
Rebased onto current
mainafter it advanced the same gitlink toad89e8b76d89— the diff isad89e8b76d89 -> 74e6b2501301, one file,+1/-1, and it merges clean. It supersedes the closed #2282 (which pinnedad89e8b76, the pre-fix tree). The automation's next scheduled run is ~11 h away and would produce this same bump; doing it now means the engine stops pinning a red suite for those hours rather than hours later.