Commit 055848e
refactor(devx): the three sequential-double-blank comment-mask callers take maskCommentsAndLiterals (#16336)
PR #16300 converted the eight callers the card named that spelled the
comments+literals projection as `comment[i] | literal[i]` -> `blank`. Three more
files spell the identical projection as a SEQUENTIAL double `blank` --
`blank(source, comment)` then `blank(masked, literal)` -- a shape the card's
grep could not match, measured in the Release (0 disagreements over 6,206
files vs the export, live control 6,176).
- `check-keyed-text-bounds.mjs`'s `project` keeps its pair-return shape
`{ masked, struct }` as a wrapper over `maskComments` / `maskCommentsAndLiterals`
called separately, following PR #16300's own precedent.
- `check-runner-env-posture.mjs`'s `findRunnerEnvReads` composes the two masks
inline; both are now the module's own exports.
- `check-widget-option-census.mjs`'s exported `structureMask` is a straight
substitution (no external importers).
`js-comment-mask.mjs` untouched: no new export, no semantics change.
Behaviour byte-identical, proven per gate by diffing plain and `--self-test`
output on origin/main before and after: 6 runs, 6 empty diffs, exit 0 on every
side. Ablation control (literal half dropped; identity mask) moves at least
one reading for every gate except `check-widget-option-census`'s plain run,
which is unmoved by both legs -- a pre-existing property of today's real
spec/parser corpus content, not introduced by this conversion (behaviour is
provably identical to the deleted code). Closed by a differential proof: the
deleted sequential-double-blank spelling vs the replacement over 6,192 files
(106,979,676 chars), 0 disagreements, live control (comments-only vs
comments+literals) disagreeing on 6,167 files.
Part of #15776.
Claude-Session: https://claude.ai/code/session_01Vbw3RPgdtqesx4azk9SbW8
Co-authored-by: Claude <noreply@anthropic.com>1 parent 4108347 commit 055848e
3 files changed
Lines changed: 17 additions & 12 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
171 | 171 | | |
172 | 172 | | |
173 | 173 | | |
174 | | - | |
| 174 | + | |
175 | 175 | | |
176 | 176 | | |
177 | 177 | | |
| |||
398 | 398 | | |
399 | 399 | | |
400 | 400 | | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
401 | 404 | | |
402 | 405 | | |
403 | | - | |
404 | | - | |
405 | | - | |
| 406 | + | |
| 407 | + | |
406 | 408 | | |
407 | 409 | | |
408 | 410 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
77 | 77 | | |
78 | 78 | | |
79 | 79 | | |
80 | | - | |
| 80 | + | |
81 | 81 | | |
82 | 82 | | |
83 | 83 | | |
| |||
254 | 254 | | |
255 | 255 | | |
256 | 256 | | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
257 | 260 | | |
258 | 261 | | |
259 | | - | |
260 | | - | |
261 | | - | |
262 | | - | |
| 262 | + | |
| 263 | + | |
263 | 264 | | |
264 | 265 | | |
265 | 266 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
119 | 119 | | |
120 | 120 | | |
121 | 121 | | |
122 | | - | |
| 122 | + | |
123 | 123 | | |
124 | 124 | | |
125 | 125 | | |
| |||
179 | 179 | | |
180 | 180 | | |
181 | 181 | | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
182 | 185 | | |
183 | 186 | | |
184 | | - | |
185 | | - | |
| 187 | + | |
186 | 188 | | |
187 | 189 | | |
188 | 190 | | |
| |||
0 commit comments