[PR #270] [MERGED] feat(dotnet): add managed native boundary inspection #1913

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

📋 Pull Request Information

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

Base: main ← Head: agent/managed-native-boundaries


📝 Commits (1)

  • e3d1b2a feat(dotnet): add managed native boundary inspection

📊 Changes

88 files changed (+1396 additions, -197 deletions)

View changed files

📝 .github/pull_request_template.md (+1 -1)
📝 AGENTS.md (+3 -3)
📝 README.md (+5 -5)
📝 README_ar.md (+15 -15)
📝 README_ja.md (+15 -15)
📝 README_ko.md (+4 -4)
📝 README_zh.md (+4 -4)
📝 docs/adr/0003-managed-code-evidence-and-provider-boundary.md (+8 -4)
📝 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_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/domain_permissionPolicy.PermissionGrantError.html (+1 -1)
📝 docs/api/classes/ghidra_GhidraLauncher.GhidraLaunchError.html (+1 -1)
📝 docs/api/classes/ghidra_GhidraSessionError.GhidraSessionError.html (+1 -1)
📝 docs/api/classes/ghidra_protocol.GhidraRemoteError.html (+1 -1)
📝 docs/api/functions/application_CapabilityInventory.buildCapabilityInventory.html (+2 -2)
📝 docs/api/functions/application_DirectAnalysis.runProviderAnalysis.html (+2 -2)

...and 68 more files

📄 Description

Summary

  • Adds inspect_managed_native_boundaries plus rea inspect-managed-native-boundaries for static PE/CLI managed/native boundary declaration inventory.
  • Parses ModuleRef and ImplMap/PInvoke rows, P/Invoke mapping flags, CLI native-header / ReadyToRun indicators, and non-IL method implementation flags without loading or executing targets.
  • Updates managed provider contracts, output schemas, Evidence locations, product catalog, generated API docs, README localizations, ADR/docs, package metadata, and inventory counts to 87 MCP tools / 47 CLI commands / 4 managed tools.

Truthfulness / non-goals

  • P/Invoke rows are reported as managed declarations only.
  • This PR does not verify native libraries/exports/thunks/functions and does not translate managed metadata tokens into native addresses.
  • Verified native matching with Hopper/Ghidra remains a later managed/native composition slice.

Verification

  • npm run typecheck
  • npm run lint (warnings only)
  • npm run format:check
  • npm run docs:generate
  • npm run docs:check
  • npx vitest run tests/managedArtifactProvider.test.ts (tests pass; single-file coverage threshold exits nonzero)
  • npx vitest run tests/sessionMcp.test.ts (tests pass; single-file coverage threshold exits nonzero)
  • npm run check (136 files / 941 tests passed)
  • npm run knip
  • npm run jscpd
  • npm run scan:todos
  • CXX=/usr/bin/g++-13 CC=/usr/bin/gcc-13 npm run verify:package

Real Hopper/Ghidra verification was not performed; this PR is static managed PE/CLI parsing and does not add deep native-provider 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/270 **Author:** [@N0zoM1z0](https://github.com/N0zoM1z0) **Created:** 7/16/2026 **Status:** ✅ Merged **Merged:** 7/16/2026 **Merged by:** [@N0zoM1z0](https://github.com/N0zoM1z0) **Base:** `main` ← **Head:** `agent/managed-native-boundaries` --- ### 📝 Commits (1) - [`e3d1b2a`](https://github.com/morluto/rea/commit/e3d1b2a6c14beda71044793746a53356acfccc54) feat(dotnet): add managed native boundary inspection ### 📊 Changes **88 files changed** (+1396 additions, -197 deletions) <details> <summary>View changed files</summary> 📝 `.github/pull_request_template.md` (+1 -1) 📝 `AGENTS.md` (+3 -3) 📝 `README.md` (+5 -5) 📝 `README_ar.md` (+15 -15) 📝 `README_ja.md` (+15 -15) 📝 `README_ko.md` (+4 -4) 📝 `README_zh.md` (+4 -4) 📝 `docs/adr/0003-managed-code-evidence-and-provider-boundary.md` (+8 -4) 📝 `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_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/domain_permissionPolicy.PermissionGrantError.html` (+1 -1) 📝 `docs/api/classes/ghidra_GhidraLauncher.GhidraLaunchError.html` (+1 -1) 📝 `docs/api/classes/ghidra_GhidraSessionError.GhidraSessionError.html` (+1 -1) 📝 `docs/api/classes/ghidra_protocol.GhidraRemoteError.html` (+1 -1) 📝 `docs/api/functions/application_CapabilityInventory.buildCapabilityInventory.html` (+2 -2) 📝 `docs/api/functions/application_DirectAnalysis.runProviderAnalysis.html` (+2 -2) _...and 68 more files_ </details> ### 📄 Description ## Summary - Adds `inspect_managed_native_boundaries` plus `rea inspect-managed-native-boundaries` for static PE/CLI managed/native boundary declaration inventory. - Parses ModuleRef and ImplMap/PInvoke rows, P/Invoke mapping flags, CLI native-header / ReadyToRun indicators, and non-IL method implementation flags without loading or executing targets. - Updates managed provider contracts, output schemas, Evidence locations, product catalog, generated API docs, README localizations, ADR/docs, package metadata, and inventory counts to 87 MCP tools / 47 CLI commands / 4 managed tools. ## Truthfulness / non-goals - P/Invoke rows are reported as managed declarations only. - This PR does not verify native libraries/exports/thunks/functions and does not translate managed metadata tokens into native addresses. - Verified native matching with Hopper/Ghidra remains a later managed/native composition slice. ## Verification - `npm run typecheck` - `npm run lint` (warnings only) - `npm run format:check` - `npm run docs:generate` - `npm run docs:check` - `npx vitest run tests/managedArtifactProvider.test.ts` (tests pass; single-file coverage threshold exits nonzero) - `npx vitest run tests/sessionMcp.test.ts` (tests pass; single-file coverage threshold exits nonzero) - `npm run check` (136 files / 941 tests passed) - `npm run knip` - `npm run jscpd` - `npm run scan:todos` - `CXX=/usr/bin/g++-13 CC=/usr/bin/gcc-13 npm run verify:package` Real Hopper/Ghidra verification was not performed; this PR is static managed PE/CLI parsing and does not add deep native-provider claims. --- <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:26 +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#1913
No description provided.