mirror of
https://github.com/morluto/rea.git
synced 2026-11-07 15:26:25 +00:00
* 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>
31 lines
1.2 KiB
TypeScript
31 lines
1.2 KiB
TypeScript
import type { AnalysisOperation } from "./AnalysisProvider.js";
|
|
import {
|
|
createAnalysisProfile,
|
|
type AnalysisProfileCommitment,
|
|
} from "../domain/analysisProfile.js";
|
|
import { REA_WORKFLOW_PROVIDER } from "../domain/investigationProviders.js";
|
|
|
|
/** Commit a workflow result to its upstream profile and applicable semantic revision. */
|
|
export const workflowAnalysisProfile = (
|
|
upstream: AnalysisProfileCommitment,
|
|
operation?: AnalysisOperation,
|
|
): AnalysisProfileCommitment =>
|
|
createAnalysisProfile(REA_WORKFLOW_PROVIDER, {
|
|
upstream_analysis_profile: upstream,
|
|
source_limitations: "provider-operation-caveats-v1",
|
|
...(operation === "trace_native_values"
|
|
? { value_flow_absence: "recorded-versus-unavailable-v1" }
|
|
: {}),
|
|
...(operation === "binary_overview"
|
|
? { workflow_revision: 5 }
|
|
: operation === "batch_decompile"
|
|
? { workflow_revision: 4 }
|
|
: operation === "trace_feature"
|
|
? { workflow_revision: 4 }
|
|
: operation === "get_call_graph"
|
|
? { workflow_revision: 3 }
|
|
: operation === "trace_native_values"
|
|
? { workflow_revision: 2 }
|
|
: { workflow_revision: 1 }),
|
|
});
|