Address Codex review feedback on PR #235 — extension-mode users would
hit runtime errors copying examples for wait-idle, console, fetch,
emulate, and switch-frame. Add [CDP] inline markers and section-level
<sup>CDP</sup> tags so the limitation is visible before users try.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* [packages/actionbook-rs]refactor: remove extension isolated mode, unify browser docs
Simplify browser architecture from three modes to two:
- Isolated (default): launches a fresh Chrome profile via CDP
- Extension: connects to the user's running Chrome via bridge
Remove extension isolated mode entirely:
- Delete isolated_extension.rs, cdp_pipe.rs, cdp_http.rs
- Remove --isolated flag from CLI and config
- Simplify extension_bridge (remove isolated file helpers)
- Simplify launcher (remove pipe transport, LaunchResult)
- Clean up setup wizard and config fields
- Add legacy .isolated file cleanup for upgrade compatibility
- Fix stop() to also resolve legacy bridge-pid.isolated
Merge browser-extension.mdx into unified browser.mdx guide:
- Single page covers both Isolated and Extension modes
- Browser commands listed once (add --extension to switch)
- Update all cross-references in docs
* [packages/actionbook-rs]fix: add liveness check to extension stop PID resolution
Previously, `extension stop` blindly preferred the standard PID file over
the legacy `.isolated` file without checking liveness. In upgrade scenarios
where the legacy file held the live bridge PID and the standard file was
stale (PID possibly reused by OS), this could send SIGTERM to an unrelated
process.
Introduce `resolve_pid_for_port()` with liveness checking:
- Same PID in both files → select safely
- Different PIDs → check liveness, pick the live one
- Both alive → refuse to kill (Ambiguous), warn user
- Both dead → clean up stale files (BothMatchedButDead)
Includes 5 unit tests covering all branches.