Skip to content

Retire Halogen and serve Gufo across local callers - #559

Closed
mecattaf wants to merge 17 commits into
mainfrom
gufo/repoint-consumers
Closed

mecattaf wants to merge 17 commits into
mainfrom
gufo/repoint-consumers

Conversation

@mecattaf

@mecattaf mecattaf commented Oct 13, 2026 •

Copy link
Copy Markdown
Owner

Halogen was still the resident GPU engine and callers named its old model ID. This cutover retires its module, container declarations and Strix model loans, enables Gufo on the same endpoint, and repoints callers to qwen3.8-flash-next.

Gufo runs one 102400-token session with thinking disabled, a fixed 1 GiB prefix cache and bounded queue/timeouts. GPU boot parameters are preserved. Fleet status and the local seat check Gufo readiness. The existing Substrate provider/seat names remain compatibility identifiers; the mutable catalog supplies Gufo's exact wire model and metadata. restartIfChanged = false protects running puller jobs during the configuration switch.

Validation: Gufo 0.20 loaded the existing NAS-borrowed GGUF, vision and MTP files in 25 seconds. Direct chat returned GUFO_READY, the utility wrapper returned UTILITY_READY, and installed Pi returned PI_GUFO_READY. 41 utility tests and 14 fleet-status tests pass. Combined suite/cutover flake evaluation passes; focused Nix check builds validate units, model catalog, callers and topology.

Activation is coordinated with suite PR579: stop the commissioning unit immediately before the declarative Gufo unit takes port8731. Halogen's exit137 evidence is preserved. Herdr, user manager, networking and active puller jobs are preserved; no reboot.

Part of #525 (fleet cutover #597).

mecattaf and others added 5 commits October 13, 2026 22:46
The utility-model wrapper (the /drain and /print seam) moves out of
modules/halogen.nix into modules/utility-model.nix, so disabling the engine
no longer removes it. lib/local-model.nix is the one place for the endpoint
(http://strix:8731) and the served id (qwen3.8-flash-next); Gufo answers
404 to any other id and 400 to none. The think=false flag now becomes
chat_template_kwargs.enable_thinking=false, the control Gufo honours; it
ignores the top-level enable_thinking Halogen took.

Refs #525.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tly off

screen-ocr, handwriting intake, call-diarize cleanup and the academic OCR
drivers name qwen3.8-flash-next and switch thinking off through
chat_template_kwargs (screen-ocr and intake sent Halogen's top-level
enable_thinking, which Gufo ignores, so they would have started thinking;
intake also sent reasoning_effort medium and Halogen's drafter field).
Intake's idle check reads Gufo's probes: /ready for the model, /v1/models
for image input, /metrics (requests_processing, requests_deferred) for load,
with new tests. call-diarize's cleanup label becomes local, so new evidence
lands in cleanup/local/ and old calls keep cleanup/halogen/.

Refs #525.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
pi's local provider takes its endpoint and id from lib/local-model.nix,
lists qwen3.8-flash-next plus the two operator-switched alternates
(qwen3.8-27b, deepseek-v4-flash), and turns supportsReasoningEffort on, so
pi's thinking level reaches the server (#424, carried by #525). The
provider key stays halogen: substrate's runtimes, seats and the models
catalogue name it, and substrate reads a missing provider as halogen. The
models.toml seed, the monthly review's inference row and the flows member
name qwen3.8-flash-next; seats only changes its label.

Refs #525.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
drain, print and ai-memory wording (including the exact unavailable
message the drain skill quotes, and its tests), the print README and the
Sway OCR bind comment.

Refs #525.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ches the module

The flake asserts tie services.gufo's served model names and port to
lib/local-model.nix, so the module and the consumers cannot drift apart
(Gufo answers 404 to any other id). pi's qwen3.8-27b row uses the 131072
context the Gufo module declares for it.

Refs #525.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@mecattaf mecattaf changed the title gufo: repoint every local-model consumer to qwen3.8-flash-next (cutover half, draft) Retire Halogen and serve Gufo across local callers Oct 21, 2026
@mecattaf

Copy link
Copy Markdown
Owner Author

Superseded by #605 (merged as 9287d02), which rebuilt this Halogen retirement on main; closing.

@mecattaf mecattaf closed this Oct 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant