[PR #308] [MERGED] refactor: split oversized analysis workflows #1944

Closed
opened 2026-10-16 21:12:43 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/308
Author: @morluto
Created: 7/18/2026
Status: ✅ Merged
Merged: 7/18/2026
Merged by: @morluto

Base: main ← Head: codex/issue-audit-followup


📝 Commits (10+)

  • 2e5b443 refactor: simplify authorization boundaries
  • e2c868c refactor(domain): split analysis boundaries
  • 20c88dd refactor(managed): split metadata analysis
  • 1a99a60 refactor(adapters): split oversized provider workflows
  • 3e61a63 refactor: split oversized analysis workflows
  • c6ee004 refactor(app): split session and CLI workflows
  • 2bea405 refactor: finish lint cleanup
  • db1efef fix: preserve optional unknown filters
  • da48033 fix(setup): preserve onboarding after refactor
  • 2ea375f docs: preserve generated source links

📊 Changes

731 files changed (+37827 additions, -27766 deletions)

View changed files

➖ docs/adr/0004-windows-native-authority-packaging.md (+0 -531)
📝 docs/adr/README.md (+0 -1)
📝 docs/api/assets/hierarchy.js (+1 -1)
📝 docs/api/assets/navigation.js (+1 -1)
📝 docs/api/assets/search.js (+1 -1)
📝 docs/api/classes/application_AnalysisProviderRegistry.AnalysisProviderRegistry.html (+2 -2)
📝 docs/api/classes/application_BinarySession.BinarySession.html (+251 -142)
➕ docs/api/classes/application_BinarySessionRecords.BinarySessionRecords.html (+423 -0)
📝 docs/api/classes/application_EnhancedTools.EnhancedTools.html (+9 -9)
📝 docs/api/classes/application_PermissionAuthority.PermissionAuthority.html (+18 -18)
📝 docs/api/classes/application_PermissionAuthority.PermissionPathError.html (+1 -1)
📝 docs/api/classes/application_ProcessCaptureError.ProcessCaptureError.html (+1 -1)
📝 docs/api/classes/application_ProjectPermissionStore.ProjectPermissionStoreError.html (+1 -1)
➖ docs/api/classes/application_WindowsNativeAuthority.WindowsNativeAuthority.html (+0 -167)
➖ docs/api/classes/application_WindowsNativeAuthority.WindowsNativeAuthorityError.html (+0 -101)
📝 docs/api/classes/browser_BrowserProcessStartup.BrowserStartupError.html (+1 -1)
📝 docs/api/classes/browser_CdpCaptureEvents.CdpCaptureEvents.html (+85 -28)
📝 docs/api/classes/domain_errors.AnalysisCancelledError.html (+9 -9)
📝 docs/api/classes/domain_errors.AnalysisCapabilityUnavailableError.html (+11 -11)
📝 docs/api/classes/domain_errors.AnalysisError.html (+7 -7)

...and 80 more files

📄 Description

Summary

Follow-up to #305. This removes the remaining lint debt by splitting oversized domain, managed-analysis, provider, application, CLI, and server workflows into focused modules. It also removes the unused Windows native-authority package scaffold while retaining the supported Ghidra Windows boundary.

The refactor preserves the 95-tool MCP catalog and existing CLI/setup behavior. Two regressions found during review are covered directly: concrete BinarySessionRecords.listUnknowns() callers can omit filters again, and controlled replay observes cancellation after asynchronous planning. The setup package verifier now reflects the existing preflight rule that malformed or unsafe client configuration blocks all mutation.

Of the 731 changed files, 517 are generated TypeDoc output. The implementation, scripts, and tests account for 214 files.

Suggested review order

  1. Authorization cleanup and domain splits in src/domain/ and src/application/.
  2. Managed, browser, replay, Ghidra, and process adapter splits.
  3. CLI/server registration modules and setup onboarding preservation.
  4. Regression tests and package verifiers.
  5. Generated docs/api/ output.

Verification

  • npm run lint — zero warnings
  • npm run typecheck
  • npx prettier --check .
  • npm run knip
  • npm run docs:check
  • npm run verify:package
  • npm pack --dry-run --json
  • npx vitest run tests/setup.test.ts tests/cliSetup.test.ts — 33 passed
  • npx vitest run tests/binarySession.test.ts — 18 passed
  • Focused rerun of binarySession, browserCli, ghidraClient, and sessionMcp — 44 passed

The full concurrent test run completed 1102 of 1105 tests; the three failures were timeout/race failures that passed in the 44-test focused rerun above. Real Hopper and Ghidra verification were not run.


🔄 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/308 **Author:** [@morluto](https://github.com/morluto) **Created:** 7/18/2026 **Status:** ✅ Merged **Merged:** 7/18/2026 **Merged by:** [@morluto](https://github.com/morluto) **Base:** `main` ← **Head:** `codex/issue-audit-followup` --- ### 📝 Commits (10+) - [`2e5b443`](https://github.com/morluto/rea/commit/2e5b44365fd1ea3c515efd03b56fee0083a20a31) refactor: simplify authorization boundaries - [`e2c868c`](https://github.com/morluto/rea/commit/e2c868c4bdd4f83f1e33a50bca0e3d91d4605387) refactor(domain): split analysis boundaries - [`20c88dd`](https://github.com/morluto/rea/commit/20c88dd5676a3081e13bef26cfa38d8a69856842) refactor(managed): split metadata analysis - [`1a99a60`](https://github.com/morluto/rea/commit/1a99a60a29c231c7a104c5900c2c20a7d10268d5) refactor(adapters): split oversized provider workflows - [`3e61a63`](https://github.com/morluto/rea/commit/3e61a63a104859e1c8ca3bcdc6bad0511d1f1735) refactor: split oversized analysis workflows - [`c6ee004`](https://github.com/morluto/rea/commit/c6ee0049c4bffe2880ddb8cf5a2a6c4195ae18f6) refactor(app): split session and CLI workflows - [`2bea405`](https://github.com/morluto/rea/commit/2bea40571d47f8b3454cdb9b467839521d3174b4) refactor: finish lint cleanup - [`db1efef`](https://github.com/morluto/rea/commit/db1efef9d285d1726f56c288593161434b9f322f) fix: preserve optional unknown filters - [`da48033`](https://github.com/morluto/rea/commit/da48033c191f491f47b9933f65806f0f0a223643) fix(setup): preserve onboarding after refactor - [`2ea375f`](https://github.com/morluto/rea/commit/2ea375f8ea413aba05baab0d9af3e3401d8b2956) docs: preserve generated source links ### 📊 Changes **731 files changed** (+37827 additions, -27766 deletions) <details> <summary>View changed files</summary> ➖ `docs/adr/0004-windows-native-authority-packaging.md` (+0 -531) 📝 `docs/adr/README.md` (+0 -1) 📝 `docs/api/assets/hierarchy.js` (+1 -1) 📝 `docs/api/assets/navigation.js` (+1 -1) 📝 `docs/api/assets/search.js` (+1 -1) 📝 `docs/api/classes/application_AnalysisProviderRegistry.AnalysisProviderRegistry.html` (+2 -2) 📝 `docs/api/classes/application_BinarySession.BinarySession.html` (+251 -142) ➕ `docs/api/classes/application_BinarySessionRecords.BinarySessionRecords.html` (+423 -0) 📝 `docs/api/classes/application_EnhancedTools.EnhancedTools.html` (+9 -9) 📝 `docs/api/classes/application_PermissionAuthority.PermissionAuthority.html` (+18 -18) 📝 `docs/api/classes/application_PermissionAuthority.PermissionPathError.html` (+1 -1) 📝 `docs/api/classes/application_ProcessCaptureError.ProcessCaptureError.html` (+1 -1) 📝 `docs/api/classes/application_ProjectPermissionStore.ProjectPermissionStoreError.html` (+1 -1) ➖ `docs/api/classes/application_WindowsNativeAuthority.WindowsNativeAuthority.html` (+0 -167) ➖ `docs/api/classes/application_WindowsNativeAuthority.WindowsNativeAuthorityError.html` (+0 -101) 📝 `docs/api/classes/browser_BrowserProcessStartup.BrowserStartupError.html` (+1 -1) 📝 `docs/api/classes/browser_CdpCaptureEvents.CdpCaptureEvents.html` (+85 -28) 📝 `docs/api/classes/domain_errors.AnalysisCancelledError.html` (+9 -9) 📝 `docs/api/classes/domain_errors.AnalysisCapabilityUnavailableError.html` (+11 -11) 📝 `docs/api/classes/domain_errors.AnalysisError.html` (+7 -7) _...and 80 more files_ </details> ### 📄 Description ## Summary Follow-up to #305. This removes the remaining lint debt by splitting oversized domain, managed-analysis, provider, application, CLI, and server workflows into focused modules. It also removes the unused Windows native-authority package scaffold while retaining the supported Ghidra Windows boundary. The refactor preserves the 95-tool MCP catalog and existing CLI/setup behavior. Two regressions found during review are covered directly: concrete `BinarySessionRecords.listUnknowns()` callers can omit filters again, and controlled replay observes cancellation after asynchronous planning. The setup package verifier now reflects the existing preflight rule that malformed or unsafe client configuration blocks all mutation. Of the 731 changed files, 517 are generated TypeDoc output. The implementation, scripts, and tests account for 214 files. ## Suggested review order 1. Authorization cleanup and domain splits in `src/domain/` and `src/application/`. 2. Managed, browser, replay, Ghidra, and process adapter splits. 3. CLI/server registration modules and setup onboarding preservation. 4. Regression tests and package verifiers. 5. Generated `docs/api/` output. ## Verification - `npm run lint` — zero warnings - `npm run typecheck` - `npx prettier --check .` - `npm run knip` - `npm run docs:check` - `npm run verify:package` - `npm pack --dry-run --json` - `npx vitest run tests/setup.test.ts tests/cliSetup.test.ts` — 33 passed - `npx vitest run tests/binarySession.test.ts` — 18 passed - Focused rerun of `binarySession`, `browserCli`, `ghidraClient`, and `sessionMcp` — 44 passed The full concurrent test run completed 1102 of 1105 tests; the three failures were timeout/race failures that passed in the 44-test focused rerun above. Real Hopper and Ghidra verification were not run. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-16 21:12:43 +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#1944
No description provided.