Expand description
Broken report bindings: written field references that resolve to nothing in the model, and bindings that land on artifacts whose own expressions no longer resolve (issue #60).
The graph builder swallows resolution misses — “an unresolvable name is
data, not an error” (docs/name-resolution.md). This module is the second
reader of that same data: where the builder asks what stays alive, it
asks did the written reference name anything at all. A miss says the
visual is broken — the table is gone, or the column/measure/hierarchy is
gone — and every direction of the claim is conservative, mirroring the
liveness rule inverted: over-keeping does not apply here, under-claiming
does. A false “broken” is itself a breakage claim, so anything the
machinery might resolve is treated as resolved.
Structs§
- Broken
Binding - One report binding that is broken: where it lives, what it wrote, and why
it fails to resolve. A broken binding has no
ObjectIdof its own — the written target plus the binding’s provenance identify it.
Enums§
- Broken
Reason - Why one report binding is broken — the static approximation of the error state the engine would render.