Files
pnokerandClaude Code 7621869fcc test(web): enforce the A5 radius and spacing contracts in CI
Now that every token migration has landed, lock them in:

- radius-contract.test.ts: every border-radius in src/ must resolve to
  the --dc3-radius-* scale (directly or through an Element Plus radius
  variable). Geometric circles (50%/100%), inherit and single-corner 0
  resets stay literal — hand-rolled px values are the exact drift this
  cleared once.
- spacing-contract.test.ts: macro spacing (page edges, card walls,
  section rhythm) must resolve to --dc3-space-* / --dc3-page-padding /
  --dc3-gutter. Semantic tokens defined exactly once in theme.scss; a
  whitelist of layout-bearing containers may only declare margin/
  padding/gap with tokens; clamp() in spacing and el-row :gutter
  values other than 8 are banned repo-wide (the JS prop cannot read
  CSS vars, so the literal must mirror --dc3-gutter's desktop value);
  a // spacing-exempt marker opts out line-by-line. Intra-component
  micro spacing stays out of scope this round.

Document the v8 spacing-system decision in
docs/design/frontend-three-terminal-ux.md and add the A5 rules to
dc3/agents/frontend.md so agents follow the scales.

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-20 10:04:36 +08:00
..