[PR #275] [MERGED] feat(dotnet): verify managed native boundaries #1916

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

📋 Pull Request Information

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

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


📝 Commits (2)

  • 3339a51 feat(dotnet): verify managed native boundaries
  • acc2563 docs: refresh managed native verification api

📊 Changes

97 files changed (+1857 additions, -160 deletions)

View changed files

📝 .github/pull_request_template.md (+1 -1)
📝 AGENTS.md (+3 -3)
📝 README.md (+5 -5)
📝 README_ar.md (+4 -4)
📝 README_ja.md (+4 -4)
📝 README_ko.md (+4 -4)
📝 README_zh.md (+4 -4)
📝 docs/adr/0003-managed-code-evidence-and-provider-boundary.md (+9 -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 77 more files

📄 Description

Summary

Adds verify_managed_native_boundaries / rea verify-managed-native-boundaries, a provider-neutral managed workflow that compares authenticated inspect_managed_native_boundaries Evidence with supplied native export or function Evidence.

The workflow verifies P/Invoke declaration names against observed native symbols while preserving explicit verified, inferred, contradicted, unresolved, and unsupported-native states. It remains static/read-only and does not execute managed code, load assemblies, run a decompiler, translate managed metadata tokens/RVAs into native addresses, or claim CLR binding/marshaling/runtime loading.

Contract and Behavior

  • Adds the managed/native verification domain schema and derived Evidence wrapper.
  • Registers schema-identical MCP and CLI surfaces.
  • Accepts inspect_macho export Evidence and analyze_function dossier Evidence as native observations.
  • Tracks accepted vs unsupported native observations separately from empty supported observations.
  • Reports candidate truncation from the actual matching candidate set.
  • Extends managed conformance and package verification with source-owned synthetic native Evidence.
  • Updates generated product catalog, TypeDoc, API docs, README localizations, ADR-0003, MCP prompts, PR template, setup skill metadata, and inventory tests to 90 MCP tools / 50 CLI commands / 7 managed tools.

Verification

  • npx vitest run tests/managedNativeVerification.test.ts --coverage=false
  • npm run typecheck
  • npm run docs:generate
  • npm run check initially hit the known load-sensitive tests/sessionMcp.test.ts timeout; isolated rerun passed.
  • npx vitest run tests/sessionMcp.test.ts --coverage=false
  • npm run check
  • npm run knip
  • npm run jscpd (existing clone inventory, exit 0)
  • npm run scan:todos
  • npm run verify:managed
  • CXX=/usr/bin/g++-13 CC=/usr/bin/gcc-13 npm run verify:package

Real-provider Status

No real Hopper or Ghidra verifier was required for this PR. The new workflow consumes already-authenticated native Evidence and adds source-owned synthetic conformance/package coverage without committing proprietary artifacts.

Residual Unknowns

Native-body bridge mapping, managed-token-to-native-address mapping, CLR binding behavior, marshaling behavior, and actual runtime execution remain future separately authorized contracts.


🔄 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/275 **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-verification` --- ### 📝 Commits (2) - [`3339a51`](https://github.com/morluto/rea/commit/3339a5169a2e33500d61439d07eaa7102a3b3e33) feat(dotnet): verify managed native boundaries - [`acc2563`](https://github.com/morluto/rea/commit/acc2563e254ce1877588d377f20acfd3f65ee464) docs: refresh managed native verification api ### 📊 Changes **97 files changed** (+1857 additions, -160 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` (+4 -4) 📝 `README_ja.md` (+4 -4) 📝 `README_ko.md` (+4 -4) 📝 `README_zh.md` (+4 -4) 📝 `docs/adr/0003-managed-code-evidence-and-provider-boundary.md` (+9 -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 77 more files_ </details> ### 📄 Description ## Summary Adds `verify_managed_native_boundaries` / `rea verify-managed-native-boundaries`, a provider-neutral managed workflow that compares authenticated `inspect_managed_native_boundaries` Evidence with supplied native export or function Evidence. The workflow verifies P/Invoke declaration names against observed native symbols while preserving explicit `verified`, `inferred`, `contradicted`, `unresolved`, and unsupported-native states. It remains static/read-only and does not execute managed code, load assemblies, run a decompiler, translate managed metadata tokens/RVAs into native addresses, or claim CLR binding/marshaling/runtime loading. ## Contract and Behavior - Adds the managed/native verification domain schema and derived Evidence wrapper. - Registers schema-identical MCP and CLI surfaces. - Accepts `inspect_macho` export Evidence and `analyze_function` dossier Evidence as native observations. - Tracks accepted vs unsupported native observations separately from empty supported observations. - Reports candidate truncation from the actual matching candidate set. - Extends managed conformance and package verification with source-owned synthetic native Evidence. - Updates generated product catalog, TypeDoc, API docs, README localizations, ADR-0003, MCP prompts, PR template, setup skill metadata, and inventory tests to 90 MCP tools / 50 CLI commands / 7 managed tools. ## Verification - `npx vitest run tests/managedNativeVerification.test.ts --coverage=false` - `npm run typecheck` - `npm run docs:generate` - `npm run check` initially hit the known load-sensitive `tests/sessionMcp.test.ts` timeout; isolated rerun passed. - `npx vitest run tests/sessionMcp.test.ts --coverage=false` - `npm run check` - `npm run knip` - `npm run jscpd` (existing clone inventory, exit 0) - `npm run scan:todos` - `npm run verify:managed` - `CXX=/usr/bin/g++-13 CC=/usr/bin/gcc-13 npm run verify:package` ## Real-provider Status No real Hopper or Ghidra verifier was required for this PR. The new workflow consumes already-authenticated native Evidence and adds source-owned synthetic conformance/package coverage without committing proprietary artifacts. ## Residual Unknowns Native-body bridge mapping, managed-token-to-native-address mapping, CLR binding behavior, marshaling behavior, and actual runtime execution remain future separately authorized contracts. --- <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:29 +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#1916
No description provided.