[PR #1467] [CLOSED] Feat/ghidra existing project #2906

Closed
opened 2026-10-17 21:11:40 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/1467
Author: @freakalis
Created: 10/10/2026
Status: ❌ Closed

Base: main ← Head: feat/ghidra-existing-project


📝 Commits (2)

  • 496428c Add Ghidra existing-project sessions
  • bda29a5 Document Ghidra existing-project workflow

📊 Changes

26 files changed (+858 additions, -101 deletions)

View changed files

📝 README.md (+3 -0)
📝 bridge/ghidra/ReaGhidraBridge.java (+43 -18)
➕ docs/ghidra-existing-projects.md (+83 -0)
📝 docs/ghidra-provider.md (+1 -1)
📝 docs/installation.md (+9 -5)
➕ src/application/AnalysisProjectTarget.ts (+238 -0)
📝 src/application/binary/BinarySessionOpen.ts (+24 -9)
📝 src/application/binary/BinarySessionPort.ts (+5 -0)
📝 src/contracts/officialToolContracts.ts (+1 -1)
➕ src/contracts/sessionLifecycleInputs.test.ts (+63 -0)
📝 src/contracts/sessionLifecycleInputs.ts (+41 -10)
📝 src/contracts/sessionToolContracts.ts (+1 -1)
📝 src/domain/binaryTargetTypes.ts (+10 -0)
📝 src/ghidra/GhidraAnalysisProfile.ts (+24 -0)
📝 src/ghidra/GhidraClient.ts (+19 -8)
📝 src/ghidra/GhidraClientTypes.ts (+3 -0)
📝 src/ghidra/GhidraLauncher.ts (+70 -38)
📝 src/ghidra/GhidraProvider.behavior.test.ts (+36 -0)
📝 src/ghidra/GhidraProvider.ts (+12 -0)
📝 src/ghidra/GhidraProviderCapabilities.ts (+5 -5)

...and 6 more files

📄 Description

Summary

Problem and expected behavior

Change and scope

Contract and boundary impact

  • Semantic owner and earliest changed stage:
  • CLI and MCP/tool-catalog contract:
  • Provider, bridge, target-format, or platform compatibility:
  • Evidence, artifact, provenance, or reconstruction contract:
  • Process execution, authorization, cleanup, or containment impact:
  • Generated metadata (docs/public/product-catalog.json), package, or installation impact (CI generates and validates ignored catalogs and skills/; edit authored instructions in .agents/skills/reverse-engineer-anything/ and never commit build outputs):

Evidence and regression coverage

  • Tests added or updated:
  • Base reproduction or other evidence:
  • User-visible CLI/MCP output (if applicable):
  • Remaining proof gaps:

For evidence-bearing changes:

  • Observed, derived, and inferred claims remain distinguishable.
  • Artifact identity, source provenance, and failed attempts remain preserved.
  • Unsupported, incomplete, unavailable, or uncertain outcomes remain visible.

Validation performed

  • command — result

Compatibility, safety, and release

  • Breaking changes or migration steps:
  • Real Hopper/Ghidra, browser, or OS coverage:
  • Package or release metadata impact:
  • Security, privacy, process, or containment review:

Review checklist

  • This PR addresses a concrete problem or an agreed enhancement.
  • The PR has one focused outcome and the title follows type(scope): outcome.
  • Related issue is linked, or the reason for not linking one is stated above.
  • Tests cover changed observable behavior and meaningful failure paths.
  • Owning docs, contracts, and generated metadata are updated where needed.
  • User-visible CLI/MCP changes include representative output.
  • I checked the final diff for secrets, unrelated cleanup, and unsupported claims.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/morluto/rea/pull/1467 **Author:** [@freakalis](https://github.com/freakalis) **Created:** 10/10/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `feat/ghidra-existing-project` --- ### 📝 Commits (2) - [`496428c`](https://github.com/morluto/rea/commit/496428c0ce786c96ee24c44d8c9f354e7cd321f2) Add Ghidra existing-project sessions - [`bda29a5`](https://github.com/morluto/rea/commit/bda29a55437ea483c647a92d405718501cf26d44) Document Ghidra existing-project workflow ### 📊 Changes **26 files changed** (+858 additions, -101 deletions) <details> <summary>View changed files</summary> 📝 `README.md` (+3 -0) 📝 `bridge/ghidra/ReaGhidraBridge.java` (+43 -18) ➕ `docs/ghidra-existing-projects.md` (+83 -0) 📝 `docs/ghidra-provider.md` (+1 -1) 📝 `docs/installation.md` (+9 -5) ➕ `src/application/AnalysisProjectTarget.ts` (+238 -0) 📝 `src/application/binary/BinarySessionOpen.ts` (+24 -9) 📝 `src/application/binary/BinarySessionPort.ts` (+5 -0) 📝 `src/contracts/officialToolContracts.ts` (+1 -1) ➕ `src/contracts/sessionLifecycleInputs.test.ts` (+63 -0) 📝 `src/contracts/sessionLifecycleInputs.ts` (+41 -10) 📝 `src/contracts/sessionToolContracts.ts` (+1 -1) 📝 `src/domain/binaryTargetTypes.ts` (+10 -0) 📝 `src/ghidra/GhidraAnalysisProfile.ts` (+24 -0) 📝 `src/ghidra/GhidraClient.ts` (+19 -8) 📝 `src/ghidra/GhidraClientTypes.ts` (+3 -0) 📝 `src/ghidra/GhidraLauncher.ts` (+70 -38) 📝 `src/ghidra/GhidraProvider.behavior.test.ts` (+36 -0) 📝 `src/ghidra/GhidraProvider.ts` (+12 -0) 📝 `src/ghidra/GhidraProviderCapabilities.ts` (+5 -5) _...and 6 more files_ </details> ### 📄 Description <!-- PR title: type(optional-scope): imperative outcome The title becomes the squash-merge commit subject and generated changelog entry. --> ## Summary <!-- What user, agent, or maintainer problem does this solve? Link the issue with "Fixes #123" when applicable. Keep the prior behavior, expected contract, and new behavior understandable without private context. --> ## Problem and expected behavior <!-- For fixes, give the smallest trigger and violated invariant. For features, describe the use case and observable outcome. --> ## Change and scope <!-- Explain the chosen approach, why it fits REA's architecture, and what is intentionally not included. --> ## Contract and boundary impact <!-- Complete the applicable lines; use "none" or "not applicable" explicitly. --> - Semantic owner and earliest changed stage: - CLI and MCP/tool-catalog contract: - Provider, bridge, target-format, or platform compatibility: - Evidence, artifact, provenance, or reconstruction contract: - Process execution, authorization, cleanup, or containment impact: - Generated metadata (`docs/public/product-catalog.json`), package, or installation impact (CI generates and validates ignored catalogs and `skills/`; edit authored instructions in `.agents/skills/reverse-engineer-anything/` and never commit build outputs): ## Evidence and regression coverage <!-- State whether evidence is executed, source-derived, or proposed. For fixes, explain how the regression would fail on the affected base revision when practical. --> - Tests added or updated: - Base reproduction or other evidence: - User-visible CLI/MCP output (if applicable): - Remaining proof gaps: For evidence-bearing changes: - [ ] Observed, derived, and inferred claims remain distinguishable. - [ ] Artifact identity, source provenance, and failed attempts remain preserved. - [ ] Unsupported, incomplete, unavailable, or uncertain outcomes remain visible. ## Validation performed <!-- List only commands that actually ran, with observed results. Include the relevant real-provider or platform workflow, or explain why it was unavailable. --> - `command` — result ## Compatibility, safety, and release <!-- Call out breaking changes, migrations, package effects, platform/provider limits, security/privacy/containment implications, and meaningful proof gaps. --> - Breaking changes or migration steps: <!-- For ! / BREAKING CHANGE: show a previously valid call/configuration, its new behavior and migration, and why compatibility/deprecation cannot preserve it. Every release increments minor, including breaking changes; keep breaking markers and migration notes so callers can assess compatibility. See docs/releasing.md. --> - Real Hopper/Ghidra, browser, or OS coverage: - Package or release metadata impact: - Security, privacy, process, or containment review: ## Review checklist - [ ] This PR addresses a concrete problem or an agreed enhancement. - [ ] The PR has one focused outcome and the title follows `type(scope): outcome`. - [ ] Related issue is linked, or the reason for not linking one is stated above. - [ ] Tests cover changed observable behavior and meaningful failure paths. - [ ] Owning docs, contracts, and generated metadata are updated where needed. - [ ] User-visible CLI/MCP changes include representative output. - [ ] I checked the final diff for secrets, unrelated cleanup, and unsupported claims. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-17 21:11:40 +00:00
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#2906
No description provided.