[GH-ISSUE #8783] [Bug] Native value-flow absence changes meaning between dossier and trace #7544

Open
opened 2026-11-03 12:24:59 +00:00 by bsakaguchi · 0 comments
Owner

Originally created by @morluto on GitHub (Nov 3, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/8783

Before submitting

  • I searched open and closed issues for related reports.
  • I removed credentials and private target data.

Area

Native analysis or decompilation

Observed behavior

In the same real Kuna 1.989 MCP session, analyze_function returned native_value_flow: null; inspect_analysis_view for value_flow_parameters reported available: false, reason: not recorded; and trace_native_values returned an unknown saying Provider has no native def-use model. This occurred in both compact and full input/output profiles on a self-built arm64 Mach-O, unexecuted and unchanged (SHA-256 c244f7d7d9fa9b7f4cfcb1f69d69cc1f83ad98fe38b0293b223b3ca7d9076363). The current REA Kuna provider does not supply this facet, but that observation does not establish a claim about every possible provider or every historical omission.

Reproduction

Open the target with Kuna, call analyze_function with detail: complete, page its value_flow_parameters facet from the retained Evidence, and call trace_native_values on the same procedure. Compare the dossier's null, the page's not-recorded reason, and the trace unknown. The latter still correctly reports the graph as unknown; no claim of an empty complete graph is made.

Expected behavior

Preserve the producer's distinction between an unrecorded facet and an explicitly unavailable one through direct and composed results. A null source should not establish a provider-wide capability claim. If the Kuna adapter knows its REA integration cannot supply native def-use, it can report that as an explicit provider-scoped unavailability with an appropriate reason; distinguish this from upstream Kuna's general capabilities and from a particular function's lack of a model.

Analysis or suspected cause

Source inspection: KunaSessionClient writes native_value_flow: null; nativeFunctionView calls null not recorded; NativeValueTrace assigns Provider has no native def-use model whenever the facet is null. This applies to every provider and historical null, not just Kuna. Both consumers should rely on the same owning representation. Any behavior change should address analysis-profile/snapshot replay and preserve historical Evidence.

Impact and scope

An agent can get contradictory explanations and may interpret a missing observation as an established provider-wide fact. The real control proves the divergence for one Kuna workflow, not that any particular other provider was misclassified. Related #8471 concerns workflow availability versus call-target requirements; this report concerns the meaning of the recorded facet and its composed unknown.

REA version

REA main 8c857ce56 with the catalog-only #8782 change; Kuna 1.989; macOS arm64, Node 24.22.1.

Interface

MCP; the shared producer and workflow also serve CLI.

Earliest failure stage

Provider dossier production and composed workflow projection.

Relevant output or evidence

native_value_flow: null; view {"available":false,"reason":"not recorded"}; trace unknown Provider has no native def-use model.

Typed outcome or recovery expected

Preserve explicit unavailability with its reason, and report genuinely unrecorded input as unknown without inventing provider capability. Keep source provenance, prior Evidence import, selected-provider semantics and snapshot identity.

Additional context

cc @gensokyo-dev @kaoru0822-kitauji @N0zoM1z0

Originally created by @morluto on GitHub (Nov 3, 2026). Original GitHub issue: https://github.com/morluto/rea/issues/8783 ### Before submitting - [x] I searched open and closed issues for related reports. - [x] I removed credentials and private target data. ### Area Native analysis or decompilation ### Observed behavior In the same real Kuna 1.989 MCP session, `analyze_function` returned `native_value_flow: null`; `inspect_analysis_view` for `value_flow_parameters` reported `available: false, reason: not recorded`; and `trace_native_values` returned an unknown saying `Provider has no native def-use model`. This occurred in both compact and full input/output profiles on a self-built arm64 Mach-O, unexecuted and unchanged (SHA-256 `c244f7d7d9fa9b7f4cfcb1f69d69cc1f83ad98fe38b0293b223b3ca7d9076363`). The current REA Kuna provider does not supply this facet, but that observation does not establish a claim about every possible provider or every historical omission. ### Reproduction Open the target with Kuna, call `analyze_function` with `detail: complete`, page its `value_flow_parameters` facet from the retained Evidence, and call `trace_native_values` on the same procedure. Compare the dossier's null, the page's not-recorded reason, and the trace unknown. The latter still correctly reports the graph as unknown; no claim of an empty complete graph is made. ### Expected behavior Preserve the producer's distinction between an unrecorded facet and an explicitly unavailable one through direct and composed results. A null source should not establish a provider-wide capability claim. If the Kuna adapter knows its REA integration cannot supply native def-use, it can report that as an explicit provider-scoped unavailability with an appropriate reason; distinguish this from upstream Kuna's general capabilities and from a particular function's lack of a model. ### Analysis or suspected cause Source inspection: `KunaSessionClient` writes `native_value_flow: null`; `nativeFunctionView` calls null not recorded; `NativeValueTrace` assigns `Provider has no native def-use model` whenever the facet is null. This applies to every provider and historical null, not just Kuna. Both consumers should rely on the same owning representation. Any behavior change should address analysis-profile/snapshot replay and preserve historical Evidence. ### Impact and scope An agent can get contradictory explanations and may interpret a missing observation as an established provider-wide fact. The real control proves the divergence for one Kuna workflow, not that any particular other provider was misclassified. Related #8471 concerns workflow availability versus call-target requirements; this report concerns the meaning of the recorded facet and its composed unknown. ### REA version REA main `8c857ce56` with the catalog-only #8782 change; Kuna 1.989; macOS arm64, Node 24.22.1. ### Interface MCP; the shared producer and workflow also serve CLI. ### Earliest failure stage Provider dossier production and composed workflow projection. ### Relevant output or evidence `native_value_flow: null`; view `{"available":false,"reason":"not recorded"}`; trace unknown `Provider has no native def-use model`. ### Typed outcome or recovery expected Preserve explicit unavailability with its reason, and report genuinely unrecorded input as unknown without inventing provider capability. Keep source provenance, prior Evidence import, selected-provider semantics and snapshot identity. ### Additional context cc @gensokyo-dev @kaoru0822-kitauji @N0zoM1z0
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#7544
No description provided.