Skip to content

fix(syntax-coverage): fail on a not-submitted entry whose case has a receipt - #190

Merged
kvlonge merged 1 commit into
mainfrom
fix/syntax-lift-not-submitted
Nov 12, 2026
Merged

kvlonge merged 1 commit into
mainfrom
fix/syntax-lift-not-submitted

Conversation

@kvlonge

@kvlonge kvlonge commented Nov 12, 2026

Copy link
Copy Markdown
Contributor

Why

An unobservable entry with cause = "not_submitted" keeps its obligation unverifiable whatever its cases' receipts. 3,545 of those entries list a case that has since been recorded, so the published baseline understates coverage, and nothing caught the stale entries.

Changes

  • The checker fails when a not-submitted entry lists a case that has a current syntax receipt with its sql_sha256 (superseded, withdrawn and measure receipts don't count), so the receipt decides the obligation. A negative test fails without the rule.
  • The 3,545 stale entries are removed: ddl 3,003, security_admin 536, functions 4, classes 2. The 1,772 entries whose cases have no receipt stay.
  • Evidence is pinned to 742cb3eb (batch 5 syntax receipts; no convert case changes). Marks and the syntax baseline are re-recorded.
  • docs/syntax-coverage.md states the rule.

Satisfied obligations in the syntax baseline:

Satisfied
main 76,178
this branch 77,751

The 1,573 gained: 1,488 from the lifted entries and 85 from batch 5's receipts; none lost. The other 2,057 lifted obligations now take their receipts' reason, such as a disagreement or an opaque fallback, for the grammar work to judge.

Verification

  • The checker tests pass; with the rule removed, the new case fails with no problem reported.
  • syntax-coverage snapshot refuses the tree with the old entries back ("a snapshot of a tree with problems claims nothing").
  • make check-syntax DIALECT=snowflake: 3,479 forms, 0 problems.
  • make verify-recorded and make check-ci pass.

…receipt

An unobservable entry with cause = "not_submitted" keeps its obligation
unverifiable whatever its cases' receipts, so obligations stayed
unsatisfied after their cases were recorded. The check now fails when a
listed case has a current syntax receipt with its sql_sha256, and the
3,545 such entries are removed, with evidence pinned to 742cb3eb.
@kvlonge
kvlonge enabled auto-merge November 12, 2026 02:42
@kvlonge
kvlonge added this pull request to the merge queue Nov 12, 2026
Merged via the queue into main with commit cde63cd Nov 12, 2026
13 checks passed
@kvlonge
kvlonge deleted the fix/syntax-lift-not-submitted branch November 12, 2026 03:50
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.

1 participant