M4 of #397. Depends on M1. Provenance on every number: engine, version, stated tolerance, and a "modeled, not billed" badge on every figure.
What
Every figure the overlay shows carries provenance from the engine contract: which engine, which version, its stated tolerance, and whether the number is modeled from list prices or validated against a bill. The UI shows this as a badge on every figure, not a footnote once per page. An unreachable or missing engine yields no overlay at all and a refusal that names why, never a local fallback number, in the house's refusal-by-name style.
Do
Carry the provenance fields from M1's behaviour block straight into the rendered figure, badge included. When the lexicon reports no engine or an unreachable one, drop the behaviour-derived colour modes and refusal text in their place; the drift overlay keeps rendering on its own, since drift does not depend on the engine.
Proof
The badge visible in the UI on a fixture carrying provenance. A test where the fixture reports a missing engine: the drift overlay still renders, the behaviour modes do not, and the refusal is visible and names the missing engine.
Refs #397.
M4 of #397. Depends on M1. Provenance on every number: engine, version, stated tolerance, and a "modeled, not billed" badge on every figure.
What
Every figure the overlay shows carries provenance from the engine contract: which engine, which version, its stated tolerance, and whether the number is modeled from list prices or validated against a bill. The UI shows this as a badge on every figure, not a footnote once per page. An unreachable or missing engine yields no overlay at all and a refusal that names why, never a local fallback number, in the house's refusal-by-name style.
Do
Carry the provenance fields from M1's behaviour block straight into the rendered figure, badge included. When the lexicon reports no engine or an unreachable one, drop the behaviour-derived colour modes and refusal text in their place; the drift overlay keeps rendering on its own, since drift does not depend on the engine.
Proof
The badge visible in the UI on a fixture carrying provenance. A test where the fixture reports a missing engine: the drift overlay still renders, the behaviour modes do not, and the refusal is visible and names the missing engine.
Refs #397.