mirror of
https://github.com/morluto/rea.git
synced 2026-11-05 06:45:22 +00:00
Open
opened 2026-10-31 01:12:02 +00:00 by bsakaguchi
·
0 comments
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#6123
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?
📋 Pull Request Information
Original PR: https://github.com/morluto/rea/pull/4200
Author: @Anroshka
Created: 10/15/2026
Status: 🔄 Open
Base:
main← Head:feat/ida-headless-callers📝 Commits (10+)
71b52d8feat(ida): verify headless caller relationships with call graphse632214docs(ida): clarify caller support across MCP profiles4b63b43fix(ida): batch caller reads and verify independent caller oracles4a4295btest(ida): expect verified headless caller availability1710d72chore(ida): merge main and preserve headless caller readiness10c534bchore: preserve upstream code after merge hook autofixes41a0d02fix(ida): reflect connected caller capability availabilityfe7370cMerge origin/main into feat/ida-headless-callers11eeffdtest(ida): assert caller coverage factsf7b4a31merge main into feat/ida-headless-callers📊 Changes
33 files changed (+836 additions, -102 deletions)
View changed files
📝
docs/ida-provider.md(+22 -2)📝
scripts/verify-real-ida.mjs(+46 -2)📝
src/application/AnalysisProvider.ts(+8 -0)📝
src/application/WebSourceLocationPorts.ts(+4 -2)📝
src/application/binary/BinarySession.ts(+8 -1)📝
src/application/binary/BinarySessionExecution.ts(+4 -1)📝
src/application/binary/CompositeProvider.ts(+4 -0)📝
src/application/binary/SessionProviderRouter.ts(+31 -0)📝
src/application/javascript/JavaScriptSemanticGraphConstruction.ts(+2 -2)📝
src/domain/javascript/javascriptRuntimeReconciliationSchemas.ts(+1 -2)📝
src/ida/IdaCallGraph.ts(+75 -13)➕
src/ida/IdaCallerRelationships.test.ts(+312 -0)➕
src/ida/IdaCallers.ts(+78 -0)📝
src/ida/IdaOperationRunner.ts(+30 -3)📝
src/ida/IdaProtocolValues.ts(+25 -25)📝
src/ida/IdaProviderCapabilities.test.ts(+1 -1)📝
src/ida/IdaProviderCapabilities.ts(+2 -4)📝
src/ida/IdaSessionClient.test.ts(+2 -3)📝
src/ida/IdaSessionClient.ts(+20 -2)📝
src/native/AppleDispatchCoverage.ts(+4 -2)...and 13 more files
📄 Description
Summary
Enable verified direct callers in the modern headless IDA profile. Previously
procedure_callersreturnedcapability_unavailableeven when upstream exposed the call graph needed to confirm incoming calls.No dedicated existing issue was found after searching open/closed issues and PRs. Related context: mrexodia/ida-pro-mcp#549 and #2322; neither implements this caller query.
Problem and expected behavior
Incoming
xrefs_tolabels distinguish code from data, but do not distinguish calls from jumps. The adapter should return callers only when an independent call edge confirms the relationship, preserving uncertainty about unexamined references.Observed on Windows x64, IDA Pro 9.4.260713, upstream c133c385:
The authored fixture's
rea_checkcallsrea_add(x, 3); independent objdump output confirms the call at0x14000170bto0x1400016d0.Change and scope
Use incoming entry-point code references as candidates, deduplicate their owning functions, and confirm each candidate through a depth-zero
callgraph. Separate root-edge parsing from optional callee display-name resolution so verification does not request unrelated names. Extend the real-provider verifier to check callers when the dossier advertises that facet.Entry-only discovery remains partial: calls into function interiors and unresolved indirect calls remain unknown. Capped/unassigned candidates add limitations; a truncated candidate graph can prove a present edge but cannot exclude an omitted one. Missing tools, producer faults, and cancellation remain explicit. Legacy GUI and native attached behavior are preserved.
Contract and boundary impact
callgraph; native attached callers remain unavailable.Expected effects:
Existing temporary database/workspace writes remain part of that worker lifecycle. No target-memory, executable-byte, or user-configuration writes are added.
Evidence and regression coverage
Validation performed
npm run build:cachedandnpm run check— passed.npx --no-install vitest run src/ida tests/conformance/ida tests/boundary/providers/ida— 414 passed, 7 platform-specific skips.npm run verify:test-discovery— all 1352 test files discovered once.scripts/verify-real-ida.mjsagainst real IDA 9.4 with two procedures and expected string/xref oracles — passed, no unverified checks within that lane.Compatibility, safety, and release
No migration or breaking schema changes. One xref read plus bounded root-only graph batches (up to 32 candidates per request); no whole-program function scan or unrelated name lookups. Agent token, CPU, and process-family peak-memory costs were not measured. No Hopper/Ghidra, runtime target execution, or protection-recovery changes.
Review follow-up
Addressed the Codex performance and oracle findings in
4b63b43:--expected-caller 0xFUNCTION, independently checked in CLI/MCP dossiers and the direct MCP caller query. Without it, caller correctness is reported as unverified. The production lane passed with the compiler/objdump-derivedrea_checkaddress; a deliberately wrong caller was rejected by the CLI oracle.Composition follow-up (
4a4295b): reproduced the stale headless capability assertion (1 failed / 3 passed), updated it to expect verified caller availability, and reran the IDA composition file (4 passed). Production code is unchanged by this follow-up.Main synchronization — 21 October 2026
Merged main
d8a9673fand resolved the composition conflict by retaining main'sinspectReadinessSnapshot()API and the enabled headless caller expectation. No caller behavior or authority expansion was added. Restored two unrelated upstream lines changed by the merge pre-commit autofixer, leaving the final diff scoped to IDA.npm run checkandnpm run docs:check— passed; README consistency tests — 5 passed.0x1400016e7, expected string/xref, two procedures, containing-procedure and feature-trace checks, unchanged input, released databases, and removed private workspaces. No unverified checks within this lane. ARM64 and real attached profiles were not rerun.Connected capability follow-up (
41a0d025)Addressed Codex finding 4339123231: the connected IDA client now publishes its observed missing
callgraphcapability through the composite client. Session status and execution admission use the same provider-matched availability projection; declared operations, effects, identity, and lifecycle authority are preserved. Discovery remains free of provider startup. Closing/reopening observes the new session's catalog.npm run checkandnpm run docs:checkpassed; README consistency: 5 passed.Latest main synchronization — 27 October 2026
Merged
origin/mainat570abe95. The three overlapping IDA sections now keep modern headless callers enabled when the upstream server exposescallgraph, preserve native caller unavailability, and retain batched graph reply validation. The session capability snapshot still reports a connected modern server's missingcallgraphbefore callers are queried.npm run check:fast— passed; fullnpm run checkpassed typecheck, lint, formatting, metadata, and compile tasks, then stopped at Knip for four unused exports/types in latest main (staticFileUrlPath,AndroidJniRelocationSource,AndroidManifestComponentInventory, andObjcClassImportBindingCoverage).Automated review follow-up (
11eeffdf)Addressed Greptile finding 4388555418. Caller tests now assert the structured relationship coverage facts through
relationshipCoverageLimitations()instead of copying explanatory text. The focused file passed all 14 tests; a harmless source wording change still passed, while suppressing the incomplete-graph coverage fact caused the relevant test to fail as expected. Pre-pushnpm run check:fastpassed.Main synchronization — 31 October 2026
Merged
origin/mainat23de10bband resolved the four overlapping files, retaining the IDA caller coverage guidance and both the upstream verifier checks and independent caller oracle.npm run check:fastand fullnpm run checkpassed.npm run docs:checkpassed; README consistency tests — 9 passed.0x1400016e7, xref0x14000170b, and string oracles; two-function pseudocode switching, database/workspace cleanup, and unchanged input also passed. No unverified checks within this lane. High-fan-in and comparative resource measurements were not rerun.f7b4a31fsynchronized this branch with main. The following review fix is on the current head.Greptile conformance follow-up (
a96a61ed)Addressed Greptile finding 4432125728: the UI-effects conformance test no longer expects headless
procedure_callersto fail after the fixture's call graph confirms a caller. The test now verifies UI effects from the actual successful execution; no production code changed.npm run test:local -- tests/conformance/ida/providerContracts.test.ts— 52 passed.npm run check:fastand pre-push checks — passed.Author readiness
Human owner: @Anroshka
Before merge
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.