[PR #1972] [MERGED] test(native): replay complete dylib-use provider output #4942

Closed
opened 2026-10-31 00:57:13 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/1972
Author: @N0zoM1z0
Created: 10/11/2026
Status: ✅ Merged
Merged: 10/11/2026
Merged by: @N0zoM1z0

Base: main ← Head: fix/1970-otool-dylib-use


📝 Commits (3)

  • bfdf557 fix(native): accept framed dylib-use command options
  • 1d37bf7 test(native): integrate the upstream dylib-use representation fix
  • 31f6be2 test(native): integrate main for complete PR verification

📊 Changes

5 files changed (+339 additions, -2 deletions)

View changed files

📝 src/browser/CdpCaptureEvents.redirectBodyShape.test.ts (+3 -0)
📝 tests/boundary/filesystem/qwenClientConfiguration.test.ts (+8 -2)
📝 tests/boundary/providers/native/nativeMachoHeader.golden.test.ts (+39 -0)
➕ tests/fixtures/native-macos/otool-dylib-use.md (+14 -0)
➕ tests/fixtures/native-macos/otool-dylib-use.txt (+275 -0)

📄 Description

Summary

Replay the complete real otool -h -l output that exposed #1970 through the native provider boundary, and update two inherited CI fixtures to current main contracts.

Refs #1970. The producing dylib-use parser fix and refreshed high-address capture are already on main in #1967; this PR preserves that implementation.

Problem and expected behavior

The Apple CLI/MCP lane retained valid 23-command output with a delayed dylib dependency. Main now accepts its options representation. Cover the complete provider result and preserve dependency identity and command index, including a distinct negative case where a repeated options field is empty.

Two existing tests also have stale prerequisites after recent main changes: skill installation returns Result, and captured CDP requests require initiator metadata. A response-shape assertion must reject undefined before claiming a shape was captured.

Change and scope

  • Replay the complete actual Apple capture; only its echoed filename is substituted, with provenance recorded beside the fixture.
  • Assert the retained dependency, option text, original command index and complete command count.
  • Reject repeated options even when the second row has no value.
  • Assert installed/unchanged skill outcomes as Result and retain custom-home and user-authored-file checks.
  • Supply CDP initiator metadata and reject an undefined shape before checking recovery from malformed redirect metadata.

No production code, schemas, provider admission, resource limits or CI thresholds change. Initial overlapping parser changes were superseded by main; their redundant tests were removed after integration.

Contract and boundary impact

Native verification uses the existing provider boundary with actual producer output and retained source provenance. Setup and browser tests now satisfy their current prerequisites without weakening failure or recovery assertions. Linux replay establishes provider integration with captured output; real macOS execution remains the responsibility of the Apple CLI/MCP CI lane.

Validation

  • The initial independent fix reproduced three dylib-use failures and four inherited fixture failures before correction; those historical checks are retained separately.
  • Final main-integrated native provider, goldens, malformed text, echoed path, Qwen and CDP tests: 78 passed across eight files.
  • Final npm run check:ci: all eight tasks and architecture guards passed.
  • git diff --check: passed.
  • Actual Apple CLI/MCP lane on the exact published head: passed, including 195 native/Apple tests across 17 files.
  • Latest-main integration of the Qwen/CDP fixture changes: 13 passed.
  • Manual full CI on head 1d37bf7e3: all 30 jobs passed, including actual Apple execution and all native platform package lanes. Workflow dispatch omits the PR-only required job, so this does not replace the canceled PR status.
  • Main 55b61485e is now integrated; the final eight-file focused suite again passes all 78 tests. The normal PR workflow will run with its existing ci:full selection and must pass CI required before merge.

Compatibility, safety, and release

No runtime behavior or release metadata changes. No binaries, credentials or private paths are committed. Existing malformed framing, cancellation, cleanup and capacity tests remain included.

Review checklist

  • The issue describes a concrete REA failure and reproduction.
  • The title and commits follow Conventional Commits.
  • The final scope reflects the integrated main implementation.
  • Distinct regression and malformed-input coverage is retained.
  • Executed checks and real-provider limitations are explicit.
  • No private paths, credentials or generated binaries are committed.

🔄 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/1972 **Author:** [@N0zoM1z0](https://github.com/N0zoM1z0) **Created:** 10/11/2026 **Status:** ✅ Merged **Merged:** 10/11/2026 **Merged by:** [@N0zoM1z0](https://github.com/N0zoM1z0) **Base:** `main` ← **Head:** `fix/1970-otool-dylib-use` --- ### 📝 Commits (3) - [`bfdf557`](https://github.com/morluto/rea/commit/bfdf5571aa257d50752f48214fa0b4e7ea963b58) fix(native): accept framed dylib-use command options - [`1d37bf7`](https://github.com/morluto/rea/commit/1d37bf7e32cbf91d8c3cc5755224c79228a81b03) test(native): integrate the upstream dylib-use representation fix - [`31f6be2`](https://github.com/morluto/rea/commit/31f6be299c3a654bfd5df20e2879ff4c0f590925) test(native): integrate main for complete PR verification ### 📊 Changes **5 files changed** (+339 additions, -2 deletions) <details> <summary>View changed files</summary> 📝 `src/browser/CdpCaptureEvents.redirectBodyShape.test.ts` (+3 -0) 📝 `tests/boundary/filesystem/qwenClientConfiguration.test.ts` (+8 -2) 📝 `tests/boundary/providers/native/nativeMachoHeader.golden.test.ts` (+39 -0) ➕ `tests/fixtures/native-macos/otool-dylib-use.md` (+14 -0) ➕ `tests/fixtures/native-macos/otool-dylib-use.txt` (+275 -0) </details> ### 📄 Description ## Summary Replay the complete real `otool -h -l` output that exposed #1970 through the native provider boundary, and update two inherited CI fixtures to current main contracts. Refs #1970. The producing dylib-use parser fix and refreshed high-address capture are already on main in #1967; this PR preserves that implementation. ## Problem and expected behavior The Apple CLI/MCP lane retained valid 23-command output with a delayed dylib dependency. Main now accepts its `options` representation. Cover the complete provider result and preserve dependency identity and command index, including a distinct negative case where a repeated options field is empty. Two existing tests also have stale prerequisites after recent main changes: skill installation returns `Result`, and captured CDP requests require initiator metadata. A response-shape assertion must reject `undefined` before claiming a shape was captured. ## Change and scope - Replay the complete actual Apple capture; only its echoed filename is substituted, with provenance recorded beside the fixture. - Assert the retained dependency, option text, original command index and complete command count. - Reject repeated options even when the second row has no value. - Assert installed/unchanged skill outcomes as `Result` and retain custom-home and user-authored-file checks. - Supply CDP initiator metadata and reject an undefined shape before checking recovery from malformed redirect metadata. No production code, schemas, provider admission, resource limits or CI thresholds change. Initial overlapping parser changes were superseded by main; their redundant tests were removed after integration. ## Contract and boundary impact Native verification uses the existing provider boundary with actual producer output and retained source provenance. Setup and browser tests now satisfy their current prerequisites without weakening failure or recovery assertions. Linux replay establishes provider integration with captured output; real macOS execution remains the responsibility of the Apple CLI/MCP CI lane. ## Validation - The initial independent fix reproduced three dylib-use failures and four inherited fixture failures before correction; those historical checks are retained separately. - Final main-integrated native provider, goldens, malformed text, echoed path, Qwen and CDP tests: **78 passed across eight files**. - Final `npm run check:ci`: all eight tasks and architecture guards passed. - `git diff --check`: passed. - Actual Apple CLI/MCP lane on the exact published head: passed, including 195 native/Apple tests across 17 files. - Latest-main integration of the Qwen/CDP fixture changes: 13 passed. - Manual full CI on head `1d37bf7e3`: all 30 jobs passed, including actual Apple execution and all native platform package lanes. Workflow dispatch omits the PR-only required job, so this does not replace the canceled PR status. - Main `55b61485e` is now integrated; the final eight-file focused suite again passes all 78 tests. The normal PR workflow will run with its existing `ci:full` selection and must pass `CI required` before merge. ## Compatibility, safety, and release No runtime behavior or release metadata changes. No binaries, credentials or private paths are committed. Existing malformed framing, cancellation, cleanup and capacity tests remain included. ## Review checklist - [x] The issue describes a concrete REA failure and reproduction. - [x] The title and commits follow Conventional Commits. - [x] The final scope reflects the integrated main implementation. - [x] Distinct regression and malformed-input coverage is retained. - [x] Executed checks and real-provider limitations are explicit. - [x] No private paths, credentials or generated binaries are committed. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-31 00:57:13 +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#4942
No description provided.