diff --git a/scripts/frank-zealot.env b/scripts/frank-zealot.env index 7889ffd..ec4bd9b 100644 --- a/scripts/frank-zealot.env +++ b/scripts/frank-zealot.env @@ -1,12 +1,12 @@ -# frank-zealot — llama.cpp (PrismML fork build 10777, CUDA) on the RTX 3090, -# :7771. Payload: Ternary-Bonsai-2-9B PQ2_0 with the MTP head in the file, plus +# frank-zealot — llama.cpp (PrismML fork build 12118 = 0.7.0-dev, commit +# 024474448, CUDA) on the RTX 3090, :7771. Payload: Ternary-Bonsai-2-9B PQ2_0 with the MTP head in the file, plus # the refusal-direction adapter applied at load. # # ONE OWNER: shape, payload identity, eras, laws and every measured number # live in serverAppConfigs-docs/LLM/frank-zealot.md. This file carries the # knobs and only the reason a reader editing THIS line cannot recover # elsewhere. Where the two disagree, this file wins on values. -LLAMA_BIN=/home/dank/GitPackages/llama-prism-b10777/llama-server +LLAMA_BIN=/home/dank/GitPackages/llama-prism-0244744/bin/llama-server # The fork is a LOCK, not a preference: custom tensor type 142 + prism.hadamard.* # metadata. Stock llama.cpp refuses the file; a loader ignoring the Hadamard # metadata dequantizes wrong, silently. @@ -64,7 +64,8 @@ CACHE_TYPE_V=q8_0 # weights, so there is no --spec-draft-model. Its bill is pool × 4,096 B of # draft KV plus ~0.45 GiB of buffers and a tripled recurrent state — paid for # by CACHE_TYPE_V=q8_0 and UBATCH_SIZE=1024 above. Build gate: quantized V -# beside MTP needs fork build >= b10776; LLAMA_BIN is 10777. +# beside MTP needs fork build >= b10776; LLAMA_BIN is 12118 (b10777 is kept on +# disk as the rollback path). # SPEC_TYPE=none is the rollback and strips the WHOLE set (--spec-type and # every --spec-draft-*); half a set has segfaulted at load. SPEC_TYPE=draft-mtp diff --git a/scripts/serve-frank-zealot.sh b/scripts/serve-frank-zealot.sh index 92df928..e8e38cd 100755 --- a/scripts/serve-frank-zealot.sh +++ b/scripts/serve-frank-zealot.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash # Serve prism-ml/Ternary-Bonsai-2-9B-gguf (PQ2_0 ternary quant WITH the MTP head # in the file) as frank-zealot on Dankclaw's RTX 3090 via llama.cpp (PrismML -# vendor build 10777, CUDA sm_86). +# vendor build 12118 (0.7.0-dev, commit 024474448), CUDA sm_86). # # 2026-10-18 (Frank): Bonsai-2 27B PQ2_0 → the 9B MTP export, then the same # evening TWO 262,144-token conversations (--ctx-size 524288 --parallel 2) over @@ -78,7 +78,7 @@ if [[ -f "$ENV_FILE" ]]; then fi # --- defaults (used when the env file does not set them) ------------------- -: "${LLAMA_BIN:=/home/dank/GitPackages/llama-prism-b10777/llama-server}" +: "${LLAMA_BIN:=/home/dank/GitPackages/llama-prism-0244744/bin/llama-server}" : "${MODEL_FILE:=/home/dank/models/Bonsai2-9B-MTP/Ternary-Bonsai-2-9B-PQ2_0-MTP-Q8_0.gguf}" : "${ALIAS:=frank-zealot}" : "${BIND_ADDR:=0.0.0.0}" @@ -119,7 +119,7 @@ fi # above are what pay for it. The draft cache dtype IS a further knob # (--spec-draft-type-k / --spec-draft-type-v, both default f16 — verified in this # build's --help) and stays at its default here. Card gate: quantized V alongside -# MTP needs fork build >= prism-b10776, which is why LLAMA_BIN is the 10777 +# MTP needs fork build >= prism-b10776; LLAMA_BIN is 12118 (b10777 kept as rollback) # prebuilt; the type-142 loader lock keeps it pinned regardless. # SPEC_TYPE=none is the rollback and strips the whole set (flags move together). : "${SPEC_TYPE:=draft-mtp}" diff --git a/tests/frank_zealot_unit.bats b/tests/frank_zealot_unit.bats index 9248437..37d89ad 100755 --- a/tests/frank_zealot_unit.bats +++ b/tests/frank_zealot_unit.bats @@ -126,11 +126,22 @@ run_stage() { @test "the shipped env points at the fork runtime, the MTP pair and the refusal adapter" { # The payload path IS the endpoint's identity, and the runtime is part of # it here: the file's custom tensor type 142 + prism.hadamard.* metadata - # make the PrismML build the only loader, and this build must be >= b10776 + # make the PrismML build the only loader, and that build must be >= b10776 # because MTP beside q8_0 V is illegal below it. A retarget that moves the - # model but leaves the old build behind ships an endpoint that cannot load - # (type 142) or cannot run the documented MTP arm (the build gate). - grep -qE '^LLAMA_BIN=/home/dank/GitPackages/llama-prism-b10777/llama-server$' "$ENV_FILE" + # model but leaves a stock llama.cpp behind ships an endpoint that cannot + # load (type 142) or cannot run the documented MTP arm (the build gate). + # + # Assert the fork FAMILY, not the directory one rebuild happens to install: + # a literal path turns every runtime move into a test edit, and the suite + # runs on a box that has no /home/dank at all, so existence cannot be + # checked here either. + local bin + bin="$(sed -n 's/^LLAMA_BIN=//p' "$ENV_FILE")" + if [[ ! "$bin" =~ ^/home/dank/GitPackages/llama-prism-[^/]+/llama-server$ ]] && + [[ ! "$bin" =~ ^/home/dank/GitPackages/llama-prism-[^/]+/bin/llama-server$ ]]; then + echo "LLAMA_BIN does not name a PrismML fork build: '$bin'" >&2 + return 1 + fi grep -qE '^MODEL_FILE=/home/dank/models/Bonsai2-9B-MTP/Ternary-Bonsai-2-9B-PQ2_0-MTP-Q8_0\.gguf$' "$ENV_FILE" grep -qE '^MMPROJ_FILE=/home/dank/models/Bonsai2-9B-MTP/Ternary-Bonsai-2-9B-mmproj-Q8_0\.gguf$' "$ENV_FILE" grep -qE '^LORA_FILE=/home/dank/models/Bonsai2-9B-MTP/Ternary-Bonsai-2-9B-Uncensored-LoRA\.gguf$' "$ENV_FILE"