Repository navigation
feat(native): assemble project resource facts natively behind the preview engine - #1066
Merged
Merged
Conversation
…view engine Native project assembly derives model, function and audit dependencies, managed source and seed destinations (with variable, environment and context templates and their recorded reads), and model and hook syntax validation. Anything native cannot reproduce exactly hands the whole resource assembly back to Python with a project_assembly deferral record.
…ENV names through Python The native syntax check now uses the shared parser-dialect guard, so an adapter dialect this parser build lacks defers with unsupported_dialect instead of accepting SQL Python rejects. ENV template names are resolved by Python's own os.environ lookup and sent with the request, so Windows' case-insensitive keys behave as in Python; a name the request does not carry defers.
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
M4i part 1: project resource assembly runs natively behind
native-preview. Results match Python byte for byte, or native defers with a record.Changes
assembly/project/: model, function and audit deps; managed source and seed destinations via the shared template evaluator; model and hook syntax checks for exactly the SQL Python validates.COMPILE_INPUT_READS. Anything else defers to unchanged Python with aproject_assemblyrecord.lineage/main/parser_dialect.rs). A dialect this parser build lacks (e.g.trino) defers withunsupported_dialect. New failure caseassembly-hook-syntax-unbuilt-dialect.os.environ.getand sent with the request, so Windows' case-insensitive keys match Python. Unsent names defer.assemble_native_projectstub andassemble_project_by_engineseam. No oracle Python deleted.test_native_analysis_seamsnow recordsassemble_native_project_resources, which returnsNativeProjectResources, notNone._assemble_compiled_modeldropsseed_names, whichmodel_build_depsnever read.Verification
os.environsnapshot → Windows case fails.syntax_error×3 andunsupported_dialect×1.validatewheel calls 176→22.make check-ci,make test, cargo test/clippy/fmt on 1.99.0, hygiene.