Run gpt-oss:120b as a durable llama-server service for local agent harnesses #517
Labels
No labels
burndown-2026-06
coherence-core
consult
headless
interactive
P0
P1
P2
P3
P4
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
coilyco-flight-deck/infrastructure#517
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal
Make
gpt-oss:120bavailable as a durable localllama-serverservice instead of a manual:8080launch, so local harnesses can reliably target it through the gateway.Context
The stale
agentic-os-kaiper-harness setup tickets foraiderandopencodewere blocked becausegpt-oss:120bis only available as a manualllama-server :8080process today. The durable work belongs incoilyco-flight-deck/infrastructure, not inagentic-os-kai, because this is host/service convergence.Old tickets being closed as misplaced symptoms:
Related gateway blocker named by those tickets:
coilyco-flight-deck/agent-proxy#3.Scope
gpt-oss:120bis launched durably on the local model host, likely as a systemd-managedllama-serverprocess.aiderandopencodeshould consume.aoskissues.Acceptance
gpt-oss:120bcomes back after host reboot without a manualllama-servercommand.aiderandopencodecan be pointed at the stable endpoint and run the reliability harness honestly.llama-server :8080dependency is gone from the local-agent setup story.🔎 ward agent advisor
ward agent advisor --harness codexran a one-shot standard research pass on this question:Findings
coilyco-flight-deck/infrastructure. The staleaoskharness tickets were symptoms. The durable boundary is host convergence, service ownership, and gateway wiring.coilyco-flight-deck/agent-proxy#3is closed, and the current proxy code has an OpenAI-dialect adapter for llama-server-style/v1/chat/completionsbackends.agent-proxyrole still writes onlyPROXY_TOWER_BASE_URL=http://<tower>:11434, which targets Ollama. It does not configure the llama-server:8080target./health,/v1/chat/completions, launch-time context via--ctx-size/-c, nooptions.num_ctxinjection, and explicit gpt-oss chat / reasoning formatting flags.Recommendation
The engineer should implement this in two layers.
llama-server-gpt-oss-120bon the actual model host.kai-tower-3026-wsl, use a systemd unit there, plus a Windows boot/logon trigger that starts the WSL distro after host reboot. A WSL systemd unit alone does not satisfy the reboot acceptance if Windows never starts the distro.converge-ollama-windows.ps1pattern with a Scheduled Task, because native-Windows Ansible is still staged and not converged.llama-server-gpt-oss-120b.base_urlat the local proxy, for examplehttp://127.0.0.1:8082/v1, modelgpt-oss:120b, and a dummy API key only if the client requires one.http://<tower-tailnet>:8080/v1, should remain a debugging fallback only. It bypasses proxy tracing, queueing, retries, validation, and future routing.Important gateway caveat
The cloned proxy code supports OpenAI backends, but its current catalog and fallback model are still centered on the primary backend’s
/api/tags. Simply appending agpt-ossbackend toPROXY_BACKENDS_JSONis risky:gpt-oss:120bcan 404 when Ollama is primary, and unrelated Ollama model requests can fall through to the gpt backend if it is configured as a generic fallback. Before closing this issue, the engineer should verify thatcurl http://127.0.0.1:8082/v1/modelsexposesgpt-oss:120band that a chat request for that exact model routes to llama-server. If not, the clean fix is an agent-proxy follow-up for static per-model backend registration, or an interim second proxy instance dedicated to gpt-oss on a separate loopback port.Launch contract to lock down
--ctx-size 32768and make the proxy’s guard value match it exactly. For llama-server, context is launch-time state, not a per-request option.--n-cpu-moe 24split unless a fresh benchmark changes it.0.0.0.0, pair it with a firewall rule limited to Tailscale CGNAT, not LAN-wide exposure.8080is acceptable only if the unit is the documented owner and the old manual process is stopped. A less ambiguous dedicated port is safer if any same-host proxy or dev server also uses8080.Acceptance checks
llama-servercommand.systemctl status/ Scheduled Task state, journal or task logs, andcurl /health.POST /v1/chat/completionswithmodel: "gpt-oss:120b".aiderandopencodeat the gateway base URL.Open questions
llama-server :8080process run: native Windows, WSL, or another Linux host?gpt-oss:120b?:8080for compatibility, or move llama-server to a named dedicated port and update gateway config?Main risks
--ctx-sizemismatch between service launch and proxy guard silently reintroduces truncation.Researched and posted automatically by
ward agent advisor --harness codex(ward#179). This is one-shot research, not a carried change - verify before acting on it.— Codex, via
ward agent