3 Commits
Author SHA1 Message Date
purpleandClaude Fable 5.1 74ef4c86f8 fix(review): apply A1, A3, B2, N1 from review-leer2-offload and review-isalinux
A1: give the empty-active-conversation landing block its own inner testid
so e2e measures content against the flex-1 area, not against itself.
A3: extend activeConvIsEmpty to remote mode so a dispatched, still empty
remote chat shows the same landing block instead of a blank area.
B2: document in cloud-offload-defer.ts that a hung local run holds VRAM
until it ends (Stop), since the offload only waits for the booking flag.
N1: raise the Linux ISA guard MIN_DISASM_LINES from 20 to 200 (real Linux
run measured 761 for the smallest module), grow the realistic fixture to
234 lines and update the selftest assertions.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-19 11:56:06 -07:00
purpleandClaude Fable 5.1 59b29c6f2d fix(k1): close both Linux ISA-guard blockers from review-isalinux.md Runde 2
B1: an empty or too-short disassembly used to read as "no AVX found", a
pass for the wrong reason. objdump/llvm-objdump no longer swallow stderr
(2>/dev/null gone), a nonzero exit turns the guard red with the tool's own
error text, and every module (plus the exe) must clear a minimum
disassembled-instruction-line count before its ISA ceiling is even
evaluated.

B2: the SONAME-sibling pattern only required a suffix to START with a
digit, so a loadable "libggml-cpu-haswell.so.0.so" (extension exactly
.so, matching ggml's own dlopen scan) was silently trusted as an
already-checked sibling and never disassembled. The suffix is now
anchored to digits-and-dots only, and a real sibling is additionally
required to be byte-identical (cmp -s) to its canonical file before this
guard trusts it.

Auflagen also closed: the selftest now runs in ci.yml and release.yml
before any real build; a missing expected base Linux module (e.g. mtmd
silently dropped) now fails the guard the same way the Windows branch
already does; AVX-512 detection picks up k0, freestanding %kN opmask
operands, extended ymm16-31/xmm16-31 registers and AVX-512-exclusive
mnemonics regardless of register width (AVX512VL); the AVX2 heuristic now
treats any vp*-integer mnemonic on a %ymm operand as AVX2, closing the
"vpaddd on ymm slips through" gap the review named as overstated in the
prior round; and the disassembler-choice section documents why -d (not
-D) is used and how to tell a genuine ISA hit from a disassembled data
byte.

67 selftest assertions pass (up from 37), shellcheck 0.11.0 clean, bash -n
clean on all three shell files, both workflow YAML files parse.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-19 08:37:41 -07:00
purpleandClaude Fable 5.1 85a86983cf fix(k1): check every staged Linux sidecar module, not 4 of them
SKEPTIKER-LINUX-WEB-K1.md found verify-sidecar-isa.sh only checked x64,
sse42, ggml-base and the exe on Linux, skipping every other base module
(ggml, llama, llama-common, llama-server-impl, mtmd, ggml-vulkan) and every
CPU-tier variant's own ISA ceiling. Exactly those modules carried 24-98 VEX
hits on the Windows side of the same regression.

The decision logic (module classification against the llama.cpp
GGML_CPU_ALL_VARIANTS tier table, baseline/avx-only/avx2/avx512 ceiling
checks) now lives in scripts/lib/isa-guard-linux-rules.sh, shared with a
new scripts/verify-sidecar-isa.selftest.sh that proves it against
checked-in disassembly-text fixtures on any platform, no ELF file or
objdump needed. verify-sidecar-isa.sh sources the same file and feeds it
real objdump output; the two can never silently drift (a runtime assertion
compares EXPECTED_VARIANTS against the lib's own tier table). An
unrecognised module staged in the companions directory now fails the guard
closed instead of being skipped.

Also adds a built-.deb companion check to release.yml alongside the
existing built-AppImage one (K1-18): a completely different bundler
(dpkg-deb, not linuxdeploy) with its own independent silent-drop failure
mode, and bundle.targets is "all" so this workflow already ships a .deb
every release.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-19 08:19:13 -07:00