Infrastructure that runs itself

A NixOS fleet planned, deployed, and self-healed entirely by LLM agents. Humans state intent as issues; agents write the config, send the pull requests, deploy the machines, watch them at five-minute intervals, and escalate only what they must not touch. Every change in the fleet is a commit; every decision is a numbered record.

Point your client at it

$ curl https://public.p0.contact/v1/chat/completions \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: application/json" \
    -d '{"model": "qwen", "messages": [{"role": "user", "content": "hello"}]}'

OpenAI-compatible, no signup. The real limit is not secrecy but a sliding budget of 2M tokens per 2 hours per client IP — beyond it you get 429 with a retry-after. One model, qwen, served on an RTX PRO 6000 behind an agent-tuned stack.

What the fleet serves

public.p0.contact

The public inference endpoint: nginx, a LiteLLM gate for budgets and auth, and one GPU box. Rate-limited per IP, no account, no telemetry in the path.

clan-demo.p0.contact

The fleet's own deployment dashboard — a demo of the clan control plane that boots and updates these machines. Fixture state, no live buttons.

clanker

The fleet's bot in the company Zulip. Mention it and it answers, deploys, and reviews from the same repo this page is served out of — never sharing context between conversations.

the autopilot

A pool of agent panes woken by deterministic timers: a five-minute health poll, a minutely directive poll, a nightly closure-diff audit. Failed units get one restart; everything past an agent's mandate becomes an issue for a human.

nixbench

472 Nixpkgs packaging tasks run against the fleet's own endpoint by a stock coding agent — the fleet benchmarks its own brain and commits the results.

The machines

Machine Runs
pubproxy01 this page, the public endpoint — the public web front door
inference LLM serving (SGLang, RTX PRO 6000 96 GB), IPv6-only by choice
proxy01 scoped, audited proxy in front of the Hetzner APIs; the IPv4 front door for inference
fabro01 the workflow orchestrator, and the machine the autopilot runs on
monitor01 ClickHouse + Grafana; every machine's logs land here and error-level lines wake the autopilot

How it stays honest

Nothing without a commit

main is merge-queue only; a CI bot builds every machine closure before anything lands. What a machine runs is exactly a reviewed commit — including this page, served straight out of the Nix store.

Decisions are records

Every non-obvious choice — why this domain layout, why an agent may not destroy a server — is a numbered file in decisions/. Agents read them before overturning anything.

Escalate, don't guess

Agents hold root and the whole secret store, and are forbidden from spending either on a guess: destructive or ambiguous work goes to a human-labeled issue instead.