[PR #762] [CLOSED] fix(native): preserve thin architectures across echoed filename lines #2223

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

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/762
Author: @rudycelekli
Created: 10/6/2026
Status: ❌ Closed

Base: main ← Head: fix/rea-thin-macho-filename-lines-20261006


📝 Commits (1)

  • 726ecbe fix(native): preserve thin architectures across echoed filename lines

📊 Changes

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

View changed files

📝 src/native/parsers/lipo.ts (+17 -0)
📝 tests/boundary/providers/native/nativeTextRobustness.test.ts (+13 -0)

📄 Description

Summary

Read the complete thin lipo -detailed_info record before splitting output into lines. Native lipo echoes a pathname verbatim; a line break in an ordinary local filename must not become an architecture name. Universal-slice parsing is unchanged.

Native evidence and checks

Signed DCO head 726ecbe8749c6d339f9170f9b1788687c7a61efa, freshly rebased onto main 82382324855a3a4ed51d2cdc3b2b455c9e8419e2 after the Windows extraction and IDA additions. Neither changed file overlaps those additions or the fresh open inventory.

  • Actual host Clang produces the benign Mach-O fixtures. Native lipo -archs independently reports arm64 for ordinary and newline filenames.
  • Before: compiled public inspect-macho reports the pathname fragment as an exhaustive architecture for the newline filename; ordinary filename control succeeds.
  • After: compiled public CLI plus a separate real stdio MCP subprocess agree for inspect_macho and list_architectures, using actual native utilities and the pinned SDK client. No provider runner is substituted.
  • Focused before: three filename regressions fail, three controls pass. Exact-head after: 26 tests pass in four existing native provider/slice files, including universal-slice controls.
  • npm run build:cached, npm run check, and npm run check:fast: pass. Check reports 125 warnings, zero errors; no warnings concern either changed file. Existing exact dependency runtime reused; no install/model download.
  • SSH signature verification and git diff --check: pass.

No contract or package change. This proves macOS native format inspection; it does not claim Hopper, Ghidra, IDA, GUI, Windows, target execution, or full hosted CI coverage. Hosted results will be recorded separately.

AI-assisted implementation and independent source review; signed DCO retained.

Fixes #760.


🔄 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/762 **Author:** [@rudycelekli](https://github.com/rudycelekli) **Created:** 10/6/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `fix/rea-thin-macho-filename-lines-20261006` --- ### 📝 Commits (1) - [`726ecbe`](https://github.com/morluto/rea/commit/726ecbe8749c6d339f9170f9b1788687c7a61efa) fix(native): preserve thin architectures across echoed filename lines ### 📊 Changes **2 files changed** (+30 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `src/native/parsers/lipo.ts` (+17 -0) 📝 `tests/boundary/providers/native/nativeTextRobustness.test.ts` (+13 -0) </details> ### 📄 Description ## Summary Read the complete thin `lipo -detailed_info` record before splitting output into lines. Native lipo echoes a pathname verbatim; a line break in an ordinary local filename must not become an architecture name. Universal-slice parsing is unchanged. ## Native evidence and checks Signed DCO head `726ecbe8749c6d339f9170f9b1788687c7a61efa`, freshly rebased onto main `82382324855a3a4ed51d2cdc3b2b455c9e8419e2` after the Windows extraction and IDA additions. Neither changed file overlaps those additions or the fresh open inventory. - Actual host Clang produces the benign Mach-O fixtures. Native `lipo -archs` independently reports arm64 for ordinary and newline filenames. - Before: compiled public `inspect-macho` reports the pathname fragment as an exhaustive architecture for the newline filename; ordinary filename control succeeds. - After: compiled public CLI plus a separate real stdio MCP subprocess agree for `inspect_macho` and `list_architectures`, using actual native utilities and the pinned SDK client. No provider runner is substituted. - Focused before: three filename regressions fail, three controls pass. Exact-head after: 26 tests pass in four existing native provider/slice files, including universal-slice controls. - `npm run build:cached`, `npm run check`, and `npm run check:fast`: pass. Check reports 125 warnings, zero errors; no warnings concern either changed file. Existing exact dependency runtime reused; no install/model download. - SSH signature verification and `git diff --check`: pass. No contract or package change. This proves macOS native format inspection; it does not claim Hopper, Ghidra, IDA, GUI, Windows, target execution, or full hosted CI coverage. Hosted results will be recorded separately. AI-assisted implementation and independent source review; signed DCO retained. Fixes #760. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-16 21:15:54 +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#2223
No description provided.