Skip to content

Exclude vendored/generated files from the whole check sweep, not just warning-suppression - #199

Merged
missingbulb merged 1 commit into
mainfrom
claude/claudinite-ignore-list-wdkwgs
Jul 9, 2026
Merged

Exclude vendored/generated files from the whole check sweep, not just warning-suppression#199
missingbulb merged 1 commit into
mainfrom
claude/claudinite-ignore-list-wdkwgs

Conversation

@missingbulb

Copy link
Copy Markdown
Owner

What & why

Only warning-suppression consulted ctx.vendored() to skip files git marks linguist-vendored / linguist-generated. Every other check still scanned recorded third-party fixtures and machine-written output as if they were the project's own code — so a check that fired on that content had no honest escape but a per-rule accept with a reason, which reads as "we accept this violation" rather than the truth: this isn't our code, don't look at it.

This surfaced downstream in GoogleCalendarEventCreator PR #664, which added a subtree accept to silence warning-suppression inside cached fixture HTML — clunky config for something the corpus should treat as out-of-scope. The general fix is to make "not the project's code" a property of the sweep, honored by all checks.

Change

  • checks/lib/context.mjs — compute the vendored/generated set once and make ctx.files (the default iteration surface) exclude them. The unfiltered set is exposed as ctx.allFiles.
  • packs/universal/warning-suppression.mjs — drop its now-redundant manual ctx.vendored() skip; the engine does it.
  • packs/universal/generated-merge-driver.mjs — read ctx.allFiles, since it's the one check that reasons about generated files and must still see them even when a repo also marks them linguist-generated (behavior preserved exactly).

Link targets in reference-integrity resolve via ctx.exists() against the real tree, so linking into a vendored file is unaffected; only a vendored file's own outbound links / placement / markers stop being policed, which is correct.

Verification

  • node --test checks/test/*.test.mjs skills/*/*.test.mjs91 pass, including two new regression tests: the engine excludes vendored/generated from ctx.files while ctx.allFiles retains them, and generated-merge-driver still flags a GENERATED file that also carries linguist-generated.
  • node checks/run.mjs on this repo → clean.
  • Ran the updated canon against the GoogleCalendarEventCreator tree → 0 warning-suppression findings (the dice.html / seatgeek.html fixtures are excluded by the engine), confirming PR #664's subtree accept is no longer needed.

Docs updated (checks/README.md, context.mjs comment).

Closes #198

🤖 Generated with Claude Code

https://claude.ai/code/session_01Ki3mVh7kskXFAdqu5Z37Am


Generated by Claude Code

Only warning-suppression consulted ctx.vendored() to skip linguist-vendored
/ linguist-generated files; every other check still scanned recorded fixtures
and machine-written output as if they were the project's own code, leaving a
per-rule accept (which reads as "we accept this violation") as the only escape.

Promote the skip into the engine: buildContext computes the vendored/generated
set once and makes ctx.files exclude them, so every check skips them for free.
The unfiltered set stays on ctx.allFiles for generated-merge-driver, the one
check that reasons about generated files (preserves its behavior exactly).
warning-suppression drops its now-redundant manual skip.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ki3mVh7kskXFAdqu5Z37Am
@missingbulb
missingbulb merged commit 3938715 into main Jul 9, 2026
1 check passed
@missingbulb
missingbulb deleted the claude/claudinite-ignore-list-wdkwgs branch July 9, 2026 13:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Exclude vendored/generated files from the whole check sweep, not just warning-suppression

2 participants