Repository navigation
Conversation
A native lint response can report that the engine does not parse the project's dialect yet. Each such file now gets one L007 warning carrying the engine's reason, instead of looking lint-clean. A non-string reason is rejected as an invalid response.
…le and rules run compile and rules run kept only selected Rule codes, so an unavailable dialect looked clean there. L007 now passes through as a warning-severity Rule diagnostic in compile and is left out of rules run's failing-finding count. counts_toward_exit owns the exemption.
The plan and build rules gate failed on any finding, so an L007-only project could not plan. Rule exceptions also validate every finding's code as a rule code and rejected L007 with an invalid-lifecycle error. The gate now counts only findings that count toward exit, and L007 passes through rule exceptions unsuppressed. An end-to-end test replays a cached finding as L007 and as a rule code through compile, rules run, plan and build.
kvlonge
enabled auto-merge (squash)
November 7, 2026 19:55
Contributor
Author
auto-merge was automatically disabled
November 8, 2026 21:00
Pull request was closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
SQLQuack's lint engine answers a known dialect it cannot parse yet with no diagnostics and an
unavailablereason. If SQLBuild ignored that field, every file in such a project would look lint-clean. L007 reports our gap, not the user's SQL, so it must never fail a command.Changes
unavailable: the file gets oneL007warning at the body start with the engine's reason and a remediation saying the SQL was not linted. One per file, not per body.unavailableis an invalid response and becomes the existingL003fault.sqb compileshows L007 as a warning-severity Rule diagnostic andsqb rules runlists it.counts_toward_exitowns the exemption: compile, rules run, and the plan/build rules gate ignore it for exit decisions.Verification
sqlbuild-rulestests: an unavailable response with two bodies gives one non-fault L007; no key gives nothing; anullreason gives L003; only L007 is exempt from exit.make check-ci,cargo test -p sqlbuild-rules --liband the rules/plan e2e files pass locally.DuckShop: not applicable; diagnostic reporting with no project shape, data value or lifecycle sequence.