Centralize Jac object semantics and native compiler migration foundations - #9022
Merged
marsninja merged 82 commits intoSep 8, 2026
Merged
Conversation
Keep main display-name argument order consistently across web and mobile callers. Route the new contract decoder through the shared Jac/Python record adapter and verify defaults and required fields for both record kinds.
marsninja
marked this pull request as ready for review
September 8, 2026 09:26
Contributor
|
Too many files changed for review (302 files, 100 file limit). Bypass the limit by tagging |
Open
55 tasks
chess10kp
added a commit
to chess10kp/jaseci
that referenced
this pull request
Sep 8, 2026
Absorb 147 upstream commits (Aug 25..Sep 8): centralize Jac object semantics and native compiler migration foundations (jaseci-labs#9022), shared boundary contracts through compilation and runtime (jaseci-labs#9048), comptime imports, workspace apps, native frontend materialization. Conflict resolutions: unitree Import/Complex nodes follow upstream's migrated shape with the campaign clib_header param restored (decl + roles.impl woven init); uni_pass visitor surface dropped with upstream's native dispatch; client compile internals, runtime anchor resolution, modresolver spec probing, HMR classify take upstream's refactors; campaign hooks preserved (NATIVE_SEAL precompile roots, React/Solid backend overrides, clib import token regeneration, runtime_module/jsx_factory_name lowering); duplicate pre-merge backend impl monoliths (esast/jcir 10.8k lines) and the orphaned accept-machinery impl files (dispatch/surface, 230 impls each) removed so annex weaving terminates; jcir Complex literal lowering migrated to the split impl layout (expr.impl.jac). Local verification: layer10 140/140, layer9 203/203, vm_conformance 199/199, flowgraph_verify 29/29 on isolated warm caches; jac check over jac/jaclang clean.
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.
Completed work
This draft moves shared compiler infrastructure toward native execution without creating a second checker. The full native type checker has not yet been linked and executed; production native scope has not been expanded to include it.
7e2ddc1f8a, resolved all seven display-name argument-order conflicts consistently, and adapted the newly introduced record decoder to Jac-owned semantics. The PR is mergeable.Validation and current CI
Current head
b21e8a20cis green in CI run 34179288887, attempt 2. The aggregate Everything Passed check succeeded, with no failed or pending jobs. The PR is mergeable.Separate CI jobs passed 1,041 static-check targets, 1,938 runtime tests (8 skipped), 1,044 compiler-toplevel tests (2 skipped), 223 equivalence tests, 1,615 native backend/tools tests (4 skipped), and 1,217 compiler-pass/JavaScript tests (5 skipped). Binary/bootstrap, ARM64, client, scale/Kubernetes, package/docs, managed Android, installers, and packaged-site smoke checks also passed. The site check covered desktop packaging, development, production and gateway browser journeys, and the ejected backend.
The separated-client assertion now checks the contract identifier introduced by main's boundary-contract work. The earlier site entry-load failure did not recur in CI or the complete local journey using the CI binary; a fresh browser also rendered after a forced Vite dependency rebuild. The first attempt reported missing Pillow members during static analysis after restoring an analysis cache. The workflow's clean retry skipped that cache and passed all 1,041 targets; the underlying cache-related cause has not been established. No type checks or browser assertions were disabled.
Focused source runs also covered field/constructor semantics, Pydantic, canonical identity, annotations, enums, native containers and ownership. The latest record-decoder tests passed for Jac and Python records. These runs are separate evidence, not one aggregate suite.
The chess benchmark completed a warmup and one measured uncached build (10.789935 seconds). This confirms the entry point works; it is not a speedup comparison or a measurement of full native type checking. The current native compiler kernel still has recorded demotions; verified evaluator IR alone does not establish full native execution.
Remaining scope
Typed object-level graph endpoint access, remaining session/I/O/catalog boundaries, dynamic compile-time values/calls/exceptions, module identity and ownership cases, strict fresh/cached lowering parity, full checker linking/execution, corpus parity and production rollout remain unfinished. The remaining compiler phases also require their own native audit. See
jac/jaclang/compiler/NATIVE_MIGRATION.mdand the scope tables below.Original scope tables
The following tables are preserved verbatim from the requested checkpoint. The completed-work and validation sections above record subsequent progress.
Implemented work
operatordispatch with shared Jac operations. Corrected when compile-time requirements are validated.main.Remaining work, including the unfinished portions of those changes
NativeScopeEntry.strictconsistently, including cached artifacts and imported dependencies.__jac__.target.archetype; preserve the association between edge metadata and its target.JacProgramaccess and type remaining program, options, artifact, configuration, registry, and diagnostic contracts.openoptions, read/seek behavior, error handling, encoding policies, and buffer lifetime.mmap/erased-buffer dependencies; complete bounds-checked decoding, header operations, lazy loading, and lifecycle.astuse for annotations, exports, ambient imports, and fallback parsing.native_compile_bench.jac.