refactor(kernel): read the Action Button leaf from isHandheldAppleDevice
Summary
hasAppleActionButton in @agent-device/kernel/device was isHandheldAppleDevice without its Apple-family gate. Without the gate it also answered true for a non-Apple record with no appleOs. This PR deletes it, and its three readers now use isHandheldAppleDevice: the action-button and volume facts in the Apple navigation runtime, and the provider fixture that mirrors them.
Behavior is unchanged. The runtime callers only see iPhone, iPad, tvOS, visionOS, watchOS and macOS records, and both functions give the same answer for each of them, including legacy records without appleOs. kernel/device is a workspace package, not a root export, and nothing in the e2e library imports it. 3 files.
Validation
Head b6952a173b on 21f3f50a90.
- Action-button and volume facts (
platform-apple/src/runtime.test.ts), provider scenarios, Apple OS resolution, interactor provider, andsystemcommand tests: 71 files, 342 tests passed. - Mutant: removing the leaf gate from both facts fails 9 tests in
runtime.test.ts(tvOS/macOS/visionOS/watchOS action-button and volume). The file was restored afterwards. pnpm check:affected --run --head b6952a173b: format, lint, typecheck, layering, fallow, build, vitest-related and daemon-wire-compat passed;exactCommit=true.- Self-review: no independent reviewer was used for this small diff. I re-read the full diff cold.
git diff --stat origin/main...HEAD: 3 files changed, 15 insertions(+), 28 deletions(-).
š¤ Generated with Claude Code