[PR #259] [MERGED] docs(analysis): define managed-code evidence boundary #1908

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

📋 Pull Request Information

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

Base: main ← Head: agent/managed-code-boundary


📝 Commits (1)

  • 1673c31 docs(analysis): define managed-code evidence boundary

📊 Changes

4 files changed (+699 additions, -2 deletions)

View changed files

📝 README.md (+3 -2)
➕ docs/adr/0003-managed-code-evidence-and-provider-boundary.md (+397 -0)
📝 docs/adr/README.md (+1 -0)
➕ docs/managed-code-analysis.md (+298 -0)

📄 Description

Summary

  • accept ADR-0003 for execution-free managed-code evidence and provider ownership
  • define rea-dotnet-static as a planned disjoint auxiliary capability that composes with one Hopper/Ghidra native binding
  • classify ordinary and obfuscated CIL, .NET Framework, modern .NET, Unity Mono/IL2CPP, ReadyToRun, NativeAOT, C++/CLI, and single-file deployments before routing
  • separate canonical metadata/CIL observations, C# reconstruction, structural inference, independent validation, and separately authorized runtime observation
  • document exact artifact/MVID/token/normalized-CIL commitments, pinned tool evaluation, source-built conformance, and the operator-local compact osu! benchmark
  • add the managed-code track to the roadmap without changing the shipped 83-tool catalog

Why

Managed C# reversing cannot safely be modeled as “run a decompiler.” Different deployment forms have different canonical evidence and native-analysis needs, while decompiler output and build-local metadata tokens are not durable source or cross-version identity. This boundary keeps static analysis byte-only, local, provider-composable, and truthful before public implementation begins.

User and developer impact

This PR changes documentation and accepted architecture only. It adds no caller-visible tools, configuration, runtime execution, installer effects, or packaged dependencies. Follow-up implementation PRs now have explicit routing, evidence, packaging, safety, and real-conformance gates.

Verification

  • npm run check — 133 test files, 928 tests passed
  • npm run knip
  • npm run jscpd
  • npm run scan:todos
  • git diff --check

Real Hopper verification: not performed; no Hopper behavior changed.
Real Ghidra verification: not performed; no Ghidra behavior changed.
Real managed-tool verification: research coordinates and local tool metadata were inspected, but public managed behavior is intentionally not implemented in this PR.


🔄 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/259 **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-code-boundary` --- ### 📝 Commits (1) - [`1673c31`](https://github.com/morluto/rea/commit/1673c3116e548594f83f76b252c84b8af85a6c18) docs(analysis): define managed-code evidence boundary ### 📊 Changes **4 files changed** (+699 additions, -2 deletions) <details> <summary>View changed files</summary> 📝 `README.md` (+3 -2) ➕ `docs/adr/0003-managed-code-evidence-and-provider-boundary.md` (+397 -0) 📝 `docs/adr/README.md` (+1 -0) ➕ `docs/managed-code-analysis.md` (+298 -0) </details> ### 📄 Description ## Summary - accept ADR-0003 for execution-free managed-code evidence and provider ownership - define `rea-dotnet-static` as a planned disjoint auxiliary capability that composes with one Hopper/Ghidra native binding - classify ordinary and obfuscated CIL, .NET Framework, modern .NET, Unity Mono/IL2CPP, ReadyToRun, NativeAOT, C++/CLI, and single-file deployments before routing - separate canonical metadata/CIL observations, C# reconstruction, structural inference, independent validation, and separately authorized runtime observation - document exact artifact/MVID/token/normalized-CIL commitments, pinned tool evaluation, source-built conformance, and the operator-local compact osu! benchmark - add the managed-code track to the roadmap without changing the shipped 83-tool catalog ## Why Managed C# reversing cannot safely be modeled as “run a decompiler.” Different deployment forms have different canonical evidence and native-analysis needs, while decompiler output and build-local metadata tokens are not durable source or cross-version identity. This boundary keeps static analysis byte-only, local, provider-composable, and truthful before public implementation begins. ## User and developer impact This PR changes documentation and accepted architecture only. It adds no caller-visible tools, configuration, runtime execution, installer effects, or packaged dependencies. Follow-up implementation PRs now have explicit routing, evidence, packaging, safety, and real-conformance gates. ## Verification - `npm run check` — 133 test files, 928 tests passed - `npm run knip` - `npm run jscpd` - `npm run scan:todos` - `git diff --check` Real Hopper verification: not performed; no Hopper behavior changed. Real Ghidra verification: not performed; no Ghidra behavior changed. Real managed-tool verification: research coordinates and local tool metadata were inspected, but public managed behavior is intentionally not implemented in this PR. --- <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:23 +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#1908
No description provided.