Principles
Opinions, held in production
Loom's design principles aren't a philosophy page written after the fact — they're the constraints the fabric is built and operated under.
Decentralised wherever possible
Agents announce their own existence, declare their own capabilities and do their work in isolation. Nothing waits on a central authority to act: what coordination exists is advisory — it observes, indexes and answers questions — and the fabric would keep flowing without it.
Black boxes, openly described
An agent broadcasts what it can do — typed capabilities with declared input and output schemas — never how it does it. Inside may be pure code, a model, or a pipeline of either; callers depend only on the contract. That opacity is what makes agents swappable, testable and composable.
Depend on contracts, never on infrastructure
Actors speak envelopes — a contract of identity, deadlines and schemas — never broker APIs, database drivers or vendor SDKs. Infrastructure sits behind seams, so swapping any piece of it is a configuration event, not a rewrite.
Failure is expected and embraced
Retries, dead-letter queues, deadlines, idempotency and graceful drain are designed in from the first line — not bolted on after the first incident. A fabric that assumes success is a fabric that fails silently.
Identity flows with the request
Every envelope names the service that sent it, the actor handling it and the principal the work is for — signed, verified and written to the audit stream. Even scheduled work has a name.
Absorb load, never refuse it
A busy system queues; it doesn't drop, block or panic. Backlogs are a signal to scale, not an incident to page on — capacity is the variable, correctness is not.
Everything is billable and attributable
Every action carries who asked, who acted and what it cost — priced the moment it happens, queryable by tenant, workflow or trigger. Work that can't be attributed doesn't belong on the fabric: an unowned cost is a bug, not an overhead.
Embrace emergence
The deeper bet is stigmergy: groups of agents that never speak to each other, coordinating through the state of a shared environment — one group's traces becoming the next group's signals, the way a colony builds.
The same discipline extends to autonomy: the planner can draft a new workflow from a stated goal, but a draft is all it is until an operator publishes it. Emergence is welcome; unsupervised mutation of the estate is not.
Argue with the opinions
The stances above are load-bearing. If you think one is wrong for your workload, that's exactly the conversation to bring to a briefing.