# Changelog ## 0.2.0 — runtime composition repair ### Root cause fixed The 0.1.x runtime did not consume the example gallery. `prompt.py` emitted only a generic node/edge scaffold, the agent skill did not require reference inspection, VizSpec had no composition grammar, `layout.py` always used one topological layout, and the SVG renderer always drew the same rounded-card vocabulary with a visible title/question/footer. The linter also allowed several unconnected nodes. Changing only `examples/` therefore could not change generated output. A model could produce 25 differently labelled specs that all compiled to the same picture. ### Added - VizSpec 1.1 `composition` block. - Ten composition profiles and node/edge semantic roles. - Context-sensitive reference selection with scores, matched terms, preview paths, and executable runtime-spec paths. - Context/profile compatibility lint. - Hard rejection of disconnected cards and excessive isolated nodes. - Profile-specific structural gates. - Profile-specific deterministic compositors. - Diagram-only SVG output with hidden accessibility metadata only. - Ten executable runtime profile fixtures. - `techviz audit-batch` label-independent topology-collapse detection. - Batch-collapse, context-profile, runtime-profile, and diagram-only tests. ### Changed - `techviz prepare` records `visual_reference_candidates` in the context package. - `techviz prompt` embeds selected reference grammars and restricts the candidate profile set. - `techviz references` prints score, matched terms, preview, and runtime-spec paths. - Manifests record composition profile, reference ids, and diagram-only status. - Agent instructions require reference inspection and batch audit. ### Compatibility VizSpec 1.0 can still be parsed using the compatibility layout, but it emits a warning. New work should use VizSpec 1.1. Existing 1.0 specs must be upgraded to obtain profile-specific output and context-selection gates.