Skip to content

List documented (D113) syntax-error flips apart in the coverage diff (D135) - #60

Merged
kvlonge merged 2 commits into
mainfrom
fix/coverage-documented-flips
Nov 5, 2026
Merged

kvlonge merged 2 commits into
mainfrom
fix/coverage-documented-flips

Conversation

@kvlonge

@kvlonge kvlonge commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

Decision D135: a refused→accepted flip on a case the catalogue marks documented (D113) goes on its own non-failing gate line, which lists the rows for the auditor. Every other receipt-contradicting flip still fails, in either direction.

  • The checker loads coverage/syntax/marks/<family>.jsonl (C's sidecar, catalogue e85aeb3: {case_id, sql_sha256, obligations, mark}). It fails closed on a mark that names no case, differs from its case's SQL hash or obligations, uses an unknown value, or marks a case twice.
  • The snapshot carries the documented case ids. diff keeps syntax_error_cases_accepted for unmarked flips (failing) and adds documented_cases_accepted, printed as "DOCUMENTED (D113) Snowflake syntax errors the parser now accepts, for the auditor" (not failing).
  • docs/syntax-coverage.md documents the marks file and the receipt join behind both case lines (Join changed cases to Snowflake's receipts in the coverage diff, whatever they expect #58).

Tests: a documented flip is listed apart, and a settled-mark flip still fails (the first fails with the split removed). Two load faults cover a mismatched mark and an unknown mark. On the real catalogue e85aeb3, validate passes with every mark loaded.

…(D135)

The checker loads the catalogue's marks/<family>.jsonl, refusing a mark that
names no case, differs from its case's SQL or obligations, or is not a known
mark. A Snowflake syntax error the parser now accepts fails the diff unless its
case is marked documented (D113); those go on their own non-failing line for
the auditor. The docs describe the marks and the receipt join behind both
case lines.
@kvlonge
kvlonge merged commit 0861df0 into main Nov 5, 2026

kvlonge commented Nov 5, 2026

Copy link
Copy Markdown
Contributor Author

Gate (D94) and landing record.

  • Command: make check-merge RECORDER=0 on the exact head 0861df090463bb9f7d1d9e87e53171651fa9031d, one build job. Exit 0.
  • The head contains main a398f2e5627928d894ceef9bbf7a380da6f5299d (Parse a Snowflake CREATE DATABASE ROLE by name #59), merged in as a merge commit. An earlier gate run on 903dce2 was stopped when main moved.
  • Landed by fast-forward: main = 0861df09. main tree = head tree = e4f81488ec5ee2153126af4dec9c6995689d66cd.
  • Coverage diff against the baseline in the gate: no regression lines and no DOCUMENTED lines, 0 forms lost, 0 obligations lost, 56 obligations gained (unchanged; checker only, no parser change).
  • Receipted Snowflake-parsed cases now rejected: 0. Snowflake syntax errors now accepted: 0. Documented (D113) flips listed: 0.
  • Negative tests: a documented flip is listed apart, and a settled-mark flip still fails (the first fails with the split removed). Load faults cover a mismatched mark and an unknown mark. On catalogue e85aeb3, validate passes with all of C's marks loaded.
  • Stale reviews: none from this change.

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