Skip to content

Prepare Wayfinder Desktop v0.1.0 for release#110

Merged
tcballard merged 7 commits into
mainfrom
codex/chatgpt-one-click-setup
Jul 22, 2026
Merged

Prepare Wayfinder Desktop v0.1.0 for release#110
tcballard merged 7 commits into
mainfrom
codex/chatgpt-one-click-setup

Conversation

@tcballard

Copy link
Copy Markdown
Contributor

Summary

Implements WF-ROADMAP-0015 / Desktop v0.1.0 release readiness.

Adds:

  • a thread-first native Chat workspace with locally persisted conversations and response-level routing detail popovers
  • automatic recovery when an installed app replacement leaves the previous bundled gateway process running
  • a consolidated Connections screen with distinct ChatGPT account and OpenAI Platform API-key paths
  • one-click, bounded ChatGPT route configuration through the authenticated bundled gateway
  • release notes aligned with the accepted v0.1.0 UX and authentication contract

Scope

Included

  • preserve and select prior local conversations after New Chat and app relaunch
  • keep routing information available from each response without a permanent right-hand column
  • restart only the matching installed bundled gateway after app replacement
  • add app-configure-chatgpt --path <Wayfinder config> with validation, idempotence, and atomic replacement
  • guide native ChatGPT setup from route configuration into the existing account sign-in flow
  • consolidate Accounts and Keys as Connections while clearly distinguishing ChatGPT account access from OpenAI Platform API keys
  • collapse Privacy and Help into the About screen and make Connections the default Settings destination

Excluded

  • no change to Automatic routing or preferred provider defaults
  • no expansion of the credential broker or access to ChatGPT tokens
  • no general-purpose TOML editor
  • no tools, agent execution, filesystem access, or additional managed-runtime network capabilities
  • no Intel or universal build, Mac App Store package, DMG, Homebrew cask, or automatic updater
  • no standalone router/PyPI release or CalVer change

Product / Architecture Decisions

  • Routing detail is secondary UI attached to the response that produced it; it no longer owns persistent workspace width.
  • Conversation history is local application state and remains bounded; it is not synchronized or used to broaden delivery context beyond the existing bounded request contract.
  • ChatGPT route setup is performed only by the verified bundled gateway against Wayfinder's exact Application Support config path.
  • Existing valid config text is preserved, the edited document is parsed before replacement, and repeated setup is a no-op.
  • ChatGPT account auth and OpenAI Platform API keys remain visibly and architecturally separate.
  • Release builds continue to reject unverified gateway and ChatGPT runtimes.

User-Facing Contract

CLI

wayfinder-router app-configure-chatgpt --path "$HOME/Library/Application Support/Wayfinder/wayfinder-router.toml"

The command adds the supported chatgpt-sol Codex app-server model only when no Codex app-server route is already present.

Human Output

  • wayfinder-router: ChatGPT route configured
  • wayfinder-router: ChatGPT route already configured
  • bounded, sanitized validation errors on stderr

Native Settings presents ChatGPT account access and provider API keys under Connections. Missing ChatGPT routing becomes a guided Configure and Continue flow rather than a dead-end diagnostic.

JSON Output

No JSON contract changes.

Exit Codes

  • 0: route configured or already configured
  • 2: invalid arguments, unsafe path, unreadable/invalid config, or failed atomic replacement

Verification

Ran

  • swift test --scratch-path /private/tmp/wayfinder-release-swift-tests
  • cargo +1.85.0 fmt --manifest-path rust/Cargo.toml --all -- --check
  • cargo +1.85.0 test --manifest-path rust/Cargo.toml --workspace --all-features --locked
  • cargo +1.85.0 test --manifest-path rust/Cargo.toml -p wayfinder-gateway --lib outside the socket-restricted sandbox
  • cargo +1.85.0 clippy --manifest-path rust/Cargo.toml --workspace --all-targets --all-features --locked -- -D warnings
  • release script syntax, bounded-command, and architecture-policy tests
  • Developer ID signed and notarized arm64 bundle build using WayfinderNotary
  • strict nested signature verification, stapler validation, Gatekeeper assessment, checksum verification, clean ZIP extraction, and independent extracted-bundle verification

Covered

  • 174 native macOS tests with zero failures
  • complete pinned Rust workspace and 151/151 gateway tests
  • idempotent route creation, unsafe path rejection, config preservation, and malformed input
  • conversation persistence, routing popovers, app replacement reconciliation, account state transitions, and credential-path separation
  • Foundation Models XPC authentication/bounds and ChatGPT managed-runtime isolation
  • exact 0.1.0 (1) arm64 product/helper/XPC version and architecture agreement
  • local accepted archive SHA-256: ef737faefa9f509eeee46c28340650c691d161b4cc90750200a5970fb9fca912

Review Path

  1. Gateway replacement and conversation persistence commits.
  2. Chat routing popover changes.
  3. Rust app-configure-chatgpt command and native configurator.
  4. Connections/settings state and views.
  5. Tests and v0.1.0 release notes.

Notes For Reviewer

Implementation Process (Optional)

Implemented with AI assistance under the desktop v0.1.0 roadmap contract; final scope, UX review, local acceptance, and release decisions were made by the maintainer.

…v0.1.0]

Consolidate account and API-key configuration under Connections, add an authenticated one-click ChatGPT route setup through the bundled gateway, and keep Automatic routing and credential ownership unchanged.
Describe the accepted response-level routing popovers, local conversation persistence, personal destination names, consolidated Connections screen, and guided ChatGPT setup in the release notes.
@tcballard
tcballard marked this pull request as ready for review July 22, 2026 07:04
@tcballard
tcballard merged commit 2171bdb into main Jul 22, 2026
8 checks passed
@tcballard
tcballard deleted the codex/chatgpt-one-click-setup branch July 22, 2026 07:04
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