packages/cua-driver/docs/driver-permission-modes-implementation-journal.md
Contract update: the shipped canonical middle-mode name is
bounded, withautonomousretained as a compatibility alias. The interactive CLI danger flag now selectsunrestrictedas well as acknowledging its risk; embedded and environment-driven launchers still provide mode and acknowledgement as two explicit values. Historical entries below use the names current when each implementation step was recorded.
codex/cua-driver-permission-modesorigin/main at
767acf25f25ea668ffab428e4f2e8985896de98e0.9.1This journal records exact-head implementation and validation evidence. A row is not called supported until the named public interface, independent oracle, and representative environment have passed on the same commit.
Each slice remains on this host-owned branch until it is independently tested and can be split into a reviewable PR without losing dependency history.
| Environment | Public surface | Required result | Evidence state |
|---|---|---|---|
| macOS host | Rust unit/integration tests | Deterministic policy, mode, grant, and refusal contracts | Passed on d29fd128f; full workspace examples have a pre-existing macOS cross-target failure recorded below |
| macOS Lume Aqua session | Installed cua-driver CLI/MCP/daemon | Mode/status/revoke, fail-closed protected attach, unrestricted lifecycle, provenance | Passed on d29fd128f; installed 0.9.1, standard mode, protected collector unavailable |
| Windows interactive session (not Session 0) | Installed CLI/MCP/daemon and Windows runner | Mode/policy parity; advertised collector and revocation behavior | Passed on d29fd128f in RDP session 4; installed 0.9.1, standard mode, protected collector unavailable |
| Linux SSH/headless | Installed CLI/MCP/daemon and Linux harness | Mode/policy parity and selected collector behavior | Passed on d29fd128f; installed 0.9.1, standard mode, protected collector unavailable |
| Linux X11 | Installed CLI/MCP/daemon and Linux harness | Mode/policy parity and selected collector behavior | Not claimed by this slice; no protected Linux GUI collector is advertised |
| Linux Wayland | Installed CLI/MCP/daemon and Wayland harness | Mode/policy parity and selected collector behavior | Not claimed by this slice; no protected Linux GUI collector is advertised |
| Headless transport | CLI/raw socket/MCP | Stable refusal when no certified trusted-consent collector exists | Passed on macOS, Windows, and Linux installed-daemon smoke checks |
origin/main; local base and fetched main both resolve to
767acf25f25ea668ffab428e4f2e8985896de98e.codex/cua-driver-permission-modes from that exact commit.Ok(None), while daemon binding happens
before policy validation.cargo test -p cua-driver-core policy --all-features — 13 passed.cargo test -p cua-driver --bin cua-driver policy --all-features — build
passed; no matching binary tests.standard, autonomous, unrestricted),
with standard as the default and a separately named danger acknowledgement
required for unrestricted.browser_consent_required; the
legacy path requires an explicit trusted-launcher compatibility flag.cargo test -p cua-driver-core policy --all-features — 13 passed.cargo test -p cua-driver-core authorization --all-features — 5 passed.cargo test -p cua-driver-core browser::v2_tests --all-features — 29 passed.cargo test -p cua-driver --test permission_policy_startup_test --all-features
— 3 passed.daemon_required_test authorization cases passed individually.cargo test -p cua-driver --bin cua-driver cli::tests --all-features —
13 passed.cargo fmt --all -- --check — passed.elicitation/create remains untrusted. The broker will
require a request-bound authenticated provider result and otherwise fail
closed. No Codex or Claude collector will be advertised as protected until a
concrete host contract can be verified end to end.tool.rs. Risk metadata will extend that canonical map rather than create a
competing manifest vocabulary.browser_prepare.existing_profile is the first active
resource adapter; other tools are explicitly marked metadata_only.cua-driver revoke --session <id> and --all, plus content-free mode,
policy, provider, and manifest status.CUA_DRIVER_DISABLE_UNRESTRICTED=1 for administrator disablement.Verification on the macOS source host:
policy, authorization, consent, session_manifest, grant, session,
refusal, and browser v2 suites passed in targeted runs.permission_policy_startup_test: 8 passed.daemon_required_test: 7 passed.cargo test -p cua-driver-core --no-default-features authorization: 8 passed.cargo test --workspace --all-features is not a valid all-host gate on
macOS: Linux-only examples libei_input and screenshot_cascade compile
against modules gated by target_os=linux. The failure occurred before test
execution and is unrelated to this change. Package-scoped and target-native
VM gates remain required.Page.getFrameTree and before browser mutation.standard describes only the currently active
existing-profile prompt, and documented PID reuse, origin-adapter exclusions,
terminal idle expiry, and restart-flag preservation.permission_policy_startup_test: 9 passed.All three installation lanes used source commit
d29fd128f9b287198b3c595ebb987c9411c3af21 and Cua Driver version
0.9.1. Each installed daemon reported standard mode and
protected consent collector: unavailable; get_config.source_sha matched
the synced commit. This is the intended fail-closed standalone posture, not a
claim that a protected host provider ships in this slice.
cua-permission-modes-d29fd128f:
/Applications/CuaDriver.app with the repository's stable
signing identity and visible CLI /Users/lume/.local/bin/cua-driver;fef4ca7e1574678f55ca7226e93667f0f05046f6234bdd4690bcfed89d131c3d;permission_policy_startup_test: 9 passed in release mode;daemon_required_test: 7 passed in release mode.cua-linux-071:
/home/azureuser/.cua-driver/packages/releases/0.0.0-local-release-x86_64-unknown-linux-gnu/cua-driver;0aa9f19eb0bb58e781fcdaf52a4d8c3c9aa56ca660132da4fad3390a4ef7e7be;permission_policy_startup_test: 9 passed in release mode;daemon_required_test: 7 passed in release mode;/home/azureuser/.cua-driver-rs directory after preserving telemetry.cua-win-071:
azureuser in active RDP
session 4, with Explorer also in session 4; Session 0 was rejected by the
harness;C:\Users\azureuser\AppData\Local\Programs\Cua\cua-driver\bin\cua-driver.exe;8b3d58eb0f693f8a2eec1fed52fd2ab447419c5b165c675719e7bdcbd4550ba8;permission_policy_startup_test: 9 passed in release mode;daemon_required_test: 7 passed in release mode;Implementation, review fixes, documentation, and exact-commit platform certification are complete. The remaining delivery work is to publish the branch, open the review PR, update umbrella issue #2381, and monitor repository checks. No standalone host is advertised as a certified protected provider; standard/autonomous existing-profile attachment remains fail closed.