Runtime invariants

While it works, DataMind Oda runs automatic checks over its own parts: each runtime invariant confirms that one part's saved data and its live state still describe the same thing. This page is the reference for those checks. What a failed check means for the task you were running is on Runtime checks, and the tools-side reference is on Runtime consistency checks.

What a check is

What the checks cover

When a check fails

Setting which checks run

How a check is installed and released

Questions, answered

Do all ways of running Oda include the checks?

No. Some ways of starting Oda leave the checks out entirely, and then nothing is checked. The standard setup includes them, and where they are present they are on by default.

Do I have to start the checks or watch them?

No. The checks run on their own while Oda works: you do not start them, and a passing check is silent. What you see from a check is its failure report.

The failure names a part I do not recognise. What is it?

It is Oda's own name for the part of itself whose check failed. The name is how the failure is attributed; keep it exactly as shown when you report the problem.

What happens to a check when its part is reloaded?

The check is released with its part: everything it added and recorded goes away, and the name it held is freed. When the part comes back, its check can register again cleanly, and operations from before the reload are outside what the new check saw.

Do the list entries have to be exact names of parts?

No. An entry is a pattern matched against part names, and the match is case-sensitive: a plain entry matches any name it appears in. Add ^ at the start or $ at the end to pin the match.

Does a part with no check need one?

Not by itself. A check exists only where a part's saved data and live state can drift apart. Where there is nothing of that kind to watch, no check exists for the part, and that is by design.

Who changes which checks run?

The switch and the two lists are settings of how Oda is started, so they belong to whoever starts and configures Oda.