A CIOS controlled write is a gated change to a live point on an MDCX plant. Reads are always available; writes are not.
Default access is read-only. A point accepts a write only if it is on the controllable allow-list and the request meets the class gates below. The assistant cannot do this for you — see AI assistant.
Risk classes
Every controllable point is one of three classes. Class is a property of the point, not of the operator.
| Class | Typical points | Who writes | Extra gates |
|---|---|---|---|
| Class A | Highest-impact plant actions: breakers, pumps, UPS, chiller compressors, BESS power, chiller supply setpoints | Two independent operators | Pending request, second-person approve, read-back, audit |
| Class B | Mid-impact: dry-cooler fans, CDU valves, PDU / TOU / node status | One named operator | Mandatory read-back, audit |
| Class C | Lower-impact: GPU clock, maintenance marks | One named operator | Audit |
A write also carries a time-to-live. Expired commands do not execute. Points not on the allow-list stay read-only — there is no back door.
Two-person approval
Class A is a two-step flow.
- An authenticated operator submits the write. It does not execute. It sits as a pending request with a time-to-live.
- A second, different authenticated operator — who independently holds write rights on that point — approves the pending request.
- Only then does the command go to the plant.
Typing a second name into the request body does not count. The second person must present their own credentials. The original requester cannot approve their own request.
Read-back verification
After an accepted write, CIOS reads the point back from the plant. Class A and Class B require this; Class C records whether it was requested. A write that cannot be confirmed is not treated as done.
Audit trail
Every accepted write leaves an audit row: who, second approver if any, when, path, value, class, whether read-back was required, and the request id. Audit is fail-closed — if the row cannot be stored, the write is refused. You can look up what changed; you cannot silently set a point.