The Conductor
A small Mac mini in Moss runs an orchestration gateway, supervised Claude agents that open pull requests in my own repositories, and self-hosted GitHub Actions runners that build and deploy the sites. A time-synced markdown knowledge base keeps the agents grounded in current project state.
What it is
The Conductor is the personal infrastructure that builds and operates Håkansson Labs. It is not a "colleague" or a chatbot; it is a set of cooperating services running on a single Mac mini, designed so I can describe work — "ship this redesign", "fix this regression", "open a PR that does X" — and supervised agents do the mechanical parts while I keep code-review and merge authority.
Everything below is what is actually running today. Numbers, model versions, and skill counts intentionally are not listed: they change, and the value of the system is the architecture, not the inventory.
How it is wired
Orchestration gateway
A small service running on the Mac mini that receives task descriptions (via Discord / direct CLI) and routes them to supervised Claude agent workers. The gateway holds the policy: which repo a task touches, which agent type handles it, and what the worker is allowed to do.
Supervised Claude agents
Agent workers run inside scoped working directories, follow per-repo CLAUDE.md conventions, and open draft pull requests with their changes. They never push to main directly. Every action is recorded; review happens on GitHub.
Self-hosted GitHub Actions runners
Two macOS runners (the same Mac mini) execute CI for trym.cloud, politipuls.no and morgenbrief.no. Same workflows as before, but without consuming GitHub-hosted compute minutes.
Time-synced knowledge base
A markdown 'brain' on disk keeps current project state — decisions, in-progress threads, conventions — so agents start with accurate context instead of cold-reading the repo every time. Updated continuously by the orchestrator after meaningful changes.
The rules the agents play by
Drafts, not deploys
Agents propose; humans merge. Every change lands as a pull request — never a direct push to a default branch. Cloudflare Pages and Workers deploy on merge, not on whim.
Repo-bounded permissions
Each agent invocation is scoped to a single working directory. No cross-repo reads, no shell access outside the working tree. Secrets stay in the host environment and are surfaced only to the workflows that need them.
Audit trail by default
Tasks, agent outputs, and outcomes are logged. Every PR carries a description of what was attempted, what changed, and what the verification result was.
Local compute
All orchestration runs on the Mac mini. No agent control plane in the cloud. Models are called as APIs; everything else is local.
Why it exists
The point is not novelty — agent frameworks are everywhere — but reliability. Most personal-AI demos break the moment the demo ends. The Conductor's design goal is to survive normal life: my own absence, model upgrades, repo refactors. It is what runs when nothing surprising is happening, and it gets out of the way when something is.
What is intentionally not here
No autonomous deploy to production. No cross-repo agent that can modify shared state. No "always-on" agent persona. The Conductor is plumbing. The interesting parts are the projects it ships — Politipuls, Morgenbrief, this site, and the rest of Håkansson Labs.