Pure lifecycle core, database as backstop
Node states are a pure state machine. Postgres CHECK constraints repeat its invariants, so a bug elsewhere cannot leave an active node without a tenant.
Leases with fencing
Workers claim nodes with FOR UPDATE SKIP LOCKED. A result is applied only while the worker still holds the lease, so a stalled worker cannot overwrite its successor.
No double booking, by constraint
An exclusion constraint on (node_id, period) rejects overlapping reservations in the database itself; losing a placement race becomes a retry, not a bug.
Attestation that fails closed
The verifier checks every source of evidence and reports every failure. A policy file that omits the confidential-computing requirement is rejected, not read as "off".
Remediation with a blast radius
Automatic quarantines are capped at 5 per 10 minutes, counted in the audit table under an advisory lock, so the cap holds across replicas and one noisy rule cannot empty the fleet.
Read-only public demo, by construction
The control plane serves the full API on a private listener and a GET-only copy on the public one. The public side has no route to a write path at all.