Skip to content

History / Critic Rules

Revisions

  • R33: 'do we want this at all' is a human step — capability PRs never merge unattended

    @cixzhang cixzhang committed Aug 24, 2026
  • R32: verify the class, not the case — from the #5321/#5214/#5110 retractions

    @cixzhang cixzhang committed Aug 24, 2026
  • R31: merge reads a trailer not prose; R31b: reconcile with our own open review; R31c: check main did not invalidate the PR

    @cixzhang cixzhang committed Aug 24, 2026
  • R3l-cite: cite the rule and its sentence, not the page name

    @cixzhang cixzhang committed Aug 24, 2026
  • R3l: design/API judgement calls have wiki pages; BREAKING gains behaviour, PERFORMANCE gains effects, THEME TARGETS renamed THEMING

    @cixzhang cixzhang committed Aug 24, 2026
  • R2m: never say 'nothing needed from you' in a comment that reports a bug

    @cixzhang cixzhang committed Aug 24, 2026
  • R18g: accepting a cost is the maintainer's call, not the reviewer's

    @cixzhang cixzhang committed Aug 24, 2026
  • R18g: say who pays a cost, and whether we are choosing to eat it

    @cixzhang cixzhang committed Aug 24, 2026
  • R2l: a cited fix is review, an invented fix is authorship — and it hides the real question

    @cixzhang cixzhang committed Aug 24, 2026
  • R2j: state problems not their solution back to them; R2k: advice is direct, not hedged

    @cixzhang cixzhang committed Aug 24, 2026
  • R15/R15-gate: frames must ship with a visual claim — the loop's biggest gap today

    @cixzhang cixzhang committed Aug 24, 2026
  • R3k: cited in R18g but never defined — write it

    @cixzhang cixzhang committed Aug 24, 2026
  • kit is the source of truth; every change propagates to this wiki in the same turn

    @cixzhang cixzhang committed Aug 24, 2026
  • R18g: getComputedStyle in core is a smell with a discipline, not a ban — never mid-render

    @cixzhang cixzhang committed Aug 24, 2026
  • R18g: getComputedStyle inside core needs a reason; lazy browser facts are the precedent

    @cixzhang cixzhang committed Aug 24, 2026
  • R18g: a performance judgement is measured, or it is not made

    @cixzhang cixzhang committed Aug 24, 2026
  • R16g: on the release path the asymmetry inverts — hold rather than downgrade

    @cixzhang cixzhang committed Aug 24, 2026
  • R2i: withdraw the release-mode word cap — the premise was retracted

    @cixzhang cixzhang committed Aug 24, 2026
  • R16g/R16f-repro: confirm a block a second way; a number carries its reproduction

    @cixzhang cixzhang committed Aug 24, 2026
  • R1e: reconcile with what a reviewer said, not with the fact that they approved

    @cixzhang cixzhang committed Aug 24, 2026
  • R2i: release-gate mode — shorter cap on a short diff, same measurement bar

    @cixzhang cixzhang committed Aug 24, 2026
  • R18d: a dep list that names a proxy, not the trigger

    @cixzhang cixzhang committed Aug 24, 2026
  • STEP 7c2: grep the diff for the fix you are about to ask for; R1e becomes a gate

    @cixzhang cixzhang committed Aug 24, 2026
  • R1e: read any existing review, not only when the author responded

    @cixzhang cixzhang committed Aug 24, 2026
  • R21: stacked PRs merge through merge-async

    @cixzhang cixzhang committed Aug 24, 2026
  • R1g: changed meaning and wrong mechanism are exceptions too; R30 cites the working sibling

    @cixzhang cixzhang committed Aug 24, 2026
  • R30: find the interaction decision the findings are children of

    @cixzhang cixzhang committed Aug 24, 2026
  • R29: name each unrecorded change with its line — a count is not actionable

    @cixzhang cixzhang committed Aug 24, 2026
  • R29: plural problems are fine; unrecorded ones are the failure

    @cixzhang cixzhang committed Aug 24, 2026
  • R29: when the verdict is split, the closing ask is the split

    @cixzhang cixzhang committed Aug 24, 2026