mirror of
https://github.com/morluto/rea.git
synced 2026-11-05 06:45:22 +00:00
[GH-ISSUE #5990] [Bug] Managed graph wrong-role Evidence has inconsistent CLI and MCP diagnostics #3659
Closed
opened 2026-10-31 00:42:48 +00:00 by bsakaguchi
·
1 comment
No Branch/Tag specified
main
codex/procedure-reference-stacked
release-please--branches--main--components--rea-agents
release-please--branches--main--components--rea-agents--release-notes
codex/kuna-independent-retry
codex/byte-search-overlay-coverage
codex/open-failure-target-receipt
codex/kuna-xref-evidence
codex/ghidra-ambiguous-procedure-recovery
codex/function-source-bundle
codex/trace-function-integration-prototype
codex/snapshot-source-closure
codex/recorded-evidence-array-pages
codex/evidence-recovery-redesign
codex/trace-feature-address-scope
codex/call-discovery-scope
codex/ghidra-literal-candidate-evidence
codex/decompile-directory-independent-retry
codex/retry-provenance-base
codex/value-flow-capability-experiment
codex/ghidra-containing-instruction
cursor/readme-discord-button-ef9f
dependabot/github_actions/actions/setup-node-7.1.0
dependabot/github_actions/actions/upload-artifact-7.0.2
dependabot/npm_and_yarn/npm-minor-and-patch-d8d97ce6df
codex/kuna-1989
fix/8559-native-ui-fixture-ownership
fix/8555-go-verifier-mcp-ownership
codex/provider-capability-recovery
fix/8642-rizin-target-stdin
codex/ghidra-memory-effect-scope
codex/ghidra-annotation-entry-selector
codex/ghidra-readonly-recovery
codex/ghidra-regex-verifier-recovery
codex/evidence-discovery-view-guidance
fix/8545-bulk-append-overflow
fix/8428-navigation-refusal-alternatives
codex/address-context-recovery
codex/matching-member-limitations
codex/unknown-scope-contract
codex/evidence-view-guidance
feat/8373-native-trace-views
codex/ghidra-snapshot-verifier-binding
codex/elf-export-visibility
codex/evidence-view-recovery
codex/native-reference-cli-help
codex/provider-candidate-observation-scope
codex/kuna-session-verification
codex/ghidra-switch-lifetime-guidance
codex/pseudocode-paging-discovery
codex/clarify-evidence-view-support
codex/kuna-xrefs-selector-recovery
codex/context-capacity-recovery
codex/evidence-closure-large-links
codex/same-function-evidence-identity
codex/ghidra-verifier-inspected-jdk
codex/audit-guided-workflows
codex/crash-prompt-retained-dossiers
codex/analysis-view-error-recovery
codex/kuna-verifier-target-selection
codex/ghidra-selected-project-call-coverage
codex/docs-native-analysis-scope
codex/ghidra-java-socket-boundary
codex/ghidra-retained-snapshot-verifier
codex/ghidra-search-inventory-facts
fix/8284-zero-argument-parameter-bindings
fix/8198-ui-action-handler-offset
fix/8257-elf-entry-label-identity
fix/8304-deferred-output-schema-projection
fix/8277-call-path-computed-target-uncertainty
fix/pr-8089-conflicts
fix/ci-static-duplicate-export
dependabot/npm_and_yarn/lint-staged-17.6.0
dependabot/github_actions/actions/download-artifact-8.0.2
dependabot/npm_and_yarn/write-file-atomic-8.0.0
dependabot/npm_and_yarn/canonicalize-5.1.0
dependabot/github_actions/actions/cache/restore-6.1.0
dependabot/npm_and_yarn/toon-format/toon-4.4.0
dependabot/github_actions/actions/deploy-pages-5.0.1
codex/review-fixes-pr-2403
codex/review-fixes-pr-2400
codex/process-terminal-width
codex/test-brittleness-cleanup
verify/7167-browser-connect-macos
fix/7167-browser-connect
feat/native-matching-allowance-setting
feat/browser-scenario-dry-run
test/managed-caller-parameters-20261024
codex/parser-fortythird-boundaries
fix/6926-pinvoke-platform-decorations-20261023
fix/6889-har-body-encoding-20261023
fix/6888-sqlite-schema-budget-20261023
fix/dependency-security-gates-6708
cursor/evidence-overwrite-rebase-b4ac
feat/4057-verify-native-exports
fix/windows-acl-observer-overhead-20261022
cursor/erlang-beam-restack-4476
cursor/pe-certificate-review-bf32
fix/6116-javascript-application-fs-errors
fix/6061-unmapped-runtime-script-unknown
feat/browser-scenario-summary
fix/pe-certificates
codex/verify-3407
cursor/rebase-5699
cursor/rebase-5352
cursor/rebase-5600
cursor/fix-cli-schema-omission-10a8
codex/audit-hopper-shutdown-reasons-20261021
fix/demangle-swift-omitted-record
fix/nib-boolean-value-types
cursor/cancellation-partial-observation-a5ac
fix/ib-object-limit-reasons
fix/electron-fuse-limit-advice
fix/kuna-doctor-dangling-cache
fix/fixed-budget-refusal-advice
fix/js-ipc-listener-dedup
fix/js-return-member-provenance
fix/dmg-integrity-retry-advice
fix/ida-doctor-readiness
fix/kuna-version-probe-output-drain
fix/legacy-swift-runtime-name-matching
fix/dylib-lazy-load-commands
fix/browser-scenario-startup-cancel
fix/swift-nested-punycode-classification
fix/compare-unselected-scopes
fix/objc-method-budget-coverage
fix/dmg-mounted-root-observations
audit/ci-tests-20261019-round2
release/6.7.0
fix/wabt-cleanup-retry-resolution
fix/electron-fuse-elf-pe-architecture
fix/native-plist-descriptor-ownership
fix/kuna-caller-cleanup-ownership
experiment/atomic-codemode-20261016
review/first-contributor-3776
fix/call-resolution-full-read-cycles
fix/member-mutation-selection-repeat
experiment/atomic-re-tools-20261015
perf/member-mutation-lazy-origins
perf/static-network-mutation-index
fix/hopper-startup-lifecycle
audit/3050-windows-proof-20261015
feat/windows-window-capture-2183
audit/3049-windows-proof-20261015
audit/3735-macos-fixtures-20261015
fix/batch-decompile-null-pseudocode
fix/kuna-inventory-honors-jobs
experiment/browser-codemode-tool-design-20261015
fix/hopper-clean-runtime-argv
codex/review-2049-27f1b367
review-fixes/pr-2787-routing
fix/3360-scoped-this-emitters
fix/3367-replaced-global-effects
fix/3838-compact-any-value-items
test/hopper-download-probe-20261015
codex/windows-runtime-creation-red-green-20261015
codex/windows-readonly-root-red-green-20261015
codex/windows-root-share-red-green-20261015
codex/exp-1685-win-mcp-startup
codex/bug-sweep-20261015
investigate/2190-windows-package-phases
investigate/3543-macos-cli-deadline
perf/3281-reverse-tools-feedback-quality
fix/3406-hopper-doctor-fixture
fix/3341-wrapper-require-test-context
fix/3301-owned-uninstall-fixtures
fix/3164-compiler-input-ownership
fix/pcap-cleanup-stdout-newline-20261014
perf/interface-builder-summary
codex/review-fixes-pr-1977
fix/ghidra-effective-jvm-platform
fix/docs-turkish-rust-link-20261013
fix/main-maintenance-ci-20261010
fix/recover-binary-session-process-effects
codex/review-fixes-pr-2457
codex/ci-required-cancellation-gate
fix/main-format-baseline-20261013
fix/setup-preserve-entry-fields
cursor/restore-main-checks-1ffc
fix/ghidra-bridge-hashmap-import
codex/shared-ci-jadx-json-default-20261013
codex/shared-ci-ghidra-test-groups-20261013
codex/shared-ci-java-fixture-format-20261013
codex/fix-intrinsic-invocation-boundaries
test/release-preflight-reusable-jobs
test/js-parameter-provenance-expectation
fix/linux-hopper-verification-current
test/2419-ghidra-elf-probe-size
followup/pr-1544-native-ida
codex/fold-pr-2230-contribution
docs/readme-responsible-use
fix/issue-2064
fix/issue-2050
fix/issue-2053
fix/issue-1968
fix/issue-1945
experiment/codemode-bridge-20261011
fix/tool-effects-negative-wording-1904-20261012
fix/1842-electron-interop-provenance
feat/recover-javascript-multi-input
refactor/website-i18n-prep
fix/nativeaot-pe-virtual-extent
fix/browser-verifier-ci-hang
fix/pe-resources-input-selection
docs/beginner-friendly-guides
docs/beginner-setup-guide
fix/javascript-analysis-worker-1563
fix/1649-ghidra-duplicate-names
fix/javascript-export-keys-integration-1369
test/maintenance-boundary-contracts-20261011
review/javascript-export-keys-1369
review/process-live-progress-1483
test/javascript-1495-growth-ratio
fix/ci-escape-timing
docs/normalized-terminal-geometry-1450
release/6.3.0
archive/release-6.3.0-pr1381
release/6.2.0
fix/electron-preload-dynamic-override
fix/javascript-self-referential-bundler-edges
release/6.1.0
cursor/grok-client-cherry-pick-0b56
feat/signature-posture
feat/dyld-shared-cache
feat/artifact-integrity-policy
feat/pkg-inventory
release/6.0.0
chore/sync-release-5.0.0
release/5.0.0
cursor/cloud-agent-node-787e
fix/javascript-xhr-open-endpoints
review/pr-711-realpath-fallback-wording
cleanup/replay-confinement
codex/test-suite-performance
codex/issue-foundations
codex/address-open-issues-2026-07-20
agent/javascript-vite-rollup-esbuild-adapters
agent/process-cleanup
agent/triage-integration
agent/unknown-commands-registry
feat/mcp-identity-metadata
morlvps/issue_cleanup
codex/installer-redesign
morl/roadmap-investigation-core
morl/roadmap-investigation-docs
release-please--branches--main--components--rea
rea-agents-6.8.0
rea-agents-6.7.0
rea-agents-6.6.0
experiment/atomic-codemode-wait-runtime-20261016
rea-agents-6.5.0
rea-agents-6.4.0
rea-agents-6.3.0
rea-agents-6.2.0
rea-agents-6.1.0
rea-agents-6.0.0
rea-agents-5.0.0
rea-agents-4.1.0
rea-agents-4.0.1
rea-agents-4.0.0
rea-agents-3.2.1
rea-agents-3.2.0
rea-agents-3.1.0
rea-agents-3.0.0
rea-agents-2.7.0
rea-agents-2.6.0
rea-agents-2.5.1
rea-agents-2.5.0
rea-agents-2.4.0
rea-agents-2.3.0
rea-agents-2.2.0
rea-agents-2.1.0
rea-agents-2.0.0
rea-agents-1.7.0
rea-agents-1.6.0
rea-agents-1.5.0
rea-agents-1.4.0
rea-agents-1.3.0
rea-agents-1.2.0
rea-agents-1.1.0
rea-agents-1.0.0
rea-agents-0.5.0
rea-agents-0.4.0
rea-agents-0.3.0
rea-0.2.1
rea-0.2.0
Labels
Clear labels
area: bridge
area: bridge
area: build
area: build
area: build
area: cli
area: domain
area: evidence
area: mcp
area: native
area: providers
area: runtime
area: server
area: setup
area: tests
bug
design
documentation
enhancement
enhancement
enhancement
experiment
help wanted
i18n
invalid
P0: critical
P1: high
P2: medium
P2: medium
P2: medium
P3: low
performance
provider-request
pull-request
Mirrored from GitHub Pull Request
question
roadmap
triage
No labels
area: bridge
area: bridge
area: build
area: build
area: build
area: cli
area: domain
area: evidence
area: mcp
area: native
area: providers
area: runtime
area: server
area: setup
area: tests
bug
design
documentation
enhancement
enhancement
enhancement
experiment
help wanted
i18n
invalid
P0: critical
P1: high
P2: medium
P2: medium
P2: medium
P3: low
performance
provider-request
pull-request
question
roadmap
triage
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
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#3659
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @coygeek on GitHub (Oct 21, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/5990
Before submitting
Area
Evidence, artifacts, or reconstruction
Observed behavior
project_managed_application_graphreports an unchanged, authentic managed inspection record selected for the wrong input role asevidence_integrity_mismatchover MCP, with advice to recreate or re-import it. The CLI rejects the identical input asinvalid_request, but its issue has an empty field path and names only the expected operation.I reproduced this for all three graph input fields using fresh records returned by the public static inspectors. The records authenticate and pass the graph request schema. Selecting the correct record succeeds through both adapters with equal normalized results.
Reproduction
From the source checkout with locked dependencies installed and the runtime already built, run the following. It uses the repository's PE/CLI fixture builder and the actual built stdio MCP server and CLI. The fixture is inspected statically; no assembly execution, external native engine, mocked provider or test runner is involved. Child processes use an isolated home and temporary directory.
The script executed once and exited 0 after asserting each currently incorrect diagnostic and its corrected-input control. It does not assert that the current classification is desirable.
Expected behavior
Treat authentic Evidence selected for the wrong workflow role consistently as
invalid_request/invalid_input. Identify the rejected field (managed_artifact,managed_membersormanaged_native_boundaries), explain the expected and supplied operations, and direct the caller to correct its selection. Preserve integrity errors for actual authentication failures or contradictions within an Evidence record.The managed graph contract projects authenticated artifact, member and native-boundary Evidence; the shared graph parser assigns the expected operation to each slot. The repository's operating contract requires shared CLI/MCP workflow semantics. The analogous process comparison boundary distinguishes authentication failures from authenticated wrong-role selections, and its MCP regression requires an input error naming the rejected side.
Impact and scope
P2: callers branching on typed diagnostics receive incompatible failure families and recovery actions for the same correctable input selection. MCP advises recreating valid Evidence; CLI names the expected operation but omits the rejected field and supplied operation. No accepted invalid graph, corruption, actual automated retry loop or security boundary crossing was observed.
The demonstrated scope is all three inline graph fields, with one wrong-operation call per field per adapter. Correct record selection is an observed workaround: each corrected request succeeded through both adapters with equal normalized results. Other managed workflows, retained-reference inputs and predicate-only mismatches were not separately exercised.
REA version
rea-agents6.7.0; source revision52415975942a4b9c53a817915b313ccc404f280e.Runtime and platform
macOS 27.0.1 arm64; Node.js v26.12.0. This is admitted by the package's Node engine range; the repository's pinned Node 24.18.0 was not separately tested.
Target and artifact context
Repository-generated managed PE/CLI fixture. Fresh
inspect_managed_artifact,inspect_managed_membersandinspect_managed_native_boundariesEvidence came from the built production static-inspection tools and was supplied unchanged. No real application assembly or managed runtime was exercised.Interface
MCP
Earliest failure stage
Request parsing or validation
Relevant output or evidence
For
managed_memberscontaininginspect_managed_artifactEvidence, MCP returnedisError: truewith:The identical request on CLI exited 1 and returned
invalid_request/invalid_input,retryable: false, with:CLI remediation tells the caller to read the declared schema or usage and correct the listed fields. The other two cases had the same diagnostic shapes, with the expected operation changed to
inspect_managed_artifactorinspect_managed_native_boundaries.Each corrected CLI call exited 0; each corrected MCP call succeeded. Both returned
project_managed_application_graphEvidence with equal normalized results. The MCP connection remained responsive topingafter all cases.Typed outcome or recovery expected
invalid_request/invalid_inputon both adapters, withdetails.issuesnaming the selected field, the expected and actual operation, andrecovery.kind: inspect_input_contractforproject_managed_application_graph. Recreating unchanged valid Evidence should not be the prescribed recovery for choosing the wrong input record.Analysis or suspected cause
Source-derived: the MCP resolver authenticates Evidence and then wraps an operation/predicate allowlist failure in
EvidenceIntegrityError. The MCP graph handler runs these field-specific checks before the shared application service.The CLI command calls that service directly. The shared parser throws a plain
TypeErrorcontaining only the expected operation. The service catch routes it through workflowInputError, which supplies a root-path issue. Field-aware role validation needs to preserve the distinction between a wrong caller selection and the parser's separate internal identity checks.Additional context
Related but separate report #5988 covers correctly selected managed Evidence with contradictory internal identities being mislabeled
invalid_request, requiring an integrity outcome at different guards.Related #5932 concerns the independent
compare_functionsoperation/predicate gate; #5961 concerns native matching inventory/observation roles. Repairing either leaves these managed resolver and parser checks unchanged.Closed #4639 concerned authentic native observations explicitly accepted as unsupported by managed/native verification. Its native-observation allowlist was removed; the three managed-role allowlists remain. Merged PR #1089 preserved constraint messages while keeping the existing input-error classification and root paths for later nested validation; it did not reconcile this operation-selection divergence.
Contradictions between a correctly selected record's subject, artifact digest or token scope are a separate integrity case. This reproduction uses internally consistent, unchanged inspector output. A blanket conversion of all managed parser failures to integrity errors would misclassify the selection case above.
The relevant managed parser, service, resolver, graph adapters and contract remain unchanged at fetched
origin/mainrevision25e1a24a3ed3671a0148757555f18d16c29d936a. That later revision was inspected, not executed. No last-known-good release was established.@coygeek commented on GitHub (Oct 21, 2026):
The same divergence also reproduces in
verify_managed_native_boundariesat52415975942a4b9c53a817915b313ccc404f280e. Supplying unchanged, authenticinspect_managed_artifactEvidence inmanaged_boundaries, alongside one authenticatedinspect_signaturenative observation, passes the request schema but returns:evidence_integrity_mismatch/integrity_mismatch, with “Expected inspect_managed_native_boundaries Evidence, received inspect_managed_artifact” and recreate/re-import advice.invalid_request/invalid_input, withissues[0].path: []and “Evidence operation is not inspect_managed_native_boundaries”.This was exercised through the built CLI and stdio MCP using the repository's managed PE/CLI fixture. Replacing only the selected record with correct boundary-inspection Evidence succeeds through both adapters with equal normalized results.
The verification handler uses the same boundary resolver, and its domain reader calls the same operation-check parser as the graph boundary slot. The shared repair and regression coverage should therefore include this reader's
managed_boundariesfield as well as the graph'smanaged_native_boundaries, preserving field-specific input errors for authentic wrong-role selections and integrity errors for actual record contradictions.