Use this page for Validation Check authoring and execution.Documentation Index
Fetch the complete documentation index at: https://docs.speckle.systems/llms.txt
Use this file to discover all available pages before exploring further.
Checks are executable validation definitions tied to tracked models. For reusable
templates, use Standards.
v0 release behavior (available today):
checks can be defined and run against all models in a project. Editing an existing
check is currently limited to its name; scope and rules are not yet editable after
creation.This will evolve. We would value feedback on the expected versioning behavior for
checks (for example: mutable checks vs immutable versions/forks).
Run a first check
Use Run check from the project sidebar when you want to test rule logic on real project data.- The first screen can look empty before a preview model is loaded. This is expected.
- Load a preview model first to unlock suggested starter rules.
- Select model/version context.
- Define
WHEREandCHECKlogic. - Run preview and inspect initial outcomes before saving. Use Run Preview or keyboard
shortcut
Ctrl+Enter(Cmd+Enteron Mac). - The first preview run returns an aggregate result plus an individual result for each rule you defined.
- Preview results are ephemeral. Use them to tighten scope filters or confirm each rule is behaving as intended before saving.
- If you edit a rule after running it, the UI prompts you to run the rule again so results stay in sync with the latest rule logic.
- For large models, 3D preview can be skipped in this screen. Checks still run, but you may not see the visualized result state in the viewer unless you explicitly load the model preview.
- You are done when the check appears in Checks with an initial score/status card.
Build a check with many rules
A single check can include a list of rules for related requirements (for example, fire-rating completeness across walls, doors, and windows).- Use Add rule to expand the rules list inside one check.
- Keep one requirement per rule so failures stay actionable.
- Use per-rule Run while authoring to iterate faster.
- Use duplicate/copy controls when rules share similar scope logic.
Operate checks over time
- Save checks against tracked models so results update over time.
- Use auto-run or manual trigger mode based on project workflow.
- Track trends from latest + historical outcomes.
- Expand each rule in results to inspect logic flow (
WHERE->CHECK) and counts at each step. - Use What you see on the page for result layout orientation.
- Use Practical review flow for review sequence.
- check name
- optional description
- project models to include in scope
Rule structure in checks
Every rule combines filters and an assertion:| Component | Description |
|---|---|
WHERE | Filter scope of objects evaluated by the rule |
AND | Optional additional filters within the same scope |
CHECK | Final validation assertion |
| Property path | Target property (category, baseline.length, parameters.Width.value) |
| Predicate | Comparison operator (Equals, Exists, Matches pattern, and more) |
| Value | Reference value for the predicate |
| Report severity | ERROR, WARNING, or INFO |
| Message | Human-facing explanation for failed outcomes |
Default scope
Checks start with a default scope filter:speckle_typeContainsDataObject
Thresholds and status
Checks use percentage thresholds to convert rule outcomes into statuses.- Pass threshold: minimum pass-rate required for a rule to be marked
PASS. - Warn threshold (optional): lower bound for
WARN.
PASSwhen pass-rate is at or above the pass threshold.WARNwhen pass-rate is below pass threshold but at or above warn threshold.FAILwhen pass-rate is below both thresholds.PENDINGwhen no completed evaluation exists yet.
FAIL.
Predicates and matching
Predicate labels are type-aware:- Text: Exists, Equals, Contains, Matches pattern
- Number: Is greater than, Is less than, Is between
- Boolean: Is true, Is false
Matches pattern supports wildcard and regex-style validation depending on input
syntax.
Best practices
- Start with narrow
WHEREscope to avoid noisy failures. - Keep rule messages actionable so fix owners can act quickly.
- Review preview output before saving to avoid false positives.
FAQ
Can I create a check from a standard?
Can I create a check from a standard?
Yes. Create a check from a standard, then choose tracked models and trigger settings
for execution.
How do I know a check is too strict?
How do I know a check is too strict?
If failures are mostly non-actionable, narrow
WHERE scope, refine predicates, or
adjust severity to reflect real impact.