Validation
See whether a model can be trusted in one badge, open its checks by Data, Functionality and Results, and re-run them when the model changes.
Where: Overview→validation badge
Every model carries one validation record. It answers three questions separately: is the data sound, does the model do what you asked, and are its results right. It never presents an out-of-date answer as a current one. The badge beside the model's name summarises it; click the badge to open the record.
Read the badge
| Badge | Means |
|---|---|
| Validated | Every check that ran passed. |
| Warnings | Something needs a look; nothing is blocking. |
| Not passing | At least one blocking finding. |
| Stale | Some checks ran on an earlier revision. A dot marks it, and the tooltip reads "Some checks predate the current model — open to re-run". |
| Not validated | Nothing has run yet. |
After the verdict, the badge counts N blocking, N warn, N pending. Pending counts checks that haven't run and checks no machine can verify, so a pass never reads as complete while something is outstanding. Any change to the model turns the record stale straight away.
Open the record
Click the badge. The Validation drawer opens on the right with the model's name (Running instant checks… first). You can also open it from Verify (Open the validation report to see and fix the failing rules) and from Re-check on the backlog's certification. Click outside it or Close to close it.
The drawer's footer states what reading it costs: "“Run checks” reads the last solve. Nothing is solved again."
If the checks ran on an older revision, the top of the drawer says so: "Checks ran against rev 4; the model is at rev 6. Run checks to refresh."
Read the three pillars
| Pillar | Asks |
|---|---|
| Data | Is the data loaded and consistent? |
| Functionality | Does the model do what you asked for? |
| Results | Are the results sound? |
Each pillar has its own verdict and a summary: N checks · N blocking · N warnings · N need review · N stale, or no checks have run. A stale pillar adds "— stale (model changed since)" and a Stale pill. Failing pillars open; the others start closed, and eode remembers which you opened in this browser. An empty pillar reads "No Data checks have run yet — use “Run checks” above."
Read a check
Each row shows an icon, the check's name, a small tier chip for how costly the check is to run, and either N findings or its status. Failing checks sort first and open by themselves; click any row to open it. Hover a row and click ▶ ("Re-run this check") to re-run that one check.
| Status | Means |
|---|---|
| pass | Passed. A passing check shows No findings. or its own message. |
| failing | Has findings. A red mark means blocking; a triangle means a warning. |
| needs review | No machine can check this; a person has to. |
| stale | Ran on an earlier revision. |
| pending | Hasn't run. |
| skipped | Doesn't apply to this model, or couldn't run, for example because an input is missing. |
| check crashed | The check itself errored, rather than quietly passing. |
An open check lists its findings: where (sheet · row N · column), what's wrong, and a suggestion on its own line. After 25 it adds + N more.
| Pillar | Checks |
|---|---|
| Data | Data validation rules, Table contracts, Imported artifact sanity |
| Functionality | A structural check of the model, and a check that each capability the model claims really engages when it solves. |
| Results | Structural invariants, Revenue KPI cross-check, Verified since last change, Workbook reconstruction fidelity, a rating of the quality of the solve, a check that traces the results back to your data, and the two checks below that solve again: Results still hold after changes (fresh solve) and the limits check. |
Run the checks
The buttons in the drawer header:
| Button | Does |
|---|---|
| Run checks | "Re-run the instant + cached-solve checks (no re-solve)." Runs in the background; each row updates as it finishes. Recorded in the audit log. |
| Which limits hold you back? | Solves the model once more and reports which of your limits actually hold the plan back, and which cost nothing. |
| Ask RIA to help fix these | Shown when a check is failing or crashed. Puts "Help me fix these failing validation checks:" and the failing checks in the console, ready to send, and closes the drawer. |
Which limits hold you back? is disabled while another run is in progress.
Verify again after a change
When the model's structure changed after it was last verified, the drawer opens with a banner: "This model has changed since it was last verified." and Verify again ("Solves the model again and checks its results still match what was recorded when it was built").
Verify again solves the model once and runs Results still hold after changes (fresh solve). The result reads "Verified again: N of M checks hold on the current model, against the results recorded with your data." (or with sample data). A check that no longer holds says so, with the suggestion: "If you meant to change this, load your data again to record the new expected results. If not, the model no longer does what it was built to do." Imported models have no recorded results, so the check shows needs review. Verify again also refreshes the proof on Credentials and in the Model Library.
Read the disclosures
Above the pillars, the drawer lists up to four caveats, worst first, and only when they apply:
- "None of your accepted requirements is verified against real data yet — …"
- a capability whose check couldn't be run: "Treat it as present-but-unproven."
- a scenario whose headline number includes an estimated amount, or isn't verified against booked economics;
- "No business KPIs are valued yet — the solve completed, but none of its business values has been checked."
Accept blocking findings knowingly
When the capability check under Functionality is failing on blocking findings, its row offers to record that you accept them:
- Open the row. It reads "Accepting N blocking finding(s) records a decision against this revision — a reason is required."
- Type a reason in "Why are these acceptable for this model?".
- Click Accept knowingly.
The row then reads "Accepted knowingly by … — “…”" and "Recorded in the audit log. Editing the model returns these to blocking." The acceptance applies to this revision only. No other check offers it.
Other trust signals
- Certification on the backlog rolls checks, the review, validation and requirements into one chip pinned to a revision.
- A Base whose income statement doesn't add up gets a banner on Model home.
- Verify checks one scenario's numbers; KPIs carry a Verified or Estimated stamp.
- Credentials holds the build's proof ledger and the independent review.
Limits
- Each check stops after 15 seconds, except the result-tracing check (30 seconds), the limits check (15 minutes) and Verify again (20 minutes).
- 25 findings per check are listed, with the rest counted.
- Up to four disclosures.
Related
- Credentials: the build's own proof
- Verify: evidence for one scenario
- Change a model: fix what the checks find
- How eode checks a model