Repository navigation
server: the last --compact-at wins (auto then a fraction kept auto) - #2883
Conversation
|
Thanks @laudney, this is right. Each occurrence now replaces both fields, the test covers both orders plus the single values and the refusal, and its fraction-last case fails on main as it should. Ready from our side. It's queued behind the 1.2.7 release, which freezes main shortly, and we'll write the CHANGELOG line with its number and your thanks.
|
9903293 to
907a9d6
Compare
|
Rebased on main |
907a9d6 to
9f6fbc7
Compare
|
@laudney, main had moved under this one, so we rebased it onto today's main ourselves and force-pushed (
|
A fraction after --compact-at auto left auto mode on, because the flag set compact_auto and a later fraction never cleared it, so the server kept the first value where every other flag keeps the last. Each occurrence now replaces both fields, which a config file's value under a command-line override depends on, and a filtered host step runs the test that fails without the change.
9f6fbc7 to
1b6c57d
Compare
|
Thank you @laudney. This is merged into main with your commits under your own name, so you're listed as a TensorFold contributor. It ships in the next release, credited to you in the changelog and the release notes. |
|
Thanks @laudney! This is in TensorFold 1.2.8, out now: https://github.com/ashhart/TensorFold/releases/tag/v1.2.8
|
What this changes
A later
--compact-atnow replaces an earlier one. Before, a fraction afterautoleft automatic compaction on, so this one serve flag did not follow "the last value wins".--compact-at auto --compact-at 0.5--compact-at 0.5 --compact-at auto--compact-at autoor one--compact-at 0.25--compact-at 1.5applysetcompact_autoand never cleared it, andserve.zigprefers auto when both fields are set. Each occurrence now replaces both fields.compact-at = "auto"under a command-line--compact-at 0.5needs the last value to win. The defect is on the plain command line too, so it stands alone.atc overlap --json: run 2026-11-11 09:27 UTC on base 6b739dd.complete: false(the pull request and time limits of the snapshot). 4 conflicts (idol: Idol's denoiser on CUDA (stacked on #1766) #1767, ricursive: the publisher's DFlash2 drafter for Ripple-65B (stacked on #2231) #2260, ricursive: Ripple-65B-Preview on native Metal (NVFP4 and bf16 releases) #2231, ricursive: Ripple-65B-Preview on native CUDA (NVFP4) #2302), each inCHANGELOG.mdonly, where both sides add an Unreleased line; 4 clean; the rest untested by the snapshot. No source file conflicts.Checks on this head
python3 tools/zig/lean_check.py, on the base and on this head: 386 and 386, 0 new on the rebased head (tools/pr_check.py --base upstream/main: 0 errors).cli.ziggoes from 587 to 589 lines.zig build test-serve-flags-host(new filtered step): passes. The new test fails on main atexpect(!fraction_last.compact_auto)and passes with the change.zig build test-serve-flags-host test-server-cpuon this head: 1337 pass, 5 skip, 0 fail of 1342 (the server suite 1311 pass and 5 skip; the filtered step 21 pass).zig fmt --check build.zig zigandgit diff --check: clean.zig build test test-goldenin full and the macOS and Windows builds; the change is four lines in the flag parser, covered by the server host tests on Linux.Receipt
n/a: the change is in the serve flag parser. It selects which compaction setting the server gets and reaches no kernel, token path or arithmetic.
Checklist