[PR #4684] [CLOSED] fix(frida): return canonical device_id in list-frida-devices cli output #6357

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

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/4684
Author: @Kaushalendra-Marcus
Created: 10/17/2026
Status: ❌ Closed

Base: main ← Head: fix/frida-device-id-projection


📝 Commits (1)

  • 17f1665 fix(frida): project CLI device lists onto the shared device contract

📊 Changes

4 files changed (+119 additions, -12 deletions)

View changed files

📝 src/application/frida/FridaInstrumentationService.test.ts (+45 -0)
📝 src/application/frida/FridaInstrumentationService.ts (+16 -2)
📝 src/server/registerFridaTools.ts (+1 -5)
📝 tests/boundary/cli/fridaCli.test.ts (+57 -5)

📄 Description

fixes #4637

list-frida-devices --json returned deviceId but the shared contract and
mcp expect device_id, so every nonempty cli result failed the shared
output schema while mcp passed it. anyone reading devices[i].device_id
got undefined and strict consumers rejected the cli output.

(what changed)
the device projection now lives in fridainstrumentationservice next to
its other output projections, so the cli and mcp share one shape. the
duplicate remap in the mcp handler is gone. the cli cleanup-failure
partial observation now keeps the same canonical fields too. no
provider code changed, the internal observation shape is untouched.

(testing)
the cli boundary test now runs the public command and asserts the
device list against the shared schema, next to the service projection
tests and the mcp contract and lifecycle suites. npm run check and
docs:check pass on this branch.

(known gap)
real frida discovery was not exercised on this host, the listdevices
seam was injected. the report scope was cli versus mcp projection, not
device enumeration itself.

Author readiness

Human owner: @Kaushalendra-Marcus

  • I checked the evidence above, confirmed it supports the current change, and recorded meaningful validation gaps.
  • 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 declare this PR ready for initial maintainer review.

🔄 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/4684 **Author:** [@Kaushalendra-Marcus](https://github.com/Kaushalendra-Marcus) **Created:** 10/17/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `fix/frida-device-id-projection` --- ### 📝 Commits (1) - [`17f1665`](https://github.com/morluto/rea/commit/17f166520aa60d3cf9d183f91e5906a19f3306de) fix(frida): project CLI device lists onto the shared device contract ### 📊 Changes **4 files changed** (+119 additions, -12 deletions) <details> <summary>View changed files</summary> 📝 `src/application/frida/FridaInstrumentationService.test.ts` (+45 -0) 📝 `src/application/frida/FridaInstrumentationService.ts` (+16 -2) 📝 `src/server/registerFridaTools.ts` (+1 -5) 📝 `tests/boundary/cli/fridaCli.test.ts` (+57 -5) </details> ### 📄 Description fixes #4637 list-frida-devices --json returned deviceId but the shared contract and mcp expect device_id, so every nonempty cli result failed the shared output schema while mcp passed it. anyone reading devices[i].device_id got undefined and strict consumers rejected the cli output. (what changed) the device projection now lives in fridainstrumentationservice next to its other output projections, so the cli and mcp share one shape. the duplicate remap in the mcp handler is gone. the cli cleanup-failure partial observation now keeps the same canonical fields too. no provider code changed, the internal observation shape is untouched. (testing) the cli boundary test now runs the public command and asserts the device list against the shared schema, next to the service projection tests and the mcp contract and lifecycle suites. npm run check and docs:check pass on this branch. (known gap) real frida discovery was not exercised on this host, the listdevices seam was injected. the report scope was cli versus mcp projection, not device enumeration itself. ## Author readiness Human owner: @Kaushalendra-Marcus - [ ] I checked the evidence above, confirmed it supports the current change, and recorded meaningful validation gaps. - [ ] 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 declare this PR ready for initial maintainer review. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-31 01:13:50 +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#6357
No description provided.