Term Life AU — definition
pm-v1 · validation panel
| Code | Path | Message |
|---|---|---|
PM_UNKNOWN_ASSUMPTION | assumptions[0].table | ghost_table does not exist |
PM_SYNTAX | variables[0].expression | unexpected token |
PM_UNKNOWN_VARIABLE | variables[1].expression | unknownThing is not declared |
PM_INVALID_TIMESTEP_REF | variables[2].initial | read via prior() — needs t=0 value |
PM_UNKNOWN_OUTPUT | outputs[0] | nope is not a variable |
Publish is blocked
- •Every diagnostic carries the path it came from.
- •A definition that fails is still saved — authors need drafts.
- •Publishing re-validates against the assumption tables that exist now.
Why it matters
Fixing eight mistakes across eight builds is the workflow this replaces. The cost of a first-error-only validator is measured in afternoons.
Stated limit
Validation proves the model is well-formed and its references resolve. It does not prove the model is right — that is what the validation run in the last scene is for.