17 - the gate holds every built function to 52 lines #111

Merged
lilleman merged 4 commits from size-ratchet into main 2026-09-20 18:30:42 +02:00
2 changed files with 9 additions and 6 deletions
Showing only changes of commit f79241f56f - Show all commits
+5 -3
View File
@@ -261,9 +261,11 @@ The size ratchet is the other such number, `.oxlintrc.json`'s single rule over t
downward. It stops where the package does, because one ceiling covering the tests and the harness downward. It stops where the package does, because one ceiling covering the tests and the harness
too would have to be their worst — 64 — which loosens the guard over the shipped code. It guards too would have to be their worst — 64 — which loosens the guard over the shipped code. It guards
against drift and never drives a refactor, so no cyclomatic rule and no second lint rule join it: against drift and never drives a refactor, so no cyclomatic rule and no second lint rule join it:
neither measure picked out what nine readers found hard (the comprehension panel, 2026-09-20). The neither measure picked out what nine readers found hard (the comprehension panel, 2026-09-20).
leg passes `--deny-warnings` and an explicit `-c`, since oxlint exits 0 on a warning and, finding Three switches are load-bearing: `IIFEs: true`, since oxlint exempts an IIFE otherwise; an explicit
no config, falls back to 96 default rules — either way green with the ceiling gone. `-c`, since finding no config it falls back to 96 default rules, green with the ceiling gone; and
`--deny-warnings`, since a rule from a category the config never names arrives as a warning it
exits 0 on.
The corpus, all checked in: hand-built fixtures per node and combination; real ADF Atlassian's The corpus, all checked in: hand-built fixtures per node and combination; real ADF Atlassian's
editor wrote; the CommonMark spec suite against `markdownToAdf` and `markdownToHtml`. editor wrote; the CommonMark spec suite against `markdownToAdf` and `markdownToHtml`.
+4 -3
View File
@@ -874,9 +874,10 @@ The done `todo.md` items in full, as they were written. `todo.md` keeps a one-li
ceiling is 52, `parseInline`'s length and the built set's worst; at 51 the gate reddens on ceiling is 52, `parseInline`'s length and the built set's worst; at 51 the gate reddens on
it. The leg runs `oxlint --deny-warnings -c .oxlintrc.json src` beside the typecheck at 0.8s, it. The leg runs `oxlint --deny-warnings -c .oxlintrc.json src` beside the typecheck at 0.8s,
the two flags because oxlint exits 0 on a warning and, discovering no config, falls back to the two flags because oxlint exits 0 on a warning and, discovering no config, falls back to
96 default rules; `IIFEs`, `skipBlankLines` and `skipComments` are spelled so a changed 96 default rules; `skipBlankLines` and `skipComments` are spelled so a changed default cannot
default cannot move what 52 counts (the stability-reviewer, 2026-09-20). The lockfile carries move what 52 counts, and `IIFEs` because oxlint exempts an IIFE by default (the
every platform binding, so `npm ci` resolves the musl one inside the image. stability-reviewer, 2026-09-20). The lockfile carries every platform binding, so `npm ci`
resolves the musl one inside the image.
- [x] **18 — The subtree the directive spelling asks about (`0.2.0`).** The parser asks - [x] **18 — The subtree the directive spelling asks about (`0.2.0`).** The parser asks
`commonMarkSpelling` at every directive-spelled block and the answer emits the whole subtree `commonMarkSpelling` at every directive-spelled block and the answer emits the whole subtree
below, so a node at depth d is spelled d times: three nested rule-first directive lists cost below, so a node at depth d is spelled d times: three nested rule-first directive lists cost