Handbook · Reference · Validation
Validation and policy
Where in the UI. JSON tab markers; Author chat validate; export gates.
| Layer | Question | When it blocks |
|---|---|---|
| Structural | Is this valid Template V2 JSON? Missing ids, wrong shapes, unknown component types. | Must be clean before a template can round-trip. |
| Semantic | Does it mean something coherent? Unknown expression ids, illegal DataRefs, field-binding cycles, unplugged Blockly plugs. | Errors block export; warnings should be read. |
| Policy | Is this allowed in the chosen profile (preview / development / production-alpha)? Components, events, host methods, capabilities. | Production-alpha is what catalog publish should match. |
Policy profiles
The editor can validate as preview (permissive), development, or production-alpha (strictest of the three). Policy codes include policy.component_not_allowed, policy.action_type_not_allowed, policy.capability_not_allowed.
Semantic extras in the editor include unplugged Blockly JSON plugs (semantic.script_unplugged_parameter).
Sources: structuralValidatorAdapter.ts, semanticValidatorAdapter.ts, policyProfiles.ts.