[GH-ISSUE #2602] fix(adb): remove false exclusivity from the push-file description #921

Closed
opened 2026-10-15 18:29:35 +00:00 by bsakaguchi · 0 comments
Owner

Originally created by @coygeek on GitHub (Oct 13, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/2602

Summary

The ADB tool catalog tells readers that push_adb_file is the only device-mutating ADB tool. The same catalog identifies package installation, package removal, application launch, activity launch, and application stop as device-mutating operations. Source establishes a contradiction in the advertised effects guidance; the structured effects remain accurate.

Steps to reproduce

At the source baseline under Runtime or environment, inspect the push_adb_file description in the ADB contract array. Compare its "The only device-mutating ADB tool" statement with the descriptions for install_adb_package, uninstall_adb_package, start_adb_app, start_adb_activity, and stop_adb_app. Then compare those six entries with the effects table and the ADB guide's tool table. All six are marked as device-mutating. This reproduction is a source inspection and does not require executing ADB or attaching a device.

Expected behavior

A reader planning an ADB workflow should receive consistent guidance about which operations change the device. The push-file description must agree with the supported package and application operations and their effects metadata.

Actual behavior

Source establishes that the push-file description claims exclusive device mutation while five other tool descriptions and all six structured effects entries contradict that claim. Tool registration preserves the contradictory sentence when advertising the contract to MCP clients. Runtime discovery and device actions were not executed.

Evidence

  • Expected source: docs/adb-device-analysis.md:96-101 marks all six tools as device-mutating; src/contracts/toolEffects.ts:272-280 and :335-374 supplies mutatesDevice:true for them.
  • Failure source: src/contracts/adb/adbToolContracts.ts:130 contains the false exclusivity statement, contradicted by the other mutation descriptions in that array. src/server/registerAdbTools.ts:26-62 registers those contracts and src/server/toolRegistrationOptions.ts:30 passes their descriptions unchanged.
  • Evidence provenance: static
  • Local verification: static-proof
  • Reproduction completeness: complete

Runtime reproduction was not run. The relevant descriptions belong to the canonical contract array, which is included in the complete tool catalog and registered directly. No device selection, provider execution, or device-state guard affects the wording exposed during discovery. Read-only searches found no existing issue for this sentence.

Restoration check

Read the six descriptions together and verify that none falsely says device mutation belongs only to push_adb_file. Preserve the descriptions of each tool's actual behavior and the mutatesDevice:true effects for all six. No device execution is necessary to verify this wording contract.

Runtime or environment

Source baseline 8b181716ac. The contradiction is in the advertised source contracts and does not depend on a particular ADB binary or device.

Triage assessment

  • Impact level: P3
  • Assessment status: supported
  • Impact basis: One advertised description contradicts the accurate effects metadata and other tool descriptions. No changed runtime behavior or unauthorized device action was demonstrated.
  • Workaround status: available
  • Workaround basis: Readers can consult the correct per-tool effects and ADB guide table to identify all six mutating operations without changing code.
Originally created by @coygeek on GitHub (Oct 13, 2026). Original GitHub issue: https://github.com/morluto/rea/issues/2602 ## Summary The ADB tool catalog tells readers that push_adb_file is the only device-mutating ADB tool. The same catalog identifies package installation, package removal, application launch, activity launch, and application stop as device-mutating operations. Source establishes a contradiction in the advertised effects guidance; the structured effects remain accurate. ## Steps to reproduce At the source baseline under Runtime or environment, inspect the push_adb_file description in the ADB contract array. Compare its "The only device-mutating ADB tool" statement with the descriptions for install_adb_package, uninstall_adb_package, start_adb_app, start_adb_activity, and stop_adb_app. Then compare those six entries with the effects table and the ADB guide's tool table. All six are marked as device-mutating. This reproduction is a source inspection and does not require executing ADB or attaching a device. ## Expected behavior A reader planning an ADB workflow should receive consistent guidance about which operations change the device. The push-file description must agree with the supported package and application operations and their effects metadata. ## Actual behavior Source establishes that the push-file description claims exclusive device mutation while five other tool descriptions and all six structured effects entries contradict that claim. Tool registration preserves the contradictory sentence when advertising the contract to MCP clients. Runtime discovery and device actions were not executed. ## Evidence - Expected source: docs/adb-device-analysis.md:96-101 marks all six tools as device-mutating; src/contracts/toolEffects.ts:272-280 and :335-374 supplies mutatesDevice:true for them. - Failure source: src/contracts/adb/adbToolContracts.ts:130 contains the false exclusivity statement, contradicted by the other mutation descriptions in that array. src/server/registerAdbTools.ts:26-62 registers those contracts and src/server/toolRegistrationOptions.ts:30 passes their descriptions unchanged. - Evidence provenance: static - Local verification: static-proof - Reproduction completeness: complete Runtime reproduction was not run. The relevant descriptions belong to the canonical contract array, which is included in the complete tool catalog and registered directly. No device selection, provider execution, or device-state guard affects the wording exposed during discovery. Read-only searches found no existing issue for this sentence. ## Restoration check Read the six descriptions together and verify that none falsely says device mutation belongs only to push_adb_file. Preserve the descriptions of each tool's actual behavior and the mutatesDevice:true effects for all six. No device execution is necessary to verify this wording contract. ## Runtime or environment Source baseline 8b181716aca2cb467be499cba226abfb5ae19141. The contradiction is in the advertised source contracts and does not depend on a particular ADB binary or device. ## Triage assessment - Impact level: P3 - Assessment status: supported - Impact basis: One advertised description contradicts the accurate effects metadata and other tool descriptions. No changed runtime behavior or unauthorized device action was demonstrated. - Workaround status: available - Workaround basis: Readers can consult the correct per-tool effects and ADB guide table to identify all six mutating operations without changing code.
bsakaguchi 2026-10-15 18:29:35 +00:00
  • closed this issue
  • added the
    bug
    label
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#921
No description provided.