Skip to content

refactor(android): drop the dead scope-level adb server port lane (review follow-ups) - #3390

Merged
thymikee merged 3 commits into
mainfrom
chore/managed-local-review-followups
Oct 11, 2026
Merged

thymikee merged 3 commits into
mainfrom
chore/managed-local-review-followups

Conversation

@thymikee

@thymikee thymikee commented Oct 10, 2026 •

Copy link
Copy Markdown
Member

Summary

Review follow-ups from #3370 and #3372 that missed the stack merge:

  • Drop the scope-level Android adb server-port lane. refactor: remove the unwired managed-local device allocation (follow Simlock's lease-and-point design) #3372 deleted its only producer (managed-device-reachability.ts). withAndroidAdbProvider's scoped host transport and the construction-time serverPort on createLocalAndroidAdbProvider, createDeviceAdbExecutor, the serial executor and the spawner are removed, with their scope-only tests. A port now reaches adb only through the per-call AndroidAdbExecutorOptions.serverPort, which keeps its coverage. androidAdbSerialTarget (an internal mechanics facet) loses its port parameter, and port reverse, which has no per-call port, can no longer target a private server; nothing produced that.
  • ADR 0021 §3: the agent-device/android-adb functions run the caller's own executor, so the per-call serverPort takes effect only when that executor honors it.
  • Fallow: the per-symbol scripts/ ignoreExports entries are dropped, since the production config's ignoreFindings: ["scripts/**"] already covers them (chore(deps): upgrade fallow to 3.32 #3370 review). The base check:fallow doesn't need them either.
  • Rewraps the device-claim-rule.ts doc comment.

9 files, +131/−692.

Validation

Tested e37d01ca7 on main c2c09d476: pnpm check:affected --run passed (all runnable checks). Android: 115 files / 1,017 tests. check:fallow and check:production-exports pass on fallow 3.32. Dead-path removal, so no live device run applies.

🤖 Generated with Claude Code

View guided diff Turn on auto-fix

thymikee and others added 3 commits October 10, 2026 19:20
The deleted managed-device reachability was the only producer of a
construction-time adb server port, so withAndroidAdbProvider's scoped host
transport, the scope serverPort option on createLocalAndroidAdbProvider /
createDeviceAdbExecutor and the serial spawner, and the scope checks that
guarded them have no caller. A port now reaches adb only through the per-call
AndroidAdbExecutorOptions.serverPort, which keeps its coverage.

Also rewraps the device-claim rule comment.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… honors it

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…longer reads

The production-exports config hides every scripts/ finding through
ignoreFindings, so the per-symbol entries for resolveVitestMaxWorkers,
readTestScope, ownedTestFiles and the help-conformance *_SAMPLE constants were
redundant. The base check:fallow run does not need them either.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 9 files

View guided diff | Turn on auto-fix | Re-trigger cubic

@github-actions

Copy link
Copy Markdown
Contributor

Size Report

Metric Base Current Diff
Installed (including dependencies) 5.15 MB 5.15 MB -1.2 kB
Package (unpacked) 5.15 MB 5.15 MB -1.2 kB
Package (download) 1.55 MB 1.55 MB -379 B

Startup median (7 runs, lower is better):

Scenario Base Current Diff
CLI --version 21.7 ms 21.7 ms +0.1 ms
CLI --help 64.2 ms 65.6 ms +1.3 ms

@thymikee

Copy link
Copy Markdown
Member Author

This PR is ready. I reviewed e37d01c and found no problems in the code. All 19 checks pass and there are no conflicts.

Not blocking: the rewritten doc line near https://github.com/callstack/agent-device/blob/e37d01c/packages/platform-android/src/adb-transport.ts#L532 runs past the wrap width the rest of that comment block uses, so you can rewrap it or leave it.

Two limits on my review. I did not run check:fallow locally to confirm the base .fallowrc.json no longer needs the removed scripts/ entries, so I relied on the green checks for that. I also did not check whether parseAndroidAdbArgv could throw on argv after the -s pair in the old no-port override path, which the new path no longer parses. Production callers build argv from deviceShellArgv, so I judged that negligible.

Nothing else stands between this PR and merge.

@thymikee thymikee added the ready-for-human Valid work that needs human implementation, judgment, or maintainer merge label Oct 10, 2026
@thymikee
thymikee merged commit 9ddae61 into main Oct 11, 2026
19 checks passed
@thymikee
thymikee deleted the chore/managed-local-review-followups branch October 11, 2026 06:35
@github-actions

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-10-11 06:35 UTC

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-for-human Valid work that needs human implementation, judgment, or maintainer merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant