Skip to content

feat(setup): own desktop provider lifecycle in Rust - #219

Merged
tcballard merged 1 commit into
mainfrom
codex/native-desktop-setup
Sep 6, 2026
Merged

feat(setup): own desktop provider lifecycle in Rust#219
tcballard merged 1 commit into
mainfrom
codex/native-desktop-setup

Conversation

@tcballard

Copy link
Copy Markdown
Contributor

Omarchy first run starts a service but needs a complete path to a working provider. The initial plugin PR put this orchestration in Python; this change moves it into the existing Rust CLI, consistent with WF-ADR-0046 and the requested native architecture.

wayfinder-router setup owns OpenAI discovery, Linux Secret Service credential storage, explicit model activation, verified request delivery, repair and disconnect. QML sends explicit commands and renders schema-versioned results. Configuration validation uses the existing Rust parsers. No setup work enters the deterministic routing path, and no extra executable or Python runtime ships.

Only the exact local starter or unchanged generated policy is eligible for replacement. A non-secret journal preserves interrupted activation and cleanup, credentials travel over stdin, child process groups and network work are bounded/cancellable, and success requires the exact successful Router receipt. Older consumers can check setup_schema_version; Linux is the supported credential platform in this change. Existing macOS setup and Keychain integration are unchanged.

Validation: full Rust workspace/all-features tests passed; full workspace Clippy with warnings denied and formatting passed; JavaScript parity passed. New Rust tests cover key storage failures, custom-file preservation, restart recovery, cleanup failures, receipt mismatch, real gateway handlers across restart, locking, bounded output and cancellation. A process-level test verifies cancellation with stdin left open and lock release. No real provider account or desktop keyring was used.

Companion: asdecided/omarchy-wayfinder#23. That PR removes the Python implementation and remains draft until this command is released and both Linux archive checksums are pinned. Live OpenAI, Secret Service login/unlock and XPS reboot/agent acceptance remain pending. See WF-ADR-0088 and docs/desktop-provider-setup.md.

Add native Linux provider discovery, Secret Service custody, guarded activation,
receipt verification and recovery. Keep QML as a versioned command client and
remove the need for a separate setup runtime.

[design:WF-ADR-0088]
@tcballard
tcballard merged commit ef9ddbb into main Sep 6, 2026
14 checks passed
@tcballard
tcballard deleted the codex/native-desktop-setup branch September 6, 2026 08:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant