



The hard part
Local AI on a single PC reaches its limit quickly: one graphics card, one model loaded at a time, and every application wired to its own port. Meanwhile several capable machines sat idle while one did all the work. More machines only help if nobody has to remember which one does what, so the fleet had to look like a single service from the outside.
One endpoint sits in front of everything, and each request goes to whichever machine is fastest or already has the right model loaded. A graphics card that runs short of memory raises no error; it spills into system memory and slows to a third of its speed, so an arbiter refuses any load that would cause that. Idle models are put away to free memory and brought back when a request needs them. Every machine reports its vital signs every 30 seconds, so the question of whether more hardware is needed is answered from data rather than impressions.
427 commits on 62 working days since 2026-05-31; a transcription cut from 9.3 s to 1.9 s by keeping its model loaded; a batch finished 4.1 times faster when spread across idle machines.
What the measurements mean
Only what is unusual for this project. Every sentence names the field it came from; nothing here is asserted that cannot be checked against the data.
- The scan found 1 high-severity credential finding here (Hugging Face token). Only their locations are recorded, never the values. credential no_secretssee the evidencefrom secrets
- At 95,270 authored lines it is one of the larger things here, roughly 11x the median project in this estate. authored_linesfrom authored_lines
- It exists in 2 folders under the same name, so which one is current has to be established rather than assumed. possible-copy single_copysee the evidencefrom family
- It declares ports 3389, 5000, 8098, 8787, so it runs as a service rather than a script.from assets.routes, assets.ports
How it works
It began with a practical problem. I was running dozens of AI coding agents at once, and a wall of terminal windows made it hard to see which of them needed me. So I wrote a terminal that sorts each session's output into approvals, questions and errors, turning the wall into a queue. That tool is still here, but it is now one small part of a larger system. The larger system is a gateway. Applications talk to one standard endpoint (the same interface OpenAI uses), and the gateway decides which machine should answer. Quick requests go to the fastest machine that is good enough; harder ones go to the most capable. A machine that already has the right model loaded is preferred, and the local network is always tried before the remote tunnel, which is more than a hundred times slower. Two measurements show why this matters. Keeping the speech model loaded where it runs cut a transcription from 9.3 seconds to 1.9. A ten-minute recording split across six machines finished in 18.8 seconds, where a single machine took more than two minutes and quietly returned only 14% of the text. Most of the remaining work is about failing loudly rather than quietly. A graphics card that runs short of memory raises no error; it simply slows to a third of its speed, so the scheduler refuses any load that would cause that. Idle models are put away to free memory and brought back when they are needed. Each worker reports exactly which version of the code it is running, because I once had five machines serving stale code while every health check passed. And every machine records its load, memory and temperature every 30 seconds, so decisions about capacity come from evidence rather than impressions.
What kind of engineering this is
Six signals counted from the source: files that run models locally, that act without being asked each time, that check their own output, that survive failure, that touch parsers and protocols, and that were measured then improved. Every axis carries its file count.
What it is written in
Share of code bytes. Vendored bundles and generated output are set aside before this is computed, which is why it differs from a simple file count.
What stands out
- One OpenAI-compatible endpoint for chat, vision, embeddings, speech and images across the fleet
- Requests are routed by measured speed, to machines with the model already loaded, and over the local network before the much slower remote tunnel
- A ten-minute recording transcribed in 18.8 seconds across six machines, against 138 seconds on one machine, which also quietly returned only 14% of the text
- A graphics-card scheduler that refuses any load that would silently spill into system memory and run at a third of the speed
- Every worker proves which code it has loaded, so a machine running stale code is named
- Every machine's load, memory and temperatures are recorded every 30 seconds and kept
- A terminal emulator for Windows written from scratch, which reads each session's output and sorts it into a queue
Capabilities
- Highlights
- Install & run
- Using it
- Handy shortcuts
- Where things are stored
- Settings (`data/settings.json`)
- Architecture
- Non-goals (v1)
Grade
Every check names the field it measured. Checks that cannot apply are excluded, never counted as failures.
- provenance100.0%
- documentation100.0%
- runnability100.0%
- maintenance50.0%
- integrity60.0%
Not met
- no_secrets 1 high-severity finding(s)
atlas triage (locations only; values are never stored)
Architecture
Directories carrying real modules, largest first.
app66 modulestools22 modules
Data model
Typed structures and tables found in the source.
- Handler
Vulnerable dependencies
2 declared dependencies match a published advisory. Checked offline against the OSV database; only pinned versions can be checked, so anything unpinned here is unknown rather than clean.
- Should fix.
pip26.0.1→ 26.1GHSA-58qw-9mgm-455v, GHSA-jp4c-xjxw-mgf9, GHSA-qwm4-qh6w-59xr - Should fix.
setuptools80.9.0→ 83.0.0GHSA-h35f-9h28-mq5c, GHSA-xmj3-9gf7-h52w, PYSEC-2026-3447
Vocabulary
Parsed 193 of 193 Python file(s). Counts are exact; the names below are a sample.
Classes
_FakeNativePtysmoke_test.py:419__init__, read, iseof_FakePtyProcsmoke_test.py:452_ClsRespsmoke_test.py:692__init__, read, __enter__, __exit___ClsOpenersmoke_test.py:698__init__, open_ClsRetryOpenersmoke_test.py:723__init__, open_FakeProcsmoke_test.py:895is_alive, read, write, stop, resize_NameProcsmoke_test.py:983__init__, is_alive, read, write, stop, resize, current_working_directory_FakeRespsmoke_test.py:1095__init__, read, __enter__, __exit___OkOpenersmoke_test.py:1101__init__, open_BoomOpenersmoke_test.py:1105open_CapOpenersmoke_test.py:1131__init__, open_RetryOpenersmoke_test.py:1148__init__, open_HdrOpenersmoke_test.py:1182__init__, open_CaptureOpenersmoke_test.py:1245__init__, open_FakeResp2smoke_test.py:1332__init__, read, __enter__, __exit___ModelsOpenersmoke_test.py:1338__init__, open_BoomModelssmoke_test.py:1346open_RouteOpenersmoke_test.py:1382__init__, open_FRsmoke_test.py:1533__init__, read, __enter__, __exit___Oksmoke_test.py:1539__init__, open_Boomsmoke_test.py:1543open_QTargetsmoke_test.py:1644__init__, submit_text_Psmoke_test.py:1645is_alive_Rsmoke_test.py:1847__init__, read, __enter__, __exit__
Functions
_wait_deferred_crsmoke_test.py:21testsmoke_test.py:43checksmoke_test.py:50_pump_untilsmoke_test.py:2714_drainsmoke_test.py:2744_sdsmoke_test.py:3526_vpostsmoke_test.py:4817_fake_pingsmoke_test.py:4879_fake_401smoke_test.py:4896_fake_downsmoke_test.py:4925_no_probesmoke_test.py:5004_timeout_as_work_arrivessmoke_test.py:5008_timeout_idlesmoke_test.py:5012_Msmoke_test.py:5234_Ssmoke_test.py:5330_pk_postsmoke_test.py:5686_pk_childrensmoke_test.py:5695_fake_fetchsmoke_test.py:6378_fill_and_waitsmoke_test.py:6657_fake_postsmoke_test.py:6706_hung_postsmoke_test.py:6729_cold_then_fastsmoke_test.py:6765_fake_workersmoke_test.py:6830_stt_membersmoke_test.py:6860
Command line
- capacity
- run
- jobs
- logs
- fetch
- ram
- residency
- map
- learned
- prewarm
- --wait
- --no-gateway
- --fix
- --check
- --root
- --writable
- --config
- --transfer-log
- --worker
- --all
Depth
Signals counted from the code, not asserted.
442 commits across 69 separate working days over 5.4 months, 50 of them revising existing behaviour
Built from scratch
- Concurrency primitives
- Terminal / VT emulation
- Scheduler / state machine
- Parser / lexer
- Protocol / wire format
- Custom indexing / search
Closes its own loop
- Memory / accumulated state
- Completion detection
- Evaluation / scoring
- Unattended task execution
Proves itself
- Benchmarks
- Reconciliation / audits
- Smoke tests
- Backtesting / evaluation
- Golden / baseline files
Survives failure
- Logging / observability
- Timeouts
- Recovery / restore
- Fallback paths
- Retry / backoff
- Rate limiting
Local inference
- TabbyAPI / ExLlama
- Local TTS
- LM Studio
- vLLM / TGI
- llama.cpp / GGUF
- Local diffusion
Systems
Distributed systems
- Worker orchestration
- Provisioning / bootstrap
- Health / heartbeat
Working within limits
- Timeout budgets
- Context-window budgeting
- Throttling / rate limits
- Memory ceilings
Environment engineering
- Virtual environments
- Bootstrap scripts
- Dependency isolation
- Runtime detection
Operating-system internals
- Elevation / UAC
- ConPTY / pseudo-terminal
- Win32 API
- Windows services
- Process control
GPU & memory management
- VRAM budgeting
- CPU/disk offload
- GPU probing
- Quantisation
Languages
- Python88,258
- PowerShell4,420
- Shell1,760
- Batchfile349
Built with
- PySide6 / Qt
- pywinpty
- pip
Recurring themes in the commit history
- movie
- night
- fleet
- llm
- arbiter
- compute
- commander
- last
- never
- state
Evidence
Taken from the code itself: a module docstring or the opening of the README.
Application entry point. Initialises configuration, logging, and launches the main window. Includes global crash handler that writes tracebacks to logs/crashes/.
At a glance
- Status
- active
- Primary language
- Python
- First commit
- 2026-05-31
- Last activity
- 2026-11-11
- Domain
- Desktop applications
- Agent docs
- CLAUDE.md, AGENTS.md, agent.md, PROJECT_KNOWLEDGE.md, .claude