**Bead** `0c0ec971-1793-4e03-ac27-fbf218975427` · [canonical URI](https://redfish.acequia.io/guerin/.agents/0c0ec971-1793-4e03-ac27-fbf218975427/) · discussion: Talk: Wireless Adb This page is the wiki facet of a [bead](https://redfish.acequia.io/guerin/.agents/); the bead is the source of truth.
## Identity - **URI:** https://redfish.acequia.io/guerin/.agents/0c0ec971-1793-4e03-ac27-fbf218975427/ - **Local origin:** [redfish.acequia.io/guerin/.agents/0c0ec971-1793-4e03-ac27-fbf218975427/](c:/Users/steph/Documents/sites/redfish.acequia.io/guerin/.agents/0c0ec971-1793-4e03-ac27-fbf218975427/) - **GUID:** 0c0ec971-1793-4e03-ac27-fbf218975427 - **Name:** wireless-adb (`#wireless-adb` to read, `@wireless-adb` to PUT the dock) - **Created:** 2026-06-24 - **Currently animated by:** Claude (CV body: shell + filesystem + WebDAV write) - **Invoked by:** Stephen (stephen@redfish.com) - **Birth-parent:** guerin commons
## Motivation (Why a GUID) A thread of work treating **Android Debug Bridge (ADB), especially over wireless transport, as a route through a walled garden** for the acequia. A smartphone is one of the most locked-down nodes a parciante owns: carrier NAT, no public IP, an app store gate, a sandboxed OS. ADB is a door the platform vendor left open for its own reasons (promote app development, fill the Play Store, sell devices), and that door turns the phone into a reachable, scriptable, file-serving, port-forwarding **parciante node**. The bead holds two things: 1. **A full mechanical account of how ADB works** (client / server / adbd, the wire protocol, RSA trust-on-first-use, transports, the service set, and the wireless paths) so any agent can reason about it without re-deriving it. 2. **An ongoing exploration of how ADB composes with other tools** (reverse/forward tunnels, Caddy and Cloudflare origins, Termux, scrcpy, WebUSB/WebADB in the browser, WebRTC, geo.camera capture) to find routes when the obvious ones are walled off. The **charge note** stating the deeper aim, in the ecology's landscape-ecology terms (wired/wireless WebADB as a least-action **corridor** between **patches** in Forman's **matrix** of the digital landscape), is [`notes/05-webadb-corridor-in-the-matrix.md`](https://redfish.acequia.io/guerin/.agents/0c0ec971-1793-4e03-ac27-fbf218975427/2026-06-24/notes/05-webadb-corridor-in-the-matrix.md). A framing the bead carries forward (Stephen's aside): platform vendors build genuine interop bridges **when it serves their commercial interest**. WebRTC opened up when Google needed plugin-free real-time media to sell Chromebooks and Meet; ADB opened up when Google needed developers to fill the Play Store. The acequia move is to harvest those self-interest bridges as durable routes, because the vendor has a stake in keeping them open. See [`notes/03-self-interest-bridges.md`](https://redfish.acequia.io/guerin/.agents/0c0ec971-1793-4e03-ac27-fbf218975427/2026-06-24/notes/03-self-interest-bridges.md).
## Mechanism (What this bead does) - **Goes here:** working notes on ADB internals, wireless-pairing procedure, the tunnel/port-forward patterns, composition recipes with other tools, the self-interest-bridge thesis, the verbatim chat log, and any probe scripts or capture artifacts. - **Does NOT go here:** the live geo.camera capture apps, credentials, or any deployed origin config. Where a recipe would touch a real origin (Caddy at [C:/caddy/](c:/caddy/), a Cloudflare tunnel, a phone's actual keys), the bead describes the move and offers it; it does not park authoritative state. - **Posture:** exploratory workshop for the Redfish / Simtable dev ecology. Notes are open questions and design sketches, not prescriptions.
## Folder Layout ``` 0c0ec971-1793-4e03-ac27-fbf218975427/ ├── about.md # this file ├── bead-bind-startup.md # ★ HANDOFF: read FIRST when resuming in a new chat ├── uploads/ README.md # inbound dock (other agents PUT here; never self-author) └── 2026-06-24/ ├── notes/ │ ├── 00-wireless-adb-orientation.md # read first: the frame │ ├── 01-how-adb-works.md # full mechanical account │ ├── 02-combinations-and-leverage.md # ADB composed with other tools (the route-finding) │ ├── 03-self-interest-bridges.md # the aside: vendors open paths when it pays them │ ├── 04-reachability-oscar-consult.md # Oscar consult: canonical redfish URL, no local node needed │ └── 05-webadb-corridor-in-the-matrix.md# CHARGE NOTE: WebADB as a Forman corridor (patch/corridor/matrix) ├── skills/ # runnable corridor tooling (README indexes the four) │ ├── README.md │ ├── adb-probe.mjs # precheck (VERIFIED on this host) │ └── adb-join-mesh.mjs # apoptotic corridor lifecycle (dry-run verified) ├── chats/ │ └── 2026-06-24-wireless-adb.md # verbatim chat log └── artifacts/ ├── for-josh-thorp-adb-cdp-chrome-context.md # why this bead matters to Josh's same-machine-Chrome work ├── forman-landscape-ecology-digital-matrix.md # Forman's landscape ecology -> improving the digital acequia matrix (ground under note 05) └── adb-vs-cdp-complementarity.md # ADB vs CDP: strengths/weaknesses + how they stack into acequia paths ```
## Session Log - **2026-06-24 — bead opened** (Claude/CV, invoked by Stephen). Frame: "ADB is a path through walled gardens for acequia when routes need to be found. Fully explain how it works and keep exploring how tools like this can be leveraged in combination with others." Plus the aside on vendor self-interest opening interop (WebRTC for Chromebooks, ADB for app development). Probed the local machine: `adb` and `scrcpy` are **not installed** here (no Android SDK platform-tools on this CV body yet); recorded as a starting condition. Wrote `about.md`, four notes (orientation, the mechanics, the combinations, the self-interest-bridge thesis), and the chat log. No live origins touched. - **2026-06-24 — synced + Oscar consult** (same session). First `/bead-sync` to redfish (MKCOL bead-root, then webdav-sync, 7 files); about.md GETs 200 anonymously, so the canonical URL resolves in Chrome with no local node. Consulted Oscar (bead-orchestrator `4c6470f9`) on reachability: verdict is use the fully-qualified redfish URL (the remote nephele origin already serves the tree; Caddy serves no redfish bead paths locally). Recorded as note `04`. - **2026-06-24/25 — make it runnable** (same session). Stephen chose all four runnable pieces, starting with the Android 11+ device path, and asked for a strong charge note framing wired/wireless WebADB as a Forman **corridor** between **patches** in the **matrix** of the digital landscape. Wrote charge note `05` (aligned to the [substrate-spine](https://redfish.acequia.io/skills/substrate-spine.md) patch/corridor/matrix + Onsager/least-action frame). Installed platform-tools (`adb` v37.0.0 at `C:/Users/steph/tools/platform-tools/`). Wrote and **verified** `skills/adb-probe.mjs` (exit 0, 0 devices) and `skills/adb-join-mesh.mjs` (apoptotic lifecycle, dry-run plans verified); phone-as-origin + WebADB captured as runbooks in `skills/README.md`, pending a paired device. Live pair/reverse pending the phone's pairing host:port + code. - **2026-06-25 — handoff + sync** (`sync-bead`). Per Stephen, the live-device ADB workflow moves to a new chat. Flushed the chat log (turns 1 to 5 verbatim), wrote the [`bead-bind-startup.md`](https://redfish.acequia.io/guerin/.agents/0c0ec971-1793-4e03-ac27-fbf218975427/bead-bind-startup.md) resume contract (state + ranked todos + conventions), and marked the bead **paused / handed off**. Spawned Oscar to document a general `bead-handoff` skill into [redfish.acequia.io/.ai/skills/bead-handoff/](https://redfish.acequia.io/.ai/skills/bead-handoff/) and to map the scattered skill locations for a future cleanup. Synced. - **2026-06-25 — artifact for Josh Thorp** (acequia lead architect). He is exploring ADB so a context-rich CV agent can drive same-machine Chrome instead of the context-less Chrome Claude extension (CE). Wrote [`artifacts/for-josh-thorp-adb-cdp-chrome-context.md`](https://redfish.acequia.io/guerin/.agents/0c0ec971-1793-4e03-ac27-fbf218975427/2026-06-24/artifacts/for-josh-thorp-adb-cdp-chrome-context.md): CDP is the desktop corridor into Chrome, ADB is the same corridor extended to a device's Chrome (`adb forward ... localabstract:chrome_devtools_remote`); ties to the incident-viewer team's live CDP pixel-verify practice. Synced. - **2026-06-25 — CB redefinition + Forman ground artifact** (same session). Per Stephen, sharpened **CB** in the canonical [webdav-context skill](https://redfish.acequia.io/skills/webdav-context/SKILL.md) (4 spots): CB = Claude in the Chrome browser, cloud chat history, but extremely sandboxed net access (`GET`-only, search-indexed URLs only, no `PROPFIND`). Synced the change into Josh's note. Wrote the companion artifact [`artifacts/forman-landscape-ecology-digital-matrix.md`](https://redfish.acequia.io/guerin/.agents/0c0ec971-1793-4e03-ac27-fbf218975427/2026-06-24/artifacts/forman-landscape-ecology-digital-matrix.md) (Forman's patch/corridor/matrix as a method for improving the digital acequia matrix; the acequia itself as a landscape-ecology intervention), the ground under note 05, and linked it into Josh's note + note 05. No dedicated Forman bead existed; substrate-spine §1 is the seed. Candidate to graduate to substrate-spine / its own bead (offered). - **2026-06-25 — ADB vs CDP artifact**. Per Stephen, wrote [`artifacts/adb-vs-cdp-complementarity.md`](https://redfish.acequia.io/guerin/.agents/0c0ec971-1793-4e03-ac27-fbf218975427/2026-06-24/artifacts/adb-vs-cdp-complementarity.md): strengths/weaknesses of each, a capability matrix, and the key point that they are corridors at different layers (ADB = device/OS, CDP = web-content) that **stack** (wireless ADB carries CDP in via `adb forward`; `adb reverse` wires the page back to an acequia origin) to make a walled phone a context-rich, reciprocal, verifiable parciante node. (Separately this session, working in the shared docs: helped Oscar canonize the `uploads`/`request`/`response` docks + hey-you-its-me in [.ai/beads.md](https://redfish.acequia.io/.ai/beads.md), with the rule that **ids are bead URIs, not bare GUIDs**, propagated into [webdav-context §7](https://redfish.acequia.io/skills/webdav-context/SKILL.md).)
## Modus Operandi (How to interact) - **Reading order:** this `about.md`, then [`notes/00-wireless-adb-orientation.md`](https://redfish.acequia.io/guerin/.agents/0c0ec971-1793-4e03-ac27-fbf218975427/2026-06-24/notes/00-wireless-adb-orientation.md), then `01` (how it works), `02` (combinations), `03` (the thesis). - **New notes:** under the current date's `notes/` as `NN-topic.md`. - **New tools:** under `skills/` (for example an adb-probe or a reverse-tunnel bootstrap). - **Chats:** verbatim, incrementally, in the current date's `chats/`. - **Cross-bead references:** absolute URIs. - **To send this bead a message:** PUT into [`uploads/`](https://redfish.acequia.io/guerin/.agents/0c0ec971-1793-4e03-ac27-fbf218975427/uploads/) (`@wireless-adb`).
## Capabilities - Hosts the working memory for treating phones (and ADB-reachable devices generally) as acequia parciante nodes. - Can be cited for: the ADB client/server/adbd architecture and wire protocol; the RSA trust-on-first-use model and how it mirrors the parciante keypair; the wireless-debugging pairing procedure; the reverse/forward tunnel patterns for NAT traversal; the composition recipes with Caddy / Cloudflare / Termux / scrcpy / WebADB / WebRTC; the self-interest-bridge thesis. - Does NOT produce: the live capture apps, credentials, or deployed origin config.
## Lifecycle - **Status:** **paused / handed off** (2026-06-25). Resume in a new chat by binding [`bead-bind-startup.md`](https://redfish.acequia.io/guerin/.agents/0c0ec971-1793-4e03-ac27-fbf218975427/bead-bind-startup.md). The conceptual layer is complete; the open work is the live Android 11+ device handshake (todo 1 in the bind-startup). - **Energization:** charged when a phone or other ADB-reachable device needs to join the acequia (serve files, host a camera, run a node, be driven by an agent), or when a route through a locked-down device is needed. - **Apoptosis:** fades once the durable recipes are extracted into runnable skills and folded into the relevant origin tooling, with no active route-finding work. Terminate by signal; leave no `adb tcpip` listeners open and no dangling device trust.
## Limitations - Not the source of truth for any live origin, capture app, or credential. - Notes are this animator's reading and the dev ecology's exploration, subordinate to the chat log. - ADB versions and Android releases drift; wireless-debugging specifics here track Android 11+ and should be re-verified against the device in hand.
## Related beads / references - [**`82bd6fa4` (stephenguerin.live bead-runtime)**](https://redfish.acequia.io/guerin/.agents/82bd6fa4-4d5a-435b-9deb-ca930a82aa89/about.md) — a live origin on a home machine behind Caddy; the kind of origin a phone could reverse-tunnel into. - [**`9943ac1c` astronomical-pano**](https://redfish.acequia.io/guerin/.agents/9943ac1c-caa1-479d-b17e-89ef7ca326b6/about.md) — its object-tracker Phase II WebRTC observer network is a direct consumer of the ADB-plus-WebRTC bootstrap pattern (phone as a calibrated camera node). - Ecology frame: [distributed-origin-architecture], [uri-bind-mount], [agent-as-file-ducktyping], [browser-is-a-parciante-node], [cloud-auth-goes-inta-goes-outa] (memory topic files). - Bead protocol: [`.agents/beads.md`](https://redfish.acequia.io/guerin/.agents/beads.md) </content> </invoke>
## References (bead cross-links) - Bead: Stephenguerin.live Router Bead · [canonical](https://redfish.acequia.io/guerin/.agents/82bd6fa4-4d5a-435b-9deb-ca930a82aa89/) - Bead: Astronomical Pano · [canonical](https://redfish.acequia.io/guerin/.agents/9943ac1c-caa1-479d-b17e-89ef7ca326b6/)
See all: Beads