[PR #4767] [MERGED] docs(installation): list every engine accepted by doctor --provider #6400

Closed
opened 2026-10-31 01:14:10 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/4767
Author: @sathish123m
Created: 10/17/2026
Status: ✅ Merged
Merged: 11/4/2026
Merged by: @morluto

Base: main ← Head: docs/installation-doctor-engines


📝 Commits (3)

  • 178a914 docs(installation): list every engine accepted by doctor --provider
  • f25450e Merge remote-tracking branch 'origin/main' into docs/installation-doctor-engines
  • fde4e1e Merge remote-tracking branch 'origin/main' into docs/installation-doctor-engines

📊 Changes

1 file changed (+6 additions, -6 deletions)

View changed files

📝 docs/installation.md (+6 -6)

📄 Description

Summary

docs/installation.md → "Configure an analysis engine" lists
rea doctor --provider ghidra --json (or hopper, ida, kuna), but the
command also accepts jadx. This change completes the row with all five IDs.

Related: #4624 (closed; its docs/cli.md half is on main). main added kuna
to this row in #7929; jadx is still missing, which is the remaining fix here.

Problem and expected behavior

The row omits jadx while rea doctor --provider not-a-provider --json reports
Invalid option: expected one of "hopper"|"ghidra"|"ida"|"jadx"|"kuna".
src/application/DoctorProviderIds.ts defines those five IDs and
src/cli/setupCommands.ts builds --provider from them. Expected: the
installation row names every ID the command accepts, so JADX readiness checks
are discoverable from the installation guide.

Change and scope

One table row in docs/installation.md, now ending with
"(or hopper, ida, jadx, kuna)". The other rows change only in padding so
the table stays aligned.

Follow the contribution scope.
Unresolved scope, authority, side effects, or required verification block
integration. Link the required maintainer scope decision for new providers or
capabilities involving target execution, injection, mutation, or protection
recovery; ordinary fixes within existing boundaries may state "not applicable".

Scope decision: not applicable — documentation-only change inside existing
boundaries.

Contract and boundary impact

  • Semantic owner and earliest changed stage: documentation only.
  • Contribution scope fit and linked maintainer decision: documentation-only clarification; not applicable.
  • CLI and MCP/tool-catalog contract: none; documents the existing five doctor --provider IDs.
  • Provider, bridge, target-format, or platform compatibility: none.
  • Evidence, artifact, provenance, or reconstruction contract: none.
  • Target selection, authority, upstream behavior, and cleanup details (if applicable): not applicable.
  • 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): none.

Expected effects (check known effects; use documentation-only on its own).
Unchecked items do not establish absence; leave uncertainties visible.

  • Read existing files or captured data.
  • Launch or attach to a process.
  • Inject instrumentation or run scripts/code.
  • Change process memory, registers, files, or configuration.
  • Contact network services.
  • Recover protected code or work around protections.
  • Documentation or usability only; no target interaction.
  • Not sure yet; investigation or maintainer guidance needed.

Evidence and regression coverage

  • Tests added or updated: none (documentation-only).
  • Base reproduction or other evidence: on this head, node scripts/rea.mjs doctor --provider not-a-provider --json reports fieldErrors[0].message = Invalid option: expected one of "hopper"|"ghidra"|"ida"|"jadx"|"kuna"; main's row lists four of those and omits jadx. Source: src/application/DoctorProviderIds.ts, src/cli/setupCommands.ts:115.
  • User-visible CLI/MCP output (if applicable): fieldErrors[0].message = Invalid option: expected one of "hopper"|"ghidra"|"ida"|"jadx"|"kuna".
  • Remaining proof gaps: no real JADX engine run; the change only aligns documentation with the validated option list.

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

  • node scripts/rea.mjs doctor --provider not-a-provider --json — VALIDATION_ERROR; fieldErrors[0].message lists the five accepted IDs.
  • npx oxfmt --check docs/installation.md — passed.
  • npm run docs:check — passed (6/6 tasks; 9/9 tests).
  • npm run docs:build — passed, no dead links.

Compatibility, safety, and release

  • Breaking changes or migration steps: none.
  • Real Hopper/Ghidra, browser, or OS coverage: not applicable; the option list comes from DOCTOR_PROVIDER_IDS and the validated CLI error.
  • Package or release metadata impact: none.
  • Security, privacy, process, or containment review: none — documentation only.

Author readiness

Human owner: @sathish123m

  • I reviewed the final diff and relevant existing code, understand the change and its edge cases, and take responsibility for the complete PR, including AI-assisted work.
  • I checked the evidence above, confirmed it supports the current change, and recorded meaningful validation gaps.
  • I declare this PR ready for initial maintainer review.

