Repository navigation
Commit d0c6760
authored
feat(native): make native discovery the default compiler engine (#1003)
* feat(native): reproduce each supported Python's text semantics natively
Native discovery deferred to Python whenever the running Python's Unicode
data differed from the one table it carried (CPython 3.12), so 3.13 and
3.14 never ran natively. Generate a `str.isalnum()` table for the Unicode
version of each supported CPython (15.0.0, 15.1.0, 16.0.0), select it by
`unicodedata.unidata_version` per call, and reproduce `inspect.cleandoc`
per Python minor version (3.13 strips spaces only). Unknown Python or
Unicode versions still defer to Python.
* feat(native): make native discovery the default compiler engine
With SQLBUILD_COMPILER_ENGINE unset, compiles now discover project inputs
natively. The differential harness is byte-identical on the per-PR corpus
(on Python 3.12, 3.13 and 3.14), the dense corpus and a private real
project, and cold, edit and no-change compiles are no slower.
SQLBUILD_COMPILER_ENGINE=python keeps the Python discovery as the oracle,
and CI keeps comparing both engines.
Compiler and Rules stores stay namespaced by engine, so the first compile
after upgrading is cold once; semantic fingerprints do not change.
Tests that hardcoded the Python engine's cache paths now resolve the
active engine's directories, and an E2E test proves the unset default
runs native discovery with output identical to the Python engine.
* fix(native): name engine-namespaced cache paths and test native discovery on Python 3.13 and 3.14
Docs now name the native engine's compile reuse and Rules cache
directories, the unused Python-engine reuse path constant is removed, and
a CI job runs the native text oracles and a bounded engine differential
on Python 3.13 and 3.14.
* ci: generate the base benchmark project with the base checkout's own environment
* test(lineage): read the structural cache from the active engine's directory1 parent 1d70758 commit d0c6760
64 files changed
Lines changed: 2121 additions & 200 deletions
File tree
- .github/workflows
- crates
- sqlbuild-core/src/text
- _helpers
- alnum_ranges
- main
- tests
- sqlbuild-discovery/src
- _helpers
- model_files
- _helpers
- tests
- sql_tests
- _helpers
- main
- tests
- sqlbuild-python/src/bindings
- _helpers
- scripts
- compile_performance_ratio/main
- python_char_table
- _helpers
- main
- src/sqlbuild
- .agents/skills/sqlbuild/references/docs
- cli
- concepts/rules
- cli/compile_reuse
- compiler
- discovery/_helpers/native
- frontier
- _helpers
- scopes
- tests
- e2e/src/sqlbuild/cli/commands/main
- build
- compile
- lineage
- rules
- scope
- integration/src/sqlbuild
- cli/commands/main
- compiler
- discovery
- unit/src/sqlbuild
- cli/compile_reuse/_helpers
- compiler
- compile/_helpers
- frontier
- scopes
- website/src/content/docs/docs
- cli
- concepts/rules
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
296 | 296 | | |
297 | 297 | | |
298 | 298 | | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
299 | 343 | | |
300 | 344 | | |
301 | 345 | | |
| |||
488 | 532 | | |
489 | 533 | | |
490 | 534 | | |
491 | | - | |
| 535 | + | |
492 | 536 | | |
493 | 537 | | |
494 | 538 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
2 | | - | |
3 | | - | |
4 | | - | |
5 | | - | |
6 | | - | |
7 | | - | |
| 1 | + | |
| 2 | + | |
| 3 | + | |
8 | 4 | | |
9 | 5 | | |
10 | 6 | | |
| |||
752 | 748 | | |
753 | 749 | | |
754 | 750 | | |
755 | | - | |
| 751 | + | |
0 commit comments