Skip to content

test(native): count remaining native-to-Python fallbacks and add golden compile outputs - #1060

Closed
kvlonge wants to merge 7 commits into
mainfrom
test/native-fallback-counter
Closed

kvlonge wants to merge 7 commits into
mainfrom
test/native-fallback-counter

Conversation

@kvlonge

@kvlonge kvlonge commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

Why

One gate must prove native did the work; goldens replace the Python oracle. Review found a stage switched off could pass.

Changes

  • native_fallbacks.toml: exact per-corpus counts of fallbacks, preview deferrals and <stage>.native answers. New, changed or vanished entries fail both CI targets.
  • A vanished fallback is refused unless that stage's native answers rose, so a switched-off sql_test_glue/project_assembly is not a port.
  • Goldens (outputs only, masked) for fixtures, examples, failures and recorded seeds. A missing seed_range.toml fails closed; dialect variants are required only for the recorded first seed.
  • engine_error_cases(): exact errors on all engines.
  • README: removed-fallback rule; corpus can't reach type_system (parity test covers it).

Entry changes in this update:

Loosening: no goldens for seeds outside the recorded range or ad hoc dialect variants; <project>/<work> masks. No goldens changed.

Verification

  • Sabotage (test_native_fallback_gate.py): reference scan to Python, analysis session deferring, stages off (incl. all 12 waffle-shop stages), sql_test_glue off against the committed list, a stale entry. All fail
  • Type parity: public normalize_type consults native under preview; fails with the python engine
  • make compiler-baselines; both CI-flag differentials (324 projects); focused tests; make check-ci; make test; hygiene

@kvlonge
kvlonge force-pushed the test/native-fallback-counter branch from d2e5014 to 16150f8 Compare October 9, 2026 08:49
@kvlonge
kvlonge enabled auto-merge October 9, 2026 10:41
@kvlonge
kvlonge disabled auto-merge October 9, 2026 10:42
@kvlonge
kvlonge force-pushed the test/native-fallback-counter branch from 16150f8 to a688a67 Compare October 9, 2026 10:42
@kvlonge
kvlonge enabled auto-merge October 9, 2026 10:42
@kvlonge
kvlonge added this pull request to the merge queue Oct 9, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch Oct 9, 2026
@kvlonge
kvlonge enabled auto-merge October 9, 2026 15:43
…en compile outputs

Every shipped-stage fallback reports a named site to the compiler
differential. One allow-list holds those fallbacks and the preview
analysis deferrals with exact counts per corpus, and the CI make
targets fail on new, changed or vanished entries. Golden compile
outputs cover fixtures, examples, seeds and the failure corpus, and a
shared failure-corpus list holds user-facing errors every engine must
report with the exact text.
…ate holes

Every native stage now reports the work it answered, so a stage switched
to Python makes its allow-list entries vanish and fails the gate. The
scenario expected-model scan, declaration contexts, the macro memo,
effective vars, preview stubs and type normalization count their Python
paths. Seed goldens are required inside a recorded range, fixture and
example goldens are checked by the shipped differential too, golden
inputs trigger the differential, and a failing gate says how to record
intended changes.
@kvlonge
kvlonge force-pushed the test/native-fallback-counter branch from a688a67 to 78f5d90 Compare October 9, 2026 17:01
@kvlonge
kvlonge added this pull request to the merge queue Oct 9, 2026
@kvlonge
kvlonge removed this pull request from the merge queue due to a manual request Oct 9, 2026
@kvlonge

kvlonge commented Oct 9, 2026

Copy link
Copy Markdown
Contributor Author

Landed together in #1075 to cut merge-queue CI runs; review history stays here.

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