Before merge

  • This PR addresses a concrete problem or an agreed enhancement.
  • Material scope and authority questions are resolved, and any required maintainer scope decision covers the final diff.
  • 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/4767 **Author:** [@sathish123m](https://github.com/sathish123m) **Created:** 10/17/2026 **Status:** ✅ Merged **Merged:** 11/4/2026 **Merged by:** [@morluto](https://github.com/morluto) **Base:** `main` ← **Head:** `docs/installation-doctor-engines` --- ### 📝 Commits (3) - [`178a914`](https://github.com/morluto/rea/commit/178a9149b844d1709f6051c5e9357021685c4a96) docs(installation): list every engine accepted by doctor --provider - [`f25450e`](https://github.com/morluto/rea/commit/f25450e5a2e800fb12909efec35d695b89f2e169) Merge remote-tracking branch 'origin/main' into docs/installation-doctor-engines - [`fde4e1e`](https://github.com/morluto/rea/commit/fde4e1eec7668b06958f1190992f54f0d0ba5082) Merge remote-tracking branch 'origin/main' into docs/installation-doctor-engines ### 📊 Changes **1 file changed** (+6 additions, -6 deletions) <details> <summary>View changed files</summary> 📝 `docs/installation.md` (+6 -6) </details> ### 📄 Description ## Summary `docs/installation.md` → "Configure an analysis engine" lists `rea doctor --provider ghidra --json` (or `hopper`, `ida`, `kuna`), but the command also accepts `jadx`. This change completes the row with all five IDs. Related: #4624 (closed; its `docs/cli.md` half is on `main`). `main` added `kuna` to this row in #7929; `jadx` is still missing, which is the remaining fix here. ## Problem and expected behavior The row omits `jadx` while `rea doctor --provider not-a-provider --json` reports `Invalid option: expected one of "hopper"|"ghidra"|"ida"|"jadx"|"kuna"`. `src/application/DoctorProviderIds.ts` defines those five IDs and `src/cli/setupCommands.ts` builds `--provider` from them. Expected: the installation row names every ID the command accepts, so JADX readiness checks are discoverable from the installation guide. ## Change and scope One table row in `docs/installation.md`, now ending with "(or `hopper`, `ida`, `jadx`, `kuna`)". The other rows change only in padding so the table stays aligned. Follow the [contribution scope](https://github.com/morluto/rea/blob/main/CONTRIBUTING.md#contribution-scope). Unresolved scope, authority, side effects, or required verification block integration. Link the required maintainer scope decision for new providers or capabilities involving target execution, injection, mutation, or protection recovery; ordinary fixes within existing boundaries may state "not applicable". Scope decision: not applicable — documentation-only change inside existing boundaries. ## Contract and boundary impact - Semantic owner and earliest changed stage: documentation only. - Contribution scope fit and linked maintainer decision: documentation-only clarification; not applicable. - CLI and MCP/tool-catalog contract: none; documents the existing five `doctor --provider` IDs. - Provider, bridge, target-format, or platform compatibility: none. - Evidence, artifact, provenance, or reconstruction contract: none. - Target selection, authority, upstream behavior, and cleanup details (if applicable): not applicable. - 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): none. Expected effects (check known effects; use documentation-only on its own). Unchecked items do not establish absence; leave uncertainties visible. - [ ] Read existing files or captured data. - [ ] Launch or attach to a process. - [ ] Inject instrumentation or run scripts/code. - [ ] Change process memory, registers, files, or configuration. - [ ] Contact network services. - [ ] Recover protected code or work around protections. - [x] Documentation or usability only; no target interaction. - [ ] Not sure yet; investigation or maintainer guidance needed. ## Evidence and regression coverage - Tests added or updated: none (documentation-only). - Base reproduction or other evidence: on this head, `node scripts/rea.mjs doctor --provider not-a-provider --json` reports `fieldErrors[0].message` = `Invalid option: expected one of "hopper"|"ghidra"|"ida"|"jadx"|"kuna"`; `main`'s row lists four of those and omits `jadx`. Source: `src/application/DoctorProviderIds.ts`, `src/cli/setupCommands.ts:115`. - User-visible CLI/MCP output (if applicable): `fieldErrors[0].message` = `Invalid option: expected one of "hopper"|"ghidra"|"ida"|"jadx"|"kuna"`. - Remaining proof gaps: no real JADX engine run; the change only aligns documentation with the validated option list. 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 - `node scripts/rea.mjs doctor --provider not-a-provider --json` — `VALIDATION_ERROR`; `fieldErrors[0].message` lists the five accepted IDs. - `npx oxfmt --check docs/installation.md` — passed. - `npm run docs:check` — passed (6/6 tasks; 9/9 tests). - `npm run docs:build` — passed, no dead links. ## Compatibility, safety, and release - Breaking changes or migration steps: none. - Real Hopper/Ghidra, browser, or OS coverage: not applicable; the option list comes from `DOCTOR_PROVIDER_IDS` and the validated CLI error. - Package or release metadata impact: none. - Security, privacy, process, or containment review: none — documentation only. ## Author readiness Human owner: @sathish123m - [x] I reviewed the final diff and relevant existing code, understand the change and its edge cases, and take responsibility for the complete PR, including AI-assisted work. - [x] I checked the evidence above, confirmed it supports the current change, and recorded meaningful validation gaps. - [x] I declare this PR ready for initial maintainer review. ## Before merge - [ ] This PR addresses a concrete problem or an agreed enhancement. - [ ] Material scope and authority questions are resolved, and any required maintainer scope decision covers the final diff. - [ ] 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 changed title from [PR #4767] docs(installation): list every engine accepted by doctor --provider to [PR #4767] [MERGED] docs(installation): list every engine accepted by doctor --provider 2026-11-04 11:13:00 +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#6400
No description provided.