fix(native)!: preserve value-flow absence semantics (#8785)

* fix(native)!: preserve value-flow absence semantics

* test(native): compare value-flow reasons with their owners

Stop freezing the unrecorded and Kuna unavailable sentences. Assert the
procedure-scoped unknown and that an explicit provider reason is preserved.

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
This commit is contained in:
morlutoandCursor Agent authored and GitHub committed 2026-11-05 02:32:15 +08:00
1 parent dd4b83c220
commit 1ff5a655bc
8 files changed
+81 -8

No files matched your search

@@ -1357,3 +1357,15 @@ it("revises the trace_feature workflow profile so earlier results are not replay
"other workflows keep their profile",
).toEqual(workflowAnalysisProfile(profile));
});
it("binds native value-trace absence semantics without changing other workflows", () => {
const profile = ANALYSIS_SNAPSHOT_PROFILE;
const valueTrace = workflowAnalysisProfile(profile, "trace_native_values");
expect(valueTrace.parameters.value_flow_absence).toBe(
"recorded-versus-unavailable-v1",
);
expect(valueTrace.digest).not.toBe(workflowAnalysisProfile(profile).digest);
expect(workflowAnalysisProfile(profile, "trace_call_path")).toEqual(
workflowAnalysisProfile(profile),
);
});