Agent orchestrator

Ambrogio

Ambrogio keeps the trace of what is done. It gives order and documentation to every movement, and its own internal agents keep it correct.

It is one static Go binary beside one SQLite file. It supervises resident agent processes over the Agent Client Protocol, hands them work, and exposes the whole of it — the queues, the steps, the documents, the verdicts — through one HTTP API and one event stream. The operator drives it from a page the binary serves itself.

It exists for two problems: several agents working at once without two hands in one place, and the trace of what was done and why, for the agent that comes later and was not there when the decision was taken.

The four things worth knowing

Built in the lab it runs

Ambrogio is part of tazlab.net, a small homelab on its own hardware and documented in public. A repository holds the desired state, Flux reconciles it, and a push is a deployment — the blog, the wiki and the teaching site arrive the same way.

This site is a description, not the product. It is five static pages served by nginx from one replica; the hub itself is a binary beside a data directory on the operator's machine, and it is not reachable from here.