#!/usr/bin/env bats # Seam: frank-default-small model, context, tensor placement, and template. # This test covers only the Q6_K deployment contract. load helpers ENV_FILE="$REPO_ROOT/scripts/frank-default-small.env" SERVE_FILE="$REPO_ROOT/scripts/serve-frank-small.sh" UNIT_FILE="$REPO_ROOT/scripts/frank-default-small.service" TEMPLATE_FILE="$REPO_ROOT/scripts/chat-template.jinja" @test "frank-default-small selects the Ornith Q6_K model" { grep -q '^MODEL_FILE=Ornith-1\.5-35B-A3B-CRACK-Q6_K\.gguf$' "$ENV_FILE" grep -q 'Ornith-1\.5-35B-A3B-CRACK-Q6_K\.gguf' "$SERVE_FILE" } @test "frank-default-small uses 163840 context per slot across three slots" { grep -q '^CTX_SIZE=491520$' "$ENV_FILE" grep -q '163840 ctx each' "$ENV_FILE" grep -q '^PARALLEL=3$' "$ENV_FILE" } @test "frank-default-small keeps final eight expert blocks on CUDA" { grep -q '^OVERRIDE_EXPERT=' "$ENV_FILE" grep -Fq '31|32)\.ffn_' "$ENV_FILE" grep -q '^OVERRIDE_BUFT=CPU$' "$ENV_FILE" grep -q '^N_GPU_LAYERS=all$' "$ENV_FILE" } @test "frank-default-small uses the tracked Qwen-Sharp template" { grep -q '^CHAT_TEMPLATE_FILE=' "$ENV_FILE" grep -q 'peculiar-ragdoll/Qwen-Sharp-Chat-Templates' "$ENV_FILE" grep -q 'chat-template\.jinja' "$SERVE_FILE" [ -s "$TEMPLATE_FILE" ] grep -q 'qwen3\.8-froggeric-v22\.4\.0' "$TEMPLATE_FILE" grep -q 'Qwen-Sharp' "$UNIT_FILE" }