Files
SuperTensor/references/checklist.md
T
dela de917a2fbd Harden \stgroup and tighten the callout budget (review follow-up)
- Bracket ink is part of the fit: \st@facebody drops -inkw/-inke extreme
  coordinates and \stface/\ststack register them with the enclosing
  group/col/row fit, so a group outline can no longer be crossed by a
  member's bracket arms
- \stlink inside \stgroup or \stcol is now a package error: sub-flow
  members never terminate a pending connector, so the arrow was dropped
  silently while the label still rendered
- \stgroup requires role= (explicit role=neutral for mixed groups) and
  must bind at least two members or one \stcol partition; a lone stack
  or face inside a group is a dirty-build warning
- lint: default budget is one \stcallout per figure; the
  allow-multiple-callouts directive relaxes it to one per band
- build.sh: clean-build hint no longer names hue budget (lint owns it)
- tests/group-callout.tex reworked: multi-member group with a bracketed
  member as a regression probe, single callout; new negative fixtures
  group-link, group-norole, group-single, callout-budget
- api.md, checklist.md, style.md, layout.md, SKILL.md updated to match
2026-08-05 17:03:14 +08:00

69 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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, binds at
least two members or a `\stcol` partition, is captioned, and carries its members'
role hue (`neutral` only, and explicitly, for genuinely mixed members).
- [ ] At most one `\stcallout` in the figure (exemption comment if more), an aside about
its whole band, no taller than it, 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.