Uncommitted machine/session edits (live config, models, docs drift) were
blocking the merge of origin/main. Committed as-is to preserve them; the
merge that follows resolves overlapping prose files toward upstream
canonical, with local variants recoverable from this commit. Pre-merge
copies also in .AGENTTRASH/pre-merge-2026-10-18/.
frank-medium -> frank-archon (dankserver), frank-large -> frank-dragoon
(dankclaw-gpu), frank-small -> frank-zealot (dankclaw-3090). The Dankclaw
service/unit names keep the old frank-large spelling; only the OMP model ids
move, per the comments at each entry.
Windows refit to the served context minus the compaction headroom:
archon 196608 -> 200000 ctx, 32768 -> 16384 maxTokens
dragoon 200192 -> 217088 ctx, 57344 -> 45056 maxTokens, input +image
zealot 262144 -> 200704 ctx, 32768 -> 16384 maxTokens
All three now carry compactionModel frank-zealot, reasoningContentField
reasoning_content, and Qwen-recommended sampling in compat.extraBody
(merged last, so it beats the global -1 sampler settings).
- task.agentModelOverrides.scout: "@smol" (frank-small, xhigh thinking)
- task.maxConcurrency: 2 (semaphore on ACTIVE subagents; total
instantiations uncapped)
- compaction.remoteEndpoint -> frank-medium /v1/chat/completions
(192.168.0.235:7770), methodOrder remote-first; compactionModel:
frank-medium on every model so the wire model id is always valid
- models.yml header: single source of truth (pi-era import retired)
Verified: omp config get on all keys; omp -p startup probe passed;
live POST in the remote-compaction wire format answered.
Also carries previously-uncommitted edits already in the working file:
maxTokens 262144 -> 65536 (HALOGEN_MAX_TOKENS_CAP) with the KV-pool
admission note, and removal of the flm (dankclaw-npu) provider block.
Live check: halogen /health reports context=262144, so 200000 is inside
the served window; 200000 + 65536 = 265536 against a 401408-position pool.
halogen-flash-server has no server-side sampler defaults (temperature absent
or 0 = greedy), so the endpoint decoded greedy for OMP, whose global
sampling settings default to -1 (not sent).
compat.extraBody merges these top-level into every request body after the
compat policy, so they win:
temperature=1.0 top_p=0.95 top_k=20 min_p=0.0
presence_penalty=0.0 repetition_penalty=1.0 preserve_thinking=true
Verified against the live dankclaw endpoint: preserve_thinking is honoured
(350 vs 75 prompt tokens for a replayed reasoning turn), and the exact
body shape returns 200.