fix(javascript): preserve unknown module-alias provenance

Replace the implicit local-provenance fallback with explicit locally constructed values. Keep opaque results, parameters and caught values unknown; follow assignment and sequence results while retaining exact module aliases. Clarify that alias provenance does not represent transitive data taint.

Validation: 26 focused provenance/module-link tests, 135 semantic and graph-builder tests, six application module-relationship boundary tests, and the fast typecheck/lint gate.
This commit is contained in:
morluto committed 2026-10-13 16:08:41 +08:00
1 parent b955b825fc
commit c7a890d129
3 files changed
+130 -2

No files matched your search

@@ -13,7 +13,10 @@ export interface JavaScriptModuleOrigin {
readonly importedPath: readonly string[];
}
/** Fail-closed provenance classification for one binding. */
/**
* Fail-closed module-alias provenance for one binding, not transitive data flow.
* Locally constructed values may contain or derive from imported values.
*/
export type JavaScriptBindingProvenance =
| {
readonly status: "module";