[PR #271] [MERGED] test(dotnet): add managed conformance verifier #1912

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/271
Author: @N0zoM1z0
Created: 7/16/2026
Status: ✅ Merged
Merged: 7/16/2026
Merged by: @N0zoM1z0

Base: main ← Head: agent/managed-conformance-verifier


📝 Commits (1)

  • 41ed0f6 test(dotnet): add managed conformance verifier

📊 Changes

7 files changed (+748 additions, -5 deletions)

View changed files

📝 AGENTS.md (+2 -1)
📝 README.md (+1 -1)
📝 docs/managed-code-analysis.md (+5 -2)
📝 package.json (+1 -0)
➕ scripts/lib/managed-pe-fixture.mjs (+386 -0)
➕ scripts/verify-managed-conformance.mjs (+274 -0)
📝 scripts/verify-package.mjs (+79 -1)

📄 Description

Summary

  • Adds npm run verify:managed, a source-owned managed PE/CLI conformance verifier that builds synthetic fixtures at runtime and exercises the built managed inspectors.
  • Covers modern .NET AnyCPU resource inventory, .NET Framework x86 P/Invoke declaration inventory, x64 ReadyToRun/native-body indicators, Unicode/obfuscated identifiers, MVID/token drift comparison without name matching, non-managed PE degradation, and malformed metadata degradation.
  • Extends packaged CLI verification to smoke inspect-managed-artifact, inspect-managed-members, inspect-managed-native-boundaries, and compare-managed-members from the packed install.
  • Updates managed-code docs and repository guidance for the new verifier.

Safety / scope

  • No proprietary osu!/Notion artifacts, binaries, decompiler dumps, or runtime logs are committed.
  • The fixtures are source-owned and generated at runtime.
  • Static managed inspection still does not Assembly.Load or execute target assemblies.
  • External pinned ILSpy/dnSpy/Windows/osu! verifiers remain planned as operator-local checks.

Verification

  • npm run check (passed on rerun; first run hit a load-sensitive tests/sessionMcp.test.ts timeout, then the isolated test and full rerun passed)
  • npx vitest run tests/sessionMcp.test.ts --coverage=false
  • 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

🔄 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/271 **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-conformance-verifier` --- ### 📝 Commits (1) - [`41ed0f6`](https://github.com/morluto/rea/commit/41ed0f6aa626c186e388cba14bf92e1bf27dee39) test(dotnet): add managed conformance verifier ### 📊 Changes **7 files changed** (+748 additions, -5 deletions) <details> <summary>View changed files</summary> 📝 `AGENTS.md` (+2 -1) 📝 `README.md` (+1 -1) 📝 `docs/managed-code-analysis.md` (+5 -2) 📝 `package.json` (+1 -0) ➕ `scripts/lib/managed-pe-fixture.mjs` (+386 -0) ➕ `scripts/verify-managed-conformance.mjs` (+274 -0) 📝 `scripts/verify-package.mjs` (+79 -1) </details> ### 📄 Description ## Summary - Adds `npm run verify:managed`, a source-owned managed PE/CLI conformance verifier that builds synthetic fixtures at runtime and exercises the built managed inspectors. - Covers modern .NET AnyCPU resource inventory, .NET Framework x86 P/Invoke declaration inventory, x64 ReadyToRun/native-body indicators, Unicode/obfuscated identifiers, MVID/token drift comparison without name matching, non-managed PE degradation, and malformed metadata degradation. - Extends packaged CLI verification to smoke `inspect-managed-artifact`, `inspect-managed-members`, `inspect-managed-native-boundaries`, and `compare-managed-members` from the packed install. - Updates managed-code docs and repository guidance for the new verifier. ## Safety / scope - No proprietary osu!/Notion artifacts, binaries, decompiler dumps, or runtime logs are committed. - The fixtures are source-owned and generated at runtime. - Static managed inspection still does not `Assembly.Load` or execute target assemblies. - External pinned ILSpy/dnSpy/Windows/osu! verifiers remain planned as operator-local checks. ## Verification - `npm run check` (passed on rerun; first run hit a load-sensitive `tests/sessionMcp.test.ts` timeout, then the isolated test and full rerun passed) - `npx vitest run tests/sessionMcp.test.ts --coverage=false` - `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` --- <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#1912
No description provided.