Units

Declarative behaviours — clocks, counters, tickers, formatters, watch rules and data feeds — that write to the store.

Where a unit runs, and what it is allowed to write.

PropertyValuesMeaning
runtimeclient · serverWhere the unit executes. Anything touching a secret must be server.
enabledtrue · falseA disabled unit keeps its config but does not run.
statusok · degraded · disabledThe dot on the row. Degraded means it is running but something is wrong — a failing poll, a missing input.
writespathsDeclared, not inferred. Re-derived every time the config changes.

The unit report

IssueMeans
schemaThe unit does not round-trip through validation.
exprAn expression references an undeclared identifier or a function that is not whitelisted.
multi-writerTwo or more units write the same path; the message names them.
self-accumulateA formatter or watch rule reads its own output — data:: and poller:: inputs are resolved first. The unit is held and never runs.
overlapping-writesWrite paths nest inside each other (a clock's zero path inside its display, or one unit writing score while another writes score.home). A unit whose own paths nest is held and never runs.
reserved-pathA unit writes under vars, to a read-only feed, or to a whole spreadsheet/column rather than a single sheet cell. Use a Variables operation for vars; write page data or one sheet cell for unit outputs.