Principles
The boring choices, held under pressure
Nine principles govern every feature that ships. They aren't aspirations — each one is enforced by a mechanism: a test gate, a container boundary, a refusal path.
01 Declared state lives in Git
The source of truth is version-controlled YAML — not a database inside the control plane, and not the infrastructure itself. The platform continuously shows truth and drift; convergence is always an explicit act. A deliberate departure from Kubernetes-style silent reconciliation: drift is loud, apply is deliberate, and nothing happens behind your back.
02 Honest observation
Grey means “we don't know” — never “clean”. A monitoring surface that can render a false green is worse than no monitoring surface. Never-probed machines render unknown; un-modelled firewall sections report not-compared; offline agents degrade to timestamped snapshots.
03 One core, every surface
UI, CLI, JSON API and MCP resolve to the same principal, the same RBAC gate, the same functions, the same audit log. Parity is machine-enforced: a test walks the live API spec and fails the build if any operation lacks its CLI verb, its MCP read, or a reviewed exemption.
04 Privilege is tiered by process
The web process can't hurt you; the process that can hurt you doesn't listen to the web. Every command is rebuilt from a typed registry by the privileged worker — the same shape as parameterised SQL — and a forged job is refused, visibly and auditably.
05 Deterministic tooling
A fixed exit ladder — success, failure, refusal, interrupt — on every command. Deterministic tooling lets operators trust their muscle memory and lets automation branch on outcomes. Non-deterministic tooling forces both to babysit every invocation.
06 Strict layer boundaries
The project owns what runs on the substrate. The substrate owns what the substrate is. The operator owns the keys to operate either. micro-machines stops at the container boundary; micro-glue never touches the host; neither holds the operator's secrets.
07 Dogfooding is the test
The control plane manages itself: provisioned by its own roles, deployed as a stack it rendered, able to redeploy itself with one command. The fastest way to find where the platform's promises break is to depend on them.
08 Built for humans and agents
Mixed human/agent operation is the design centre, not an add-on. Closed vocabularies over free text; the full read surface on MCP; mutations gated off it by posture. Agents observe; operators move — and every actor's actions land in the same audit log.
09 Scale-agnostic by construction
The same three containers drive a laptop or a datacentre. Scaling up is additive — more declarations, more zones, more hypervisors — never a different architecture. The single-machine tier isn't a toy; it's the design's floor.
¶ The drill behind all nine
“We lost our datacentre. Our operator has a laptop.” Every feature is judged by whether it shortens the path from bare metal and a laptop to fleet-green with data restored. The drill is run for real, in the lab, and the timing is the KPI.
Principles with teeth
Every merge request answers five security questions — authentication, authorisation, CSRF, input validation, audit — before it lands. The contract suite stands at 3,883 tests, zero failing, spanning API, CLI and MCP in-process. Cross-platform promises are held by contract tests: one canonical firewall spec rendered through all three platforms and asserted semantically equivalent, so the generic schema can never silently drift vendor-shaped.
A twelve-finding external-style security audit — CVSS-scored, CWE-mapped, five rounds to convergence — drove the current trust boundary design. Eleven findings fixed, one accepted deliberately and documented. That document ships with the platform.
Disagree with a principle?
Good — those are the conversations we enjoy most. Bring your counter-example to a briefing.