[PR #297] [MERGED] fix(dotnet): downgrade truncated CIL identity and coverage #1933

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

📋 Pull Request Information

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

Base: main ← Head: agent/fix-dotnet-truncated-cil-identity


📝 Commits (1)

  • dae6807 fix(dotnet): downgrade truncated CIL identity and coverage

📊 Changes

44 files changed (+312 additions, -105 deletions)

View changed files

📝 docs/api/assets/hierarchy.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/browser_BrowserProcessStartup.BrowserStartupError.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/domain_managedMemberComparison.parseManagedMemberEvidence.html (+3 -3)
📝 docs/api/functions/domain_managedRuntimeCorrelation.planManagedRuntimeCorrelation.html (+3 -3)
📝 docs/api/hierarchy.html (+30 -30)
📝 docs/api/interfaces/application_AnalysisProvider.AnalysisClient.html (+1 -1)
📝 docs/api/interfaces/application_AnalysisProvider.AnalysisOperationPort.html (+1 -1)
📝 docs/api/interfaces/application_AnalysisProvider.AnalysisProvider.html (+1 -1)
📝 docs/api/interfaces/application_AnalysisProvider.AnalysisProviderCandidate.html (+1 -1)
📝 docs/api/interfaces/application_BinarySessionPort.BinarySessionPort.html (+1 -1)
📝 docs/api/interfaces/application_JavaScriptArtifactGraphContext.AstEdgeInput.html (+1 -1)
📝 docs/api/interfaces/application_JavaScriptArtifactGraphContext.InferenceEdgeInput.html (+1 -1)
📝 docs/api/interfaces/domain_managedMemberComparison.ManagedMemberComparisonSide.html (+2 -2)

...and 24 more files

📄 Description

What

  • classify method bodies stopped by max_method_instructions as partial
  • retain the exact full-body IL SHA-256 while withholding normalized CIL identity from partial or malformed decodes
  • propagate an actionable limit-exceeded coverage issue with method token and file offset
  • prevent partial bodies from exact or structural comparison matching
  • reject reconstruction and runtime-correlation locks that lack a complete normalized CIL observation
  • regenerate caller-visible catalog, skill metadata, and TypeDoc output

Why

The instruction decoder previously treated a bounded prefix as a present body and hashed that prefix as normalized_il_sha256. This could give truncated methods the same identity authority as fully decoded CIL and let comparison or downstream managed workflows accept an incomplete lock.

Impact

Complete, error-free methods preserve their existing exact IL and normalized CIL hashes. Instruction-limited methods now report partial coverage and cannot be used as normalized identity locks. Malformed bodies likewise no longer expose a normalized prefix hash.

Root cause

Decode truncation was represented only by truncated_instructions; body status, top-level coverage, normalized identity generation, matching, and workflow admission did not consume that signal.

Checks

  • npm run check
  • REA_ILSPY_CMD_PATH=/home/pentester/.dotnet/tools/ilspycmd npm run verify:managed
  • npm run knip
  • npm run jscpd
  • npm run scan:todos
  • targeted managed artifact, comparison, reconstruction, and runtime-correlation regressions: 28 passed

🔄 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/297 **Author:** [@N0zoM1z0](https://github.com/N0zoM1z0) **Created:** 7/17/2026 **Status:** ✅ Merged **Merged:** 7/17/2026 **Merged by:** [@N0zoM1z0](https://github.com/N0zoM1z0) **Base:** `main` ← **Head:** `agent/fix-dotnet-truncated-cil-identity` --- ### 📝 Commits (1) - [`dae6807`](https://github.com/morluto/rea/commit/dae6807c4a4aad7a20c4b9da085e39dcfb58430a) fix(dotnet): downgrade truncated CIL identity and coverage ### 📊 Changes **44 files changed** (+312 additions, -105 deletions) <details> <summary>View changed files</summary> 📝 `docs/api/assets/hierarchy.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/browser_BrowserProcessStartup.BrowserStartupError.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/domain_managedMemberComparison.parseManagedMemberEvidence.html` (+3 -3) 📝 `docs/api/functions/domain_managedRuntimeCorrelation.planManagedRuntimeCorrelation.html` (+3 -3) 📝 `docs/api/hierarchy.html` (+30 -30) 📝 `docs/api/interfaces/application_AnalysisProvider.AnalysisClient.html` (+1 -1) 📝 `docs/api/interfaces/application_AnalysisProvider.AnalysisOperationPort.html` (+1 -1) 📝 `docs/api/interfaces/application_AnalysisProvider.AnalysisProvider.html` (+1 -1) 📝 `docs/api/interfaces/application_AnalysisProvider.AnalysisProviderCandidate.html` (+1 -1) 📝 `docs/api/interfaces/application_BinarySessionPort.BinarySessionPort.html` (+1 -1) 📝 `docs/api/interfaces/application_JavaScriptArtifactGraphContext.AstEdgeInput.html` (+1 -1) 📝 `docs/api/interfaces/application_JavaScriptArtifactGraphContext.InferenceEdgeInput.html` (+1 -1) 📝 `docs/api/interfaces/domain_managedMemberComparison.ManagedMemberComparisonSide.html` (+2 -2) _...and 24 more files_ </details> ### 📄 Description ## What - classify method bodies stopped by max_method_instructions as partial - retain the exact full-body IL SHA-256 while withholding normalized CIL identity from partial or malformed decodes - propagate an actionable limit-exceeded coverage issue with method token and file offset - prevent partial bodies from exact or structural comparison matching - reject reconstruction and runtime-correlation locks that lack a complete normalized CIL observation - regenerate caller-visible catalog, skill metadata, and TypeDoc output ## Why The instruction decoder previously treated a bounded prefix as a present body and hashed that prefix as normalized_il_sha256. This could give truncated methods the same identity authority as fully decoded CIL and let comparison or downstream managed workflows accept an incomplete lock. ## Impact Complete, error-free methods preserve their existing exact IL and normalized CIL hashes. Instruction-limited methods now report partial coverage and cannot be used as normalized identity locks. Malformed bodies likewise no longer expose a normalized prefix hash. ## Root cause Decode truncation was represented only by truncated_instructions; body status, top-level coverage, normalized identity generation, matching, and workflow admission did not consume that signal. ## Checks - npm run check - REA_ILSPY_CMD_PATH=/home/pentester/.dotnet/tools/ilspycmd npm run verify:managed - npm run knip - npm run jscpd - npm run scan:todos - targeted managed artifact, comparison, reconstruction, and runtime-correlation regressions: 28 passed --- <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:37 +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#1933
No description provided.