assure-os.demo.scaleright.ai
Blocks, workflow, data flow and use cases — drawn from the committed source.
Four layers. Operator surfaces drive a Go core; the core is the only thing that writes to Postgres; shared modules sit underneath as vocabulary and schemas. The label on the bottom layer is load-bearing: imported modules define contracts and receipt formats, but they never confer permission to execute anything.
The nine steps run in order, and five gates hang off them. Each gate is a real refusal path, not an error handler: reaching a gate that says no ends the flow and records why. The ordering matters — hard floors like resource protection and locality are checked before approvals are counted, so no quantity of signatures can buy through a floor.
A crash before the intent row commits proves no effect was attempted. A crash after it
means the effect is of uncertain status — which is a different, worse situation,
and the system treats it that way. A sweep marks abandoned executions
REAL_OUTCOME_UNKNOWN rather than retrying them, and the affected target stays
blocked until someone reconciles it with evidence they gathered independently.
Nineteen tables in four groups. Every row in the core write path is keyed by
tenant_id; there is deliberately no "list everything" query anywhere in the
read model, so a handler cannot serve cross-tenant data by forgetting a filter.
Split deliberately: teal domains only read or gather evidence, purple domains change
something on a customer system. The amber row is taken verbatim from the release
manifest's own explicitly_disabled list — it is part of the product
definition, not a backlog of regrets.
| Action class | Target | Notable refusal |
|---|---|---|
restart_container |
Docker container | Refuses a container owned by a native orchestrator (kubelet, Swarm, Nomad labels) rather than fighting its controller. |
start_service |
systemd unit | Enrolled units only; no shell passthrough. |
replace_pod |
Kubernetes pod | Disruption-aware — refuses when a PodDisruptionBudget would be violated. |
Outcomes use a nine-value vocabulary shared with the VBA action contracts, so an outcome
recorded here and a receipt produced there cannot disagree about what happened:
SIMULATED, REAL_VERIFIED, REAL_ACCEPTED_UNVERIFIED,
REAL_PARTIAL, REAL_OUTCOME_UNKNOWN,
REAL_FAILED_CONFIRMED_NO_EFFECT, REFUSED,
REAPPROVAL_REQUIRED, IDEMPOTENT_REPLAY.
Reaching REAL_VERIFIED requires both provider acceptance and an
independent read-back that matches the declared postcondition. Provider acknowledgement
alone yields REAL_ACCEPTED_UNVERIFIED — the distinction is the point.