[PR #5210] [CLOSED] fix(objdump): scope debug-link warnings to DWARF inspections #6816

Closed
opened 2026-11-01 21:43:14 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/5210
Author: @prabhuramkarki
Created: 10/19/2026
Status: ❌ Closed

Base: main ← Head: fix/objdump-debug-link-warning


📝 Commits (1)

  • db59ace fix(objdump): scope debug-link warnings to DWARF inspections

📊 Changes

2 files changed (+53 additions, -0 deletions)

View changed files

📝 src/application/reverse/ReverseEngineeringService.ts (+1 -0)
📝 tests/composition/reverseEngineering.test.ts (+52 -0)

📄 Description

Summary

Fixes #5176. Non-DWARF objdump Evidence no longer claims its output may include external DWARF debug files merely because follow_debug_links was supplied. Enabled DWARF inspection retains the warning.

Problem and expected behavior

For operation: file_headers, follow_debug_links: true, the command is still objdump -f, which does not request DWARF output. Previously the generic Evidence projection nevertheless added the DWARF limitation. The same mismatch affected all six non-DWARF artifact facets.

Change and scope

Require the validated facet to be dwarf before adding this limitation in the shared application service. Reuse the existing command builder and preserve caller parameters; no argv or provider behavior changes.

Contract and boundary impact

  • Semantic owner: ReverseEngineeringService, at command Evidence construction; CLI and MCP consume the same result.
  • Contribution scope: ordinary Evidence correctness fix; new-capability maintainer decision not applicable.
  • CLI/MCP schemas, provider protocol, artifact identity, execution authority, cleanup, installation, and generated metadata: unchanged.
  • Observable change: remove an inapplicable limitation from six non-DWARF facets. Raw results and the applicable DWARF warning remain intact.

Evidence and regression coverage

  • Executed baseline 39275420e: composition tests returned 6 failed / 16 passed. The six failures were the affected non-DWARF facets; both DWARF controls passed.
  • Executed candidate: 49 focused checks passed across seven composition, CLI, and MCP files. Eight regression cases assert the selected argv, retained caller flag, raw capture, and warning applicability.
  • Real provider, before and after: ran 8 built CLI requests and 8 real SDK stdio MCP requests per revision using GNU objdump 2.46 on the same small ELF object, generated with cc -g -c. The target object was never executed. All command parameters, raw results, subjects, and the artifact digest matched across revisions; only the six inapplicable limitations per adapter were removed. Enabled/disabled DWARF controls retained their prior behavior, and the MCP connection remained usable.
  • Independent source review found no blockers.

Validation performed

Node 24.18.0 / npm 11.16.0:

  • npm run test:focused -- tests/composition/reverseEngineering.test.ts tests/composition/reverseEngineeringLocalInspectionEdgeCases.test.ts tests/composition/reverseEngineeringCommandPort.test.ts tests/boundary/cli/reverseEngineeringCommands.test.ts tests/boundary/mcp/reverseEngineeringPartialMcp.test.ts tests/boundary/mcp/reverseEngineeringEnvironmentMcp.test.ts tests/boundary/mcp/reverseEngineeringProviderEnvironmentMcp.test.ts — 49 passed; runtime built.
  • npm run test:local -- tests/composition/reverseEngineering.test.ts — final 22 cases passed.
  • npm run check — passed, including typecheck, lint/module boundaries, formatting, knip, metadata, and architecture guards.
  • git diff --check — passed.

Compatibility, safety, and release

No breaking changes or new target side effects. Native verification used Linux and one authored ELF object; other hosts/formats and external debug-file contents were not qualified. Full repository suite and token/CPU/latency/peak-memory profiling were not run; no performance improvement is claimed.

GitHub validation status

As of 2026-10-19, upstream CI is action_required and has not executed. This contributor account cannot approve fork workflow runs (HTTP 403: repository admin rights required). The separate PR readiness status is pending because GitHub returns no upstream PR association for this fork head. Local validation above is not a claim that upstream CI passed.

Author readiness

Human owner: @prabhuramkarki

  • I reviewed the final diff and relevant existing code, understand the change and its edge cases, and take responsibility for the complete PR, including AI-assisted work.
  • I checked the evidence above, confirmed it supports the current change, and recorded meaningful validation gaps.
  • I declare this PR ready for initial maintainer review.

Keep this AI-assisted PR in draft until the human owner completes these declarations.


🔄 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/5210 **Author:** [@prabhuramkarki](https://github.com/prabhuramkarki) **Created:** 10/19/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `fix/objdump-debug-link-warning` --- ### 📝 Commits (1) - [`db59ace`](https://github.com/morluto/rea/commit/db59ace79e51453f0e85f08daf9a18388cb438cc) fix(objdump): scope debug-link warnings to DWARF inspections ### 📊 Changes **2 files changed** (+53 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `src/application/reverse/ReverseEngineeringService.ts` (+1 -0) 📝 `tests/composition/reverseEngineering.test.ts` (+52 -0) </details> ### 📄 Description ## Summary Fixes #5176. Non-DWARF objdump Evidence no longer claims its output may include external DWARF debug files merely because `follow_debug_links` was supplied. Enabled DWARF inspection retains the warning. ## Problem and expected behavior For `operation: file_headers, follow_debug_links: true`, the command is still `objdump -f`, which does not request DWARF output. Previously the generic Evidence projection nevertheless added the DWARF limitation. The same mismatch affected all six non-DWARF artifact facets. ## Change and scope Require the validated facet to be `dwarf` before adding this limitation in the shared application service. Reuse the existing command builder and preserve caller parameters; no argv or provider behavior changes. ## Contract and boundary impact - Semantic owner: `ReverseEngineeringService`, at command Evidence construction; CLI and MCP consume the same result. - Contribution scope: ordinary Evidence correctness fix; new-capability maintainer decision not applicable. - CLI/MCP schemas, provider protocol, artifact identity, execution authority, cleanup, installation, and generated metadata: unchanged. - Observable change: remove an inapplicable limitation from six non-DWARF facets. Raw results and the applicable DWARF warning remain intact. ## Evidence and regression coverage - **Executed baseline `39275420e`:** composition tests returned 6 failed / 16 passed. The six failures were the affected non-DWARF facets; both DWARF controls passed. - **Executed candidate:** 49 focused checks passed across seven composition, CLI, and MCP files. Eight regression cases assert the selected argv, retained caller flag, raw capture, and warning applicability. - **Real provider, before and after:** ran 8 built CLI requests and 8 real SDK stdio MCP requests per revision using GNU objdump 2.46 on the same small ELF object, generated with `cc -g -c`. The target object was never executed. All command parameters, raw results, subjects, and the artifact digest matched across revisions; only the six inapplicable limitations per adapter were removed. Enabled/disabled DWARF controls retained their prior behavior, and the MCP connection remained usable. - Independent source review found no blockers. ## Validation performed Node 24.18.0 / npm 11.16.0: - `npm run test:focused -- tests/composition/reverseEngineering.test.ts tests/composition/reverseEngineeringLocalInspectionEdgeCases.test.ts tests/composition/reverseEngineeringCommandPort.test.ts tests/boundary/cli/reverseEngineeringCommands.test.ts tests/boundary/mcp/reverseEngineeringPartialMcp.test.ts tests/boundary/mcp/reverseEngineeringEnvironmentMcp.test.ts tests/boundary/mcp/reverseEngineeringProviderEnvironmentMcp.test.ts` — 49 passed; runtime built. - `npm run test:local -- tests/composition/reverseEngineering.test.ts` — final 22 cases passed. - `npm run check` — passed, including typecheck, lint/module boundaries, formatting, knip, metadata, and architecture guards. - `git diff --check` — passed. ## Compatibility, safety, and release No breaking changes or new target side effects. Native verification used Linux and one authored ELF object; other hosts/formats and external debug-file contents were not qualified. Full repository suite and token/CPU/latency/peak-memory profiling were not run; no performance improvement is claimed. ## GitHub validation status As of 2026-10-19, upstream CI is `action_required` and has not executed. This contributor account cannot approve fork workflow runs (HTTP 403: repository admin rights required). The separate PR readiness status is pending because GitHub returns no upstream PR association for this fork head. Local validation above is not a claim that upstream CI passed. ## Author readiness Human owner: @prabhuramkarki - [x] I reviewed the final diff and relevant existing code, understand the change and its edge cases, and take responsibility for the complete PR, including AI-assisted work. - [x] I checked the evidence above, confirmed it supports the current change, and recorded meaningful validation gaps. - [x] I declare this PR ready for initial maintainer review. Keep this AI-assisted PR in draft until the human owner completes these declarations. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-11-01 21:43:14 +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#6816
No description provided.