# Pre-delivery checklist `build.sh` already checks the source rules, package invariants, missing glyphs and text-box overflow. The math, semantics and rendered relationships below still require inspection. Any mandatory violation means redraw, not patch. ## 1. Math (before looking at the picture) - [ ] Every shape recomputed independently from the source formula or code. - [ ] Block multiplication, broadcasting, reductions and sharding algebra verified. - [ ] Axis identities that the figure asserts actually hold in the numbers drawn (`d = h·d_h`, `Σ_e n_e = T·k`, shards summing to the parent). ## 2. Semantics ledger - [ ] Every discrete or overloaded symbol has one type, domain and range. - [ ] Score, index and mask are three distinct objects in three distinct grammars. - [ ] Producer-to-consumer chain closed: scores → indices → gather/mask → values. - [ ] Shared selectors drawn once, with the reuse axis marked. ## 3. Geometry ledger - [ ] Equal shapes have identical faces everywhere. - [ ] `a×a` is square; every transpose physically swaps the face. - [ ] Both occurrences of each contracted axis have the same edge length. - [ ] Shards tile their parent exactly; concat reverses split; elisions use an ellipsis. ## 4. Full-size visual audit Open the PNG at 100 %. Most of the first three items are automatic under the flow layout; they still need looking at, because the cursor only guarantees that objects do not *push* into each other, not that the figure reads correctly. - [ ] Every lint exemption in the source is genuinely required and explained; deliverables normally have none. - [ ] No forbidden intersection, tangency, clipping or occlusion — including stack offset sheets, brackets, arrow labels and the meaning box. - [ ] Every connector's white label underlay covers only its own connector. - [ ] No connector crosses a box that is not its endpoint. - [ ] Symbols and shapes sit on two flat lanes per row; stage headings share a left rail. - [ ] Every `\stgroup` outline names a composite the computation actually has, is captioned, and carries its members' role hue (`neutral` only for genuinely mixed members). - [ ] Every `\stcallout` is an aside about its whole band, not a step: one per band, no taller than the band, and nothing in it that belongs in `\stmeaningbox`. - [ ] Top zone compact (≤2 formula lines, no shape underbraces). - [ ] Bottom box: one column, ≤3 rows, no overflow, no shrunken type. - [ ] If requested, signature is outside the box, one line, accurate, unclipped and subdued. - [ ] Structural support exact: known zeros unfilled, masks and diagonals exactly right. ## 5. Thumbnail audit Open `*-thumb.png` (360 px). - [ ] ≤4 active hue families per row plus gray; each role keeps one hue across stages. - [ ] Base colors still muted, not saturated. - [ ] Three visibly separated lightness levels where values vary; nothing is uniform pastel. - [ ] Borders neutral, not tensor-colored. - [ ] Dense texture reads as noise, not as stripes, checkerboard or a symmetric motif. - [ ] The main structural claim of the figure is still legible at this size. ## 6. Delivery - [ ] PNG preview shown. - [ ] Short mechanism explanation in prose. - [ ] `.tex` source and vector artifact (PDF/SVG) linked. - [ ] Any degraded path stated explicitly — no CJK font, no `pdftocairo`, fallback renderer, inferred shapes or conventions.