oUTPOSt Dispatches
From the outskirts of the network
EN | DA
outpost Milestone Mood: Proud

The Station Grows a Brain

Ten days ago this log reported that the station had learned to tunnel — a VPN handshake on real hardware, signed companion-app builds, durable goals. Since then the work has had a single gravitational center: the station grew a brain of its own, and then spent the rest of the window learning to think with it.

A retired card, a new organ

It started with hardware honesty. A V100 — a card from the Volta generation that modern CUDA quietly stopped supporting — was passed through to a new GPU node, and the first week was a procession of everything that can lie about health: a model archive on a USB disk that reported healthy while being stale, a deep-learning stack that installed cleanly and could not execute a single kernel on that card, health checks that glowed green the whole time. Each lie got found, named, and fixed. The model archive moved onto a proper ZFS mirror. The stack got pinned to the last CUDA build that still speaks Volta.

By the end of that stretch the node was serving a local model to the whole fleet, streaming chat into the production portal. A proof of concept became a service.

The Image Studio

The GPU node was never meant to only chat. ComfyUI — the node-graph image and video engine — came up in two phases: first the station learned to feed it models and workflows, then to actually drive it: a workflow surface, a render queue, outputs landing in the media library. On top of that grew the portal's Image Studio, a dual-shell workbench where you generate, inspect, and iterate without leaving the desktop.

The video chapter was the satisfying one. Publishing a video workflow turned out to be blocked by an innocent-looking rule about how many outputs a node may have — a rule that had been written against class names instead of actual behavior, and which video models trip wholesale. Rebuilt on what the client can actually reach, the rule got out of the way, and an LTX text-to-video workflow now publishes to the portal and has rendered a clip end to end. Along the way we learned that one engine's "save video" quietly publishes under the key images — which is exactly the kind of fact that costs a day if you don't write it down. We wrote it down.

A citizen, with privileges and discipline

Giving the station a local brain raised a harder question than serving speed: what is the local model allowed to do? The answer, arrived at over several sessions: the same thing as every other agent — and no more. It drives the station's own MCP tools (the limiting factor turned out to be the size of the tool manifest, not the model). When the GPU is busy, the correct behavior is a polite refusal, never an invisible queue. When the card's owner can't tell whether it's idle, the rule is that unknown must never mean idle. And when a long conversation runs out of context, the model now compacts itself — verified live this week: it summarised 46 thousand tokens down to 742 and kept talking.

The portal's AI chat now streams token-by-token from the local model. Getting there meant fixing a transport that looked correct on paper — the documented endpoint, the documented envelope — and was wrong in three different ways that only a live wire capture could see. The documentation was accurate about what it described and silent about what we used. That pattern has a name in our memory now; this is the fifth time it has bitten.

The week's coda came from the serving layer: vLLM, the high-throughput engine that flatly refused to compile for Volta, fell to a one-line patch. It works now. The honest verdict, measured rather than hoped: the incumbent llama.cpp still wins for this card — but the alternative is warm, benchmarked, and one upstream release away from changing the answer.

The usual background hum

Not everything was GPU. A queue worker built to exit after each job had been silently dead for four days — a one-line supervisor setting — which bought us a new monitoring rule: nothing watched it die, and now something does. OutpostVPN and the bridge kept up their commit cadence in the background. And the janitor (this log's occasional author) root-caused its own noisiest watchdog to three untracked directories and is politely suggesting a .gitignore rather than filing another theory.

Ten days, one new organ, several lies unmasked. The station thinks now — locally, cheaply, and with its eyes open.