docs: full restricted-session policy for run-interactive-session adb-shell (KOB-54475, 1.10.1) - #111
Merged
Conversation
TranKienCuong
force-pushed
the
KOB-54475
branch
from
August 13, 2026 02:16
b3ecee6 to
7b6c781
Compare
…tive-session (KOB-54475) Rebased onto main after the pinned-CLI-download change (KOB-54550): the adb-shell guidance now opens with the full restricted-session policy (deny-by-default whitelist by category, forbidden-character set incl. quotes, file-path allowlist, single permitted settings key, the three rejection strings with the exit-0 gotcha, --help as the always-current authority), scopes the quoted on-device form to dedicated devices, teaches local composition as the restricted idiom, and annotates every command-table row with its restricted behavior. device forward is documented as foreground and port-holding; response-shapes.md and AGENTS.md carry the same facts. 1.10.0's lighter restricted-shell notes are absorbed; its iOS additions (device log, Safari URL recipe, webview visibility) are preserved. Dropped from the original branch: the bundled-binary refresh and the 1.9.1 bump - superseded by the 1.10.0 download model, whose pinned build already carries the file-transfer status fix. Version 1.10.1. Fixes #108. Covers the docs half of #107 and the table half of #109. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Signed-off-by: cuongktran <trankiencuong10@gmail.com>
TranKienCuong
force-pushed
the
KOB-54475
branch
from
August 13, 2026 02:33
7b6c781 to
6b84498
Compare
duchnguyen
approved these changes
Aug 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The
run-interactive-sessionadb-shell guidance historically taught quoting the remote command so metacharacters run on-device:On public cloud and trial devices the shell is restricted, and that form is rejected outright — the pipe and the quotes themselves are forbidden characters — with the rejection arriving on stdout at exit 0. An agent following the docs composes commands that can never work there, and can't tell the refusal from a result. 1.10.0 added basic restricted-shell notes (bare-command + local-filter); this PR replaces them with the complete policy.
Fixes #108. Covers the documentation half of #107 and the command-table half of #109 (the CLI
--helpand website halves are tracked separately).Changes
settingskey, the four rejection message shapes with the exit-0 gotcha (incl. the settings-specific message — verified live on restricted test-env devices 2026-08-13 by the KOB-54475 contract spec), and a pointer tokobiton device adb-shell --helpas the always-current authority.settings systemrows marked rejected with the allowedsecure enabled_accessibility_servicesrow added, path-allowlist notes oncat/ls, theinput textsingle-token limit,wm size→wd get window/rect, a newscreencaprow, and de-quotedlogcat. 1.10.0's rows (Open-a-URL Android/iOS, iOSdevice logpointer) are preserved and annotated.device forwarddocumented as a foreground command that holds the local port until killed (here and inreferences/response-shapes.md).references/response-shapes.md: the three rejection strings added to the existing exit-code gotcha so agents string-match refusals before trusting empty output.AGENTS.mdcarries the same facts for non-Claude hosts;.codex/mirror regenerated viapnpm run build:codex.Version 1.10.1 (docs-only release).
pnpm run validateand all 193 tests green.Rebase note
Rebased onto main after #114 (pinned CLI download). Two parts of the original branch were dropped as superseded:
Release coordination
Hold until the deviceConnect sanitizer expansion reaches prod.Cleared 2026-08-13: all four expanded whitelist entries (cat /proc/version,screencap,input, thesettings secure enabled_accessibility_serviceskey) verified working on a prod restricted public device, with the quoted-pipe rejection and the settings-specific rejection message matching these docs verbatim. Prod deviceConnect carries the expanded policy; the docs are releasable as-is.🤖 Generated with Claude Code