app
Codex
Public Made by Adomby adom
Codex in Adom Hydrogen: ecosystem setup, dock dashboard and live engineering demos.
← Commit history
Document Codex Bridge with a main README section and seven verified desktop screenshots
11 files changed
+500−4
README.md+25−4bridge/README.md+427bridge/screenshots/01-desktop-home.pngbridge/screenshots/02-native-thread.pngbridge/screenshots/09-signed-in-onboarding.pngbridge/screenshots/10-optional-tasks.pngbridge/screenshots/11-optional-imports.pngbridge/screenshots/12-before-uac.pngbridge/screenshots/13-desktop-voice-offer.pngbridge/screenshots/README.md+44docs/DESKTOP-BRIDGE.md+4README.md+25−4@@ -6,9 +6,29 @@ Install the Adom integration with `adom-wiki pkg install adom/codex`, then open This package configures Codex for Adom. It does not install or replace the OpenAI Codex executable or your credentials. -The repository also contains a Windows x64 Rust desktop bridge in `bridge/`.-Its separately built ZIP runs inside AB; installing this skills/dashboard package-does not install that runtime or the desktop app. See the desktop bridge guide below.+## Codex Bridge++**Control Codex Desktop on a named Windows machine through Adom Bridge.**+The project's `codex-bridge.exe` is compiled in Rust and runs under AB's bridge+lifecycle, without a Node or Python runtime for the bridge. The live test+installation is on **arav-rog**, so Codex Desktop does not need to be installed+on AdomLapper.++++- Install, detect, launch, and uninstall the official Windows desktop package.+- Reuse an authorized native Codex sign-in cache without overwriting existing credentials.+- Discover the actual desktop's tools to create, read, and continue conversations.+- Find, inspect, install, and remove plugins through native Codex APIs.+- Discover project, worktree, panel, and scheduling tools, with native approvals intact.+- Inspect jobs, events, and requests; warn the user with an AB toast **before** a setup step triggers UAC.++**[Read the illustrated Codex Bridge guide](https://wiki.adom.inc/adom/codex/files/bridge/README.md)**+for screenshots, examples, build/deployment instructions, and tested limitations.+The bridge ZIP, OpenAI desktop app, and Adom skills/dashboard package are separate+installations. `adom-wiki pkg install adom/codex` does not deploy the bridge or+install Codex Desktop. The tested bridge is development-pinned; a public runtime+release/update manifest has not been published. ## Guides @@ -17,7 +37,8 @@ does not install that runtime or the desktop app. See the desktop bridge guide b - [Astra: live KiCad routing and comparison log](docs/ASTRA-KICAD.md) - [BMS: 3D X-ray comparison, current-density maps and all 236 nets](https://wiki.adom.inc/adom/codex/files/docs/BMS-XRAY-REVIEW.md) - [Electrical-aware routing and copper-ablation worked example](docs/ELECTRICAL-ROUTING.md)-- [Codex Desktop Rust bridge: installation, sign-in, plugins and native tools](docs/DESKTOP-BRIDGE.md)+- [Codex Bridge illustrated guide](https://wiki.adom.inc/adom/codex/files/bridge/README.md)+- [Codex Bridge technical setup and protocol notes](docs/DESKTOP-BRIDGE.md) ## Astra drives live KiCad
bridge/README.mdadded+427@@ -0,0 +1,427 @@+# Codex Bridge++**Codex Desktop, reachable through Adom Bridge. A compiled Rust binary owned by adom/codex.**++Codex Bridge lets an Adom assistant manage a Codex Desktop installation on a+selected Windows host, talk to its native tools, and use its bundled backend for+accounts, plugins, skills, and conversations. Your assistant can run elsewhere:+the tested desktop lives on **arav-rog**, not on AdomLapper.++++*The real Windows application after first-run setup. The tested Store package is+named ChatGPT and includes this Codex workspace. This is not the Hydrogen dock+dashboard or a mockup.*++The seven screenshots in this guide are real, unretouched window captures from+the arav-rog test on 2026-09-08. The Home image was refreshed for this guide;+onboarding and conversation images preserve the earlier verified run. We did not+repeat UAC, install plugins, create schedules, or import other apps just to stage+pictures. The gallery illustrates observed UI, not every API operation below.+See [capture provenance and checksums](https://wiki.adom.inc/adom/codex/files/bridge/screenshots/README.md)+for dates and the distinction between the original setup run and bridge 0.1.1's+later toast guidance.++[Back to adom/codex](https://wiki.adom.inc/adom/codex) ·+[Technical setup](https://wiki.adom.inc/adom/codex/files/docs/DESKTOP-BRIDGE.md) ·+[Command catalog](https://wiki.adom.inc/adom/codex/files/bridge/verbs.json) ·+[Setup skill](https://wiki.adom.inc/adom/codex/files/skills/codex-desktop-bridge/SKILL.md)++## At a glance++| Workflow | What the bridge does | Verification boundary |+| --- | --- | --- |+| Install and launch | Finds the official Windows package, installs with WinGet, opens the native app | Install, uninstall, reinstall and visible first-run completion tested |+| Sign in | Imports a user-authorized native auth cache without overwriting credentials; offers native login as fallback | Cache import and signed-in account/app verified; not universal VS Code SSO |+| Desktop conversations | Discovers native schemas and calls the running app over a PID-verified pipe | Desktop-created test conversation and persisted reply verified |+| Plugins | Searches catalogs, inspects details, installs, reads back and removes plugins | LaTeX install/read-back/remove/read-back tested; third-party OAuth not tested |+| Projects and worktrees | Exposes the desktop's live project, fork and handoff tools | Schemas discovered; worktree mutations not exercised in the baseline |+| Scheduled tasks | Exposes the desktop's automation tools | Schemas discovered; no recurring task created for this guide |+| Panels and organization | Exposes file/review/terminal panels and thread/sidebar tools | Availability follows the running app's catalog; not every action tested |+| Progress and approvals | Tracks bridge jobs, backend events and pending native requests | Native approvals remain user decisions; bridge responses do not grant consent |+| Remove safely | Removes desktop or bridge separately while retaining Codex home | Running-app refusal and retained account/history after reinstall tested |++## 1. Three installations, not one++| Component | Runs where | Installed by |+| --- | --- | --- |+| `adom/codex` integration | Your Adom workspace | `adom-wiki pkg install adom/codex` |+| `codex-bridge.exe` and `bridge.json` | AB on the selected Windows desktop | A separately built bridge ZIP and AB's runtime lifecycle |+| OpenAI Codex Desktop | The same Windows desktop | Official Microsoft Store package, managed through `codex_desktop_install` |++The Rust bridge does **not** need Node or Python on the target. It uses Windows+PowerShell/WinGet for package operations and the desktop's activated native+`codex.exe` for its separate app-server connection. Other Adom components can+have their own runtime requirements.++### Build the bridge++From a current source checkout of adom/codex:++```sh+bash bridge/build.sh+```++Linux cross-building requires Rust's `x86_64-pc-windows-gnu` target, MinGW-w64,+`zip`, and `sha256sum`. The script runs tests and builds a Windows x64 release.+It produces `bridge/dist/codex-bridge-windows-x64.zip` and `SHA256SUMS`.+The ZIP root contains `bridge.json` and `codex-bridge.exe`.++**Distribution status:** the tested runtime is development-pinned on arav-rog.+There is no published public runtime release/update manifest yet. Do not assume+the wiki package installer deploys this ZIP, and do not invent a download URL.+The [technical guide](https://wiki.adom.inc/adom/codex/files/docs/DESKTOP-BRIDGE.md)+describes the AB SDK development-cache deployment and safe update sequence.+Preserve existing development pins and do not replace a bridge owned by another task.++### Select the desktop explicitly++First discover the reachable AB targets and choose the relay that reaches your+host. The examples below use the dedicated test machine. Replace it deliberately+for another installation; your container hostname is not target discovery.++```sh+ab --target arav-rog --ai-thread codex-bridge-guide codex_status '{}'+ab --target arav-rog --ai-thread codex-bridge-guide codex_readiness '{}'+ab --target arav-rog --ai-thread codex-bridge-guide codex_describe '{}'+```++`adom-bridge` can be used instead of `ab`. Use the **same caller identity** for an+operation and its job polls. `codex_status` reports package/version, windows,+auth-cache presence, backend ownership and connection mode. A present auth cache+is not proof of a valid account; a running process is not proof of completed setup.++## 2. Install, sign in, and finish Windows setup++```sh+ab --target arav-rog --ai-thread codex-bridge-guide codex_desktop_install '{}'+ab --target arav-rog --ai-thread codex-bridge-guide codex_progress '{"jobId":"<returned-job-id>"}'+ab --target arav-rog --ai-thread codex-bridge-guide codex_desktop_open '{}'+```++The tested official Store ID is `9PLM9XGG6VKS`, package `OpenAI.Codex`.+Its displayed Store/app name was **ChatGPT** in this test. If the installer asks+for package agreements, obtain the user's actual acceptance before retrying with+`{"acceptAgreements":true}`. Existing installations are detected and retained.++### Reuse an existing Codex sign-in++++*Historical setup capture: the native app recognized the account and asked to+confirm the existing role. Sign-in worked, but OS setup was not complete yet.*++Being signed in to the VS Code extension is helpful only when there is a+transferable native Codex auth cache. This is not password scraping or a promise+that every extension login can be silently reused across machines.++1. With the user's authorization, transfer their native `$CODEX_HOME/auth.json`+ (usually `~/.codex/auth.json`) to private staging on the **selected host** using AB.+2. Keep the bridge backend disconnected. Import with `codex_auth_import` and the+ absolute host staging path. Existing destination credentials are never overwritten.+3. Delete the staging copy promptly. Do not print tokens or put credentials in+ chat, command arguments, source files, screenshots, or wiki uploads.+4. Connect and verify `codex_account_read`, then verify the visible signed-in app.+ An already-running desktop may need a normal quit/relaunch; preserve active work.++The importer sets an owner-only Windows ACL. If no transferable cache exists,+start the native `chatgpt` or `chatgptDeviceCode` login via `codex_login_start`+after connecting. Let the user complete authentication. Refresh/revocation and+connected-service authentication can still require the user's involvement.++### Give advance notice before UAC++++*Historical capture of the app's pre-UAC page. The pictured dialog is the app's+own instructional illustration, not a capture of Windows' secure desktop. This+is the point where the AI must send the advance AB toast before continuing.*++Before **Finish setup**, or another action expected to request elevation, send+the `_beforeUac` payload returned by `codex_describe`, status, readiness, install+or open as an AB `notify_user` call on the same target and caller.++```json+{+ "title": "Codex setup needs your approval",+ "body": "A Windows administrator (UAC) prompt is coming for Codex setup. Please approve the native Windows prompt for OpenAI's Codex/ChatGPT app to continue. This notification cannot approve it.",+ "level": "warning",+ "durationLong": true,+ "focus": { "app": "ChatGPT" }+}+```++Prefer the currently discovered app HWND for `focus` when one is available.+Send the toast **before elevation**, while the normal desktop is visible, and+also tell the user in chat because Windows may suppress notification banners.+Wait for the native Windows decision and then inspect the resulting app.++This is conditional AI guidance, not an unconditional automatic toast on every+status check. A toast acknowledgment does not approve UAC. Do not send a false+upcoming-UAC warning on an already-configured host or bypass the secure desktop.+The baseline user approved the real setup prompt; this guide does not re-trigger it.++## 3. Talk to the actual desktop++++*The baseline created "Adom Rust bridge test" through the desktop's native tools.+Its `DESKTOP_BRIDGE_OK` reply was read back and survived uninstall/reinstall.*++There are two different connections. Choose the one that matches the result you want.++```text+Adom assistant -> named AB target -> codex-bridge.exe+ |+ +-- Desktop-native pipe -> running Codex Desktop+ | native threads, projects, panels, automations+ |+ +-- app-server --stdio -> separate bundled backend+ accounts, plugins, skills, MCP, backend turns+```++The native route verifies the named pipe's server PID against the installed+package's visible desktop process. It uses length-prefixed JSON-RPC, implemented+in Rust. It is **experimental app internals, not a documented stable public API**.+Rediscover schemas after desktop updates or restarts.++```sh+ab --target arav-rog --ai-thread codex-bridge-guide codex_desktop_tools '{}'+```++If multiple verified endpoints exist, the bridge lists them and requires+`desktopPipe`. Do not guess or persist a pipe name across restarts. PID verification+does not guarantee every endpoint serves the same tool methods; a stale or+non-serving endpoint can still report a native handler error.++The app exposes tools such as `list_threads`, `read_thread`, `create_thread`,+`send_message_to_thread`, and `wait_threads`. Discover their current schemas.+An invocation has this shape:++```json+{+ "tool": "read_thread",+ "threadId": "<native-caller-thread-id>",+ "desktopPipe": "<verified-endpoint-if-required>",+ "arguments": {+ "threadId": "<native-thread-to-read>",+ "turnLimit": 1,+ "includeOutputs": false+ }+}+```++Pass that object to `codex_desktop_tool_call` and poll its job. The outer+`threadId` is native caller context, not the human-readable AB `--ai-thread` name.+Use real IDs from discovery or an authorized seed; never fabricate them.+Tool calls may have additional native instructions and approval requirements.++For a requested conversation, create it, retain the returned thread/host IDs,+wait for completion or attention, and read the result back. To show it, use the+native navigation tool and verify an actual window capture. An acknowledgment+such as `navigated:true` is not sufficient: during guide preparation an endpoint+acknowledged navigation while the captured page stayed on Home.++## 4. Find and manage plugins++The Home screenshot's **Plugins** entry is the native app's catalog entry point.+The bridge also exposes catalog management directly, without needing to click+through that page. Catalog contents and availability can vary by account and+app version; seeing an entry does not mean it is installed.++Plugin operations use the separate bridge-owned native app-server. Connect once,+poll the returned job, and verify its result before issuing backend commands:++```sh+ab --target arav-rog --ai-thread codex-bridge-guide codex_connect '{"mode":"standalone"}'+ab --target arav-rog --ai-thread codex-bridge-guide codex_progress '{"jobId":"<connect-job-id>"}'+ab --target arav-rog --ai-thread codex-bridge-guide codex_plugin_list '{"query":"latex","limit":10}'+```++Read details using the exact marketplace returned by discovery:++```json+{"pluginName":"latex","marketplacePath":"<discovered-local-marketplace-path>"}+```++Send this to `codex_plugin_read`. For a remote marketplace use+`remoteMarketplaceName` instead of `marketplacePath`. Inspect availability,+installation policy, terms, interstitials, and connected apps before installation.++After authorization, use the same identifiers with `codex_plugin_install`, poll+the job, then read the plugin again. Verify+`result.plugin.summary.installed`, rather than treating queue acceptance as an+installation. `appsNeedingAuth` means the user still needs to authenticate to a+connected service. Do not silently approve OAuth or claim it is ready early.++For removal, discover the exact installed `pluginId` and pass it to+`codex_plugin_uninstall`. Poll and read back the absent state. The baseline used+`latex@openai-bundled`, verified installation/enabled state, and removed that+temporary test plugin. No paid service or third-party OAuth workflow was exercised.++## 5. Projects, worktrees, and review++Project selection belongs to the remote desktop's environment. The Home view+shows **Choose project** and an empty Projects sidebar on this test installation.+A container path on your assistant's machine is not automatically a directory on+arav-rog.++Discover `list_projects` before selecting a project. Native thread creation can+target a saved project or projectless work. Worktree and handoff tools can affect+real checkouts, branches and active tasks, so follow the live schemas and user+intent. Do not invent a project ID, branch name, or destination host.++The baseline discovered `fork_thread` and `handoff_thread` but did not exercise+checkout changes. Treat this as exposed capability, not a tested cross-machine+handoff promise. A handoff may interrupt its source task; inspect ownership and+current activity first.++The app also has a **Pull requests** entry. Its presence is not evidence that the+bridge created, reviewed, or merged a GitHub pull request.++`open_in_codex` can expose native file, terminal, browser and review panels when+available in the app's catalog. Opening a panel is a UI action; it does not itself+inspect the content, run a command, or prove a code review was completed.++### Native imports are a separate decision++++*Historical setup capture: the desktop offered to import work from another app.+We skipped it. The visible default switches do not mean import or sync was+authorized or executed.*++The bridge's auth-cache import is not this cross-app project/history import.+Keep credentials reuse, project selection, and importing another app's data+separate. Do not accept defaults that broaden data access as an incidental setup step.++## 6. Scheduled work and desktop-only surfaces++++*Historical onboarding suggestions, not completed tasks. We selected Skip rather+than running a spreadsheet task, sending a message, or scheduling a calendar+event. A calendar suggestion here is not proof of a Codex automation run.*++The discovered `automation_update` tool supports viewing, creating, updating and+deleting automations. Its native instructions distinguish ongoing thread+follow-ups from standalone scheduled project work. Inspect existing automations,+preserve unrelated fields and notification preferences, and ask before creating+recurring activity that the user has not requested. The bridge does not add an+independent cron scheduler or guarantee wake-from-sleep execution.++++*Historical post-setup Home view. Start Voice is the native app's optional offer;+no voice session was started. The bridge does not enable the microphone merely+because voice tools appear in the discovered catalog.*++The native catalog also exposes thread organization, archive/restore, usage+inspection, and other app-specific actions. Availability and policy follow the+installed app. Voice-only tools are for an active voice session, not ordinary text+automation. Sharing, consuming usage-reset credits, and changing recurring jobs+need the user's intent; catalog discovery is not permission to invoke everything.++## 7. Models, skills, MCP, and the separate backend++The screenshots show the native composer with its model/effort selector and+**Ask for approval** control. Model availability is account/build dependent;+these captures are not a permanent model list or a subscription entitlement.++Once `codex_connect` completes, use `codex_models`, `codex_skills_list`,+`codex_mcp_status`, and `codex_config_read` to inspect the bundled backend's+effective environment. `codex_account_read` verifies sign-in. These commands are+inspection APIs; a config read is not a general-purpose settings editor.++On Windows, `codex_connect` launches the activated desktop-bundled+`codex.exe app-server --stdio` as a **separate bridge-owned process** sharing+Codex home. It does not attach to desktop-owned active sessions. `mode:desktop`+fails explicitly on Windows rather than silently substituting a backend.++Backend conversations use `codex_thread_start`, `codex_turn_start`,+`codex_thread_read`, `codex_thread_turns`, and `codex_thread_items`. Steering,+interrupting, forking, archiving and releasing subscriptions are also available.+Only operate on authorized work. Never resume an active desktop-owned thread in+this separate backend. The backend test reply was `CODEX_BRIDGE_OK`; the actual+desktop test reply was separately verified as `DESKTOP_BRIDGE_OK`.++## 8. Follow progress and preserve approvals++Long-running bridge calls return a `jobId`. Poll `codex_progress` until+`stillRunning:false`, then inspect **`result.success`** and any nested native+`result.success` or error. Top-level success can mean only that the poll worked.++```sh+ab --target arav-rog --ai-thread codex-bridge-guide codex_progress '{"jobId":"<job-id>"}'+ab --target arav-rog --ai-thread codex-bridge-guide codex_events '{"sinceSeq":0}'+ab --target arav-rog --ai-thread codex-bridge-guide codex_requests '{}'+```++Omit `jobId` to list the current caller's jobs. Job history is bounded and retained+for one hour in the bridge process; it does not survive a bridge restart.+After a timeout, inspect the existing job and native state before retrying a+mutation. Event streams use sequence cursors; compare `oldestSeq` to detect gaps.++Pending native approval/user-input requests are returned by `codex_requests`.+Use `codex_request_reply` with the native response shape only after the appropriate+user decision. No automatic execution approval, OAuth approval or UAC bypass is+part of this bridge. Disconnect refuses active turns and pending requests rather+than abandoning them silently.++## 9. Uninstall without deleting your work++Desktop removal and bridge removal are separate operations:++| Request | Operation | What remains |+| --- | --- | --- |+| Remove Codex Desktop | `codex_desktop_uninstall {"confirm":true}` after disconnecting and normally quitting the app | Codex home, credentials, plugins, saved threads and projects |+| Remove the AB bridge | AB `bridge_uninstall {"name":"codex"}` invokes its lifecycle hook | OpenAI desktop installation and user data |+| Delete account data or projects | Not part of either uninstall | Requires a separate explicit decision |++Quit the desktop normally, including tray/background package processes, and+preserve any active work first. The bridge refuses desktop removal while package+processes or its own backend are running. Do not kill unrelated Codex processes+to force an uninstall. The live baseline verified refusal while running, then+uninstall/reinstall on the idle test installation with account/history retained.++## Troubleshooting++| Symptom | Next check |+| --- | --- |+| Wrong machine or missing bridge | Rediscover AB targets, select the correct relay, inspect `bridge_list`; do not default to the local laptop |+| Multiple desktop pipes | Select a verified endpoint from fresh discovery; inspect native errors; rediscover after restart |+| Navigation says success but nothing changes | Capture the current window and inspect its actual state; acknowledgment alone is insufficient |+| `connected:false` while desktop is open | This describes the separate backend connection, not whether the desktop exists |+| Auth cache exists but app needs login | Verify account validity; finish native login/setup; do not overwrite an existing cache |+| Store agreements or Windows setup blocks | Get the user's real decision; send the advance UAC toast before the elevation step |+| Plugin installed but unavailable | Read details and `appsNeedingAuth`; connected-service authentication may remain |+| A job or event disappeared | Check process restart, retention, caller identity and cursor gaps before repeating work |+| Removal is refused | Inspect active turns, pending requests, tray processes and task ownership; quit normally |++## Verified baseline and source map++Baseline: **2026-09-08**, arav-rog, AB **2.1.72**, bridge **0.1.1**,+OpenAI.Codex **26.901.6511.0**, bundled native CLI **0.153.4**.+Fourteen tests passed, including unit/mock and HTTP integration coverage;+Windows-target Clippy and the Windows x64 release build passed. The screenshot+tour illustrates native UI; the workflow table above distinguishes it from+end-to-end mutation tests. No Codex Desktop installation was made on AdomLapper.++| File | Responsibility |+| --- | --- |+| `src/main.rs` | Loopback HTTP, routing, jobs, caller attribution, setup/UAC hints |+| `src/desktop.rs` | Windows package lifecycle, process detection, protected auth import |+| `src/app_tools.rs` | PID-verified native desktop pipe and structured RPC |+| `src/rpc.rs` | Separate app-server connection, events, requests and ownership |+| `src/process.rs` | Bounded process output and timeouts |+| `bridge.json`, `verbs.json` | AB executable lifecycle and the 40-command catalog |+| `tests/http.rs`, `build.sh` | HTTP contract verification and Windows release packaging |++The HTTP listener binds loopback and rejects browser Origin requests. AB caller+identity provides attribution and ownership, not isolation from other processes+running as the same OS user. Screenshots contain no credential cache contents.++Windows x64 is the tested platform. Other OS installers, a dedicated bridge dock+UI, full worktree/automation testing, third-party OAuth and a public runtime+update channel remain outside this verified baseline. The existing CAD videos+on the main adom/codex page were recorded in Hydrogen, not this desktop app.
bridge/screenshots/01-desktop-home.pngadded⋯ 1 unchanged line ⋯
bridge/screenshots/02-native-thread.pngadded⋯ 1 unchanged line ⋯
bridge/screenshots/09-signed-in-onboarding.pngadded⋯ 1 unchanged line ⋯
bridge/screenshots/10-optional-tasks.pngadded⋯ 1 unchanged line ⋯
bridge/screenshots/11-optional-imports.pngadded⋯ 1 unchanged line ⋯
bridge/screenshots/12-before-uac.pngadded⋯ 1 unchanged line ⋯
bridge/screenshots/13-desktop-voice-offer.pngadded⋯ 1 unchanged line ⋯
bridge/screenshots/README.mdadded+44@@ -0,0 +1,44 @@+# Screenshot provenance++These are native AB window captures of the test Codex Desktop installation on+arav-rog, OpenAI.Codex 26.901.6511.0, taken on 2026-09-08. They are not generated+illustrations or recreated UI. AB produced the 1400px-wide safe-resized PNGs;+the guide uses those bytes without further editing. All seven were visually+reviewed before upload. No credential-cache contents or tokens are included.++The Home image was captured during guide preparation. The other six images were+recovered from the original verified setup/test run's AB screenshot cache.+Retrieval time is not capture time. Original historical capture times below come+from AB's epoch-millisecond filenames; the Home timestamp is the capture retrieval+completion time and is approximate.++| File | Capture time (UTC, 2026-09-08) | What it demonstrates |+| --- | --- | --- |+| `01-desktop-home.png` | About 13:39:42 | Current signed-in Home view, bridge 0.1.1 |+| `02-native-thread.png` | 12:43:14.486 | The actual desktop test thread and DESKTOP_BRIDGE_OK reply |+| `09-signed-in-onboarding.png` | 12:34:51.634 | Account recognized; existing Engineering role confirmation |+| `10-optional-tasks.png` | 12:35:47.300 | Optional onboarding task suggestions, subsequently skipped |+| `11-optional-imports.png` | 12:36:27.689 | Optional other-app import offer, subsequently skipped |+| `12-before-uac.png` | 12:37:51.537 | App's pre-UAC explanation, not the secure-desktop prompt |+| `13-desktop-voice-offer.png` | 12:41:01.888 | Signed-in post-setup Home with optional voice offer; voice not started |++The original setup captures precede the 0.1.1 toast-guidance deployment. The+pre-UAC image illustrates where the new guidance applies; it is not evidence+that the new toast was displayed during that earlier run. The user approved the+real Windows setup prompt; no security prompt was bypassed or recreated.++During guide preparation, native navigation acknowledged success without a+visible page change. We did not label that unchanged image as a conversation.+The conversation image above is the separately verified original capture.++## SHA256++```text+c38206650d01f6543382043ec961d8ae16a160acf05c15fd0cd6741f4911d74b 01-desktop-home.png+0afddc2b9964f65c0813851cb64056e4af7db9ad350fe51c50b4b856093c1314 02-native-thread.png+0579158768d7fc129f2afc1ecaae576d86b14a743e594b8534e1c42d7d2bf2b1 09-signed-in-onboarding.png+aa5e1ab4b6601c0281656d263068d5006f90f1c658ec82614cc75a25a94b34d7 10-optional-tasks.png+2002f07032e1a563a2d1f297a7cc42306929681760751ef229fdfbde7f3d9d1f 11-optional-imports.png+8eeaf9d204fece5e3d506844132aef3688eafb0f33cd52c7393ed30d4513fdcc 12-before-uac.png+bbf5cf3416bb8fbaab9f27c77b90f0ef82ab4aa2678f75adad46b73c484b60b0 13-desktop-voice-offer.png+```
docs/DESKTOP-BRIDGE.md+4@@ -1,5 +1,9 @@ # Codex Desktop Bridge +For the screenshot tour and workflow overview, see the+[illustrated Codex Bridge README](https://wiki.adom.inc/adom/codex/files/bridge/README.md).+This page is the compact technical setup/protocol reference.+ `bridge/` is the compiled Rust implementation owned by **adom/codex**. AB runs `codex-bridge.exe` as a persistent loopback HTTP bridge. No Node or Python runtime is needed on the target. Windows package management uses built-in PowerShell and