docs: say two coverage guards, not three
verify:dep-lockstep is a durable guard but not a coverage guard — the two coverage guards are verify:format-coverage and verify:typecheck-coverage, which is the terminology the rest of the repo uses. The sentence said three and then named two. Signed-off-by: cliffhall <cliff@futurescale.com>
This commit is contained in:
parent
4fd7f39acf
commit
f8cf39ca4c
1 changed files with 1 additions and 1 deletions
|
|
@ -759,7 +759,7 @@ Why it matters, given that these paths are all gitignored and the findings are u
|
|||
- **It trains people to skim the channel.** A scope whose lint is never clean has no signal left in it, and the real warning added later lands where everyone has learned to look past.
|
||||
- **It is wasted work on every run.** `lint` runs inside `validate`, the fast inner-loop check, and the web runner bundle alone is ~1.2MB of generated JS.
|
||||
|
||||
The three coverage guards do **not** catch this, and adding a fourth is not the fix. `verify:format-coverage` and `verify:typecheck-coverage` assert that first-party source is *covered*; neither asserts that generated output is *excluded* — an asymmetry that is deliberate, since a guard can't distinguish "generated" from "source" without being told, and the ignore lists are already that statement. So this class drifts silently and the check is a human one: **when a build starts writing to a new location, add it to that scope's ignore list in the same change.** The reverse of the guards' rule also holds — never widen an ignore to silence a finding in first-party code, and never add a build directory to a tsconfig `include` to make a generated `.d.ts` resolve (import the source, or fix the build's types).
|
||||
The two coverage guards do **not** catch this, and adding a third is not the fix. `verify:format-coverage` and `verify:typecheck-coverage` assert that first-party source is *covered*; neither asserts that generated output is *excluded* — an asymmetry that is deliberate, since a guard can't distinguish "generated" from "source" without being told, and the ignore lists are already that statement. So this class drifts silently and the check is a human one: **when a build starts writing to a new location, add it to that scope's ignore list in the same change.** The reverse of the guards' rule also holds — never widen an ignore to silence a finding in first-party code, and never add a build directory to a tsconfig `include` to make a generated `.d.ts` resolve (import the source, or fix the build's types).
|
||||
|
||||
### Typescript instructions
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue