Commit Graph
393 Commits
Author SHA1 Message Date
morluto 89006609f1 fix(javascript): separate erased types from runtime semantics
Record erasure during definition indexing and reuse it across runtime references, captures, effects, module links, routes, Electron and Vite. Preserve source type links and emitted decorator and computed-key effects; keep actual runtime reads and escapes conservative.

Validation: 1,647 focused tests and 9 documentation tests passed, with build, static and documentation gates. The inherited reference-lifetimes stress file exhausts a 512 MiB worker on both unmodified 18451e479 and this change; that file remains unverified. TypeScript 7.0.2 emit was inspected for ES2022 and ES2018 without executing emitted code.
2026-10-24 18:00:43 +08:00
morluto 0f3a15de0d fix(javascript): preserve factory export helper identity 2026-10-24 16:08:26 +08:00
morluto f774dc420b fix(javascript): bind factory export roles to parameter values 2026-10-24 12:34:10 +08:00
morluto 21097b192b fix(javascript): preserve catch destructuring alias ownership 2026-10-24 12:07:33 +08:00
morluto 37f24125ad fix(javascript): resolve proven URL constructor aliases
Remove the redundant spelling gate after the shared intrinsic owner proves native constructor and source-base identity. Retain local-constructor and replaced-export uncertainty through public application analysis.
2026-10-24 10:17:23 +08:00
morluto 6298c84eea refactor(javascript): consolidate semantic graph boundaries
Retire the unused graph serialization facade and use one typed query implementation after canonical request admission. Migrate tests to the owning schemas while preserving graph commitments, Unicode transport, provenance, uncertainty, traversal and reconstruction controls.
2026-10-24 10:13:24 +08:00
Iven Kooandgensokyo-dev 9df94a62cd feat(javascript): link assignment right-hand sides to their writes (#6206)
* feat(javascript): link assignment right-hand sides to their writes

A declaration carries its value forward, but a later assignment to a
variable, a property or through a compound operator stopped the forward
trace at the right-hand-side read. The semantic IR now records one
syntactic assignment flow per simple assignment target (ranges, operator,
owning callable), and the graph projection connects each retained read
of the right-hand side to the write occurrence through a defines
relation. Compound assignments also consume the previous value of the
target; the written value itself stays unknown, keeping the boundary of
#4342 intact.

Fixes #6193

* fix(javascript): preserve computed key assignment ownership

* test(javascript): retain nested callback assignment ownership

* docs(javascript): record assignment influence verification

* test(mcp): isolate mocks and acknowledge cancellation boundaries

* test(javascript): retain CLI diagnostics and current-main verification

---------

Co-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>
2026-10-24 10:04:38 +08:00
morluto 31de177404 perf(javascript): preselect captured prefix replacements 2026-10-24 09:11:30 +08:00
morluto 45d0c3e299 fix(javascript): retain proven browser global receivers 2026-10-24 09:11:30 +08:00
morluto 446333cb7f fix(javascript): deduplicate shared projected source facts 2026-10-24 09:11:30 +08:00
morluto d81d6b6707 fix(javascript): preserve semantic gaps for unparseable sources
Successful worker transport can carry an explicit failed parser status
with no semantic projection. Preserve that producer fact through the
shared source-availability interpretation used by full and incremental
graph construction, rather than dropping the source's semantic scope.

Retain the module when capacity permits, per-family incomplete-module
unknowns, and unknown omitted extents. Preserve existing operational
failure reasons and limits without classifying syntax as resource loss.
Document this coverage behavior.

Validation: regression-first run had 3 expected failures; all 22 selected
projection and public CLI source-selection/HTML cases passed after repair.
No JavaScript target execution or live external provider was involved.
2026-10-24 08:58:22 +08:00
morluto f2dfda4b36 test(contracts): consolidate concurrent limitation fixtures 2026-10-24 08:22:14 +08:00
morluto 6ed96f4372 test(javascript): separate option ownership and capture scenarios 2026-10-24 08:22:14 +08:00
morluto 2ff85c0e4c fix(javascript): separate stored receiver and initializer traversal 2026-10-24 08:22:14 +08:00
morluto 3e6ac23b50 perf(javascript): defer ancestry for member identifier roles 2026-10-24 08:22:14 +08:00
morluto 4394e8b592 fix(javascript): bound precise alias projection histories before expansion 2026-10-24 08:22:14 +08:00
morluto eb721ebbf1 fix(javascript): retain stored receiver capture authority 2026-10-24 08:22:14 +08:00
morluto 2496256cb7 fix(javascript): require complete receiver ownership proofs 2026-10-24 08:22:14 +08:00
morluto cc4f805541 fix(javascript): retain unresolved export iteration sources 2026-10-24 08:22:14 +08:00
morluto 934f538f64 test(javascript): align public fixtures with proven source facts 2026-10-24 08:22:14 +08:00
morluto 002f9df43a fix(javascript): derive program strictness from parser context 2026-10-24 08:22:14 +08:00
morluto 6323013d83 fix(javascript): bound query unions and refresh semantic fixtures 2026-10-24 08:22:13 +08:00
morluto 07005b8fe6 fix(javascript): preserve local reference store ownership 2026-10-24 08:22:13 +08:00
morluto 59553c76be test(javascript): align semantic fixtures with runtime context 2026-10-24 08:22:13 +08:00
morluto c3ad8fc024 test(javascript): preserve fixture runtime context for path analysis 2026-10-24 08:22:13 +08:00
morluto 79805f244a fix(web): preserve JSON identity and coverage contracts
Decode base64 JSON body bytes at the shape owner without replacement characters. Keep incomplete request correspondence unknown and use explicitly complete authored inventories for positive comparison controls. Repair semantic truncation and storage fixtures to satisfy their owning contracts without weakening assertions.
2026-10-24 08:01:25 +08:00
morluto 36f528efcb fix(javascript): share immediately returned loader facts
Reuse the existing direct-call returned-reference owner for immediate synchronous function results and feed proven loader facts into historical imports. Simple returned require retains its identity; mixed, opaque, and canonical shim alternatives retain explicit uncertainty rather than disappearing.

Focused semantic, Electron, and public CLI regressions passed, including CommonJS, ESM, async/generator, mutable argument, direct-loader, and source-provenance controls. No runtime target or Proxy evaluator was introduced.

Fixes #3535
2026-10-24 07:28:09 +08:00
f8ff1579ad test(reference): preserve optional resolver identity regressions (#6913)
fix(reference): retain optional CommonJS resolver dependencies

Co-authored-by: Plastic-time <Plastic-time@users.noreply.github.com>
Co-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>
2026-10-24 06:46:22 +08:00
morluto d5df7fd944 fix(reference): preserve source scope and loader authority
Share parser-owned package and runtime facts across dependency consumers.
Preserve uncertain loader requests and explicit wrapper bindings without
inventing unbound require authority in known modules. Cover selected source
grammar through the public MCP boundary and retain ambient/type dependencies.

Open each selected directory before loading its scoped policy, retaining
partial directory failures and cleanup ownership. Preserve explicit caller
negation precedence and source diagnostics across inventory projections.

Clarify how version comparison retains container provenance without claiming
semantic drift. Use independent unknown source inputs to keep candidate-limit
fixtures meaningful as conditional branch evaluation becomes more precise.

Fixes #6891
Fixes #6882
Fixes #6883
Fixes #6859
2026-10-24 06:24:55 +08:00
morluto 30db499db3 fix(javascript): preserve graph facts across omissions and versions
Omit absent inventory facts without erasing explicit unknowns. Compare canonical file occurrences by source path and digest while preserving complete container provenance in observations and Evidence.

Consolidate candidate-capacity fixtures around unresolved alternatives and update inventory coverage and source-occurrence oracles. Preserve resource, identity, relationship uncertainty, cancellation, and transfer regressions.
2026-10-24 06:20:36 +08:00
morluto aa4572828f fix(electron): retain bounded source frame claims 2026-10-24 05:02:21 +08:00
morluto 27b077edea fix(javascript): capture primitive return values at evaluation 2026-10-24 04:39:50 +08:00
morluto d2dc3cfc34 refactor(tests): separate fixtures and registration groups 2026-10-24 04:25:13 +08:00
morluto 55437c1431 fix(javascript): prove native URL constructor paths 2026-10-24 04:25:13 +08:00
morluto f97747c2fb fix(javascript): preserve route selection owners and uncertainty 2026-10-24 04:25:13 +08:00
morluto 1872fef5c0 fix(javascript): retain activation order for captured scope exits 2026-10-24 04:25:13 +08:00
morluto 9fb63ad066 fix(javascript): distinguish deferred bootstrap installer writes 2026-10-24 04:23:56 +08:00
morluto 7d941e2799 fix(electron): keep optional provenance fields within JSON evidence values 2026-10-24 04:23:56 +08:00
morluto d9a855f5cb fix(browser): preserve unknown script ownership through reconciliation 2026-10-24 04:23:56 +08:00
morluto df00588325 fix(electron): separate script frame admission from declared source labels 2026-10-24 04:16:47 +08:00
morluto c6ac60acfe fix(javascript): preserve capture and property-key effect ownership 2026-10-24 04:16:47 +08:00
morluto dfafc04f6d test(javascript): retain valid unknown endpoint coverage shape 2026-10-24 04:05:23 +08:00
morluto f6b525d3af fix(javascript): separate endpoint syntax correspondence from target identity 2026-10-24 03:59:44 +08:00
morluto 9c4d194f14 fix(javascript): consume per-field CommonJS publication facts 2026-10-24 03:16:30 +08:00
morluto da0480a665 fix(javascript): preserve capture timing and detached receiver authority 2026-10-24 03:16:29 +08:00
morluto 209c42c346 fix(browser): keep code absence unknown without worker inventory 2026-10-24 03:10:56 +08:00
morluto 693ecec082 fix(artifacts): retain permission omissions through JavaScript lookups 2026-10-24 03:10:43 +08:00
morluto dd55e2c7d5 fix(javascript): retain initialized class self binding at body reads 2026-10-24 03:10:43 +08:00
morluto f1a9d85de5 fix(javascript): preserve per-field publication and provenance coverage 2026-10-24 03:10:43 +08:00
morluto 2206822109 fix(javascript): preserve copied values and export publication lifetimes 2026-10-24 03:10:43 +08:00