# XWorkmate Release Notes

> Generated by `tool/render_release_docs.dart`
> Source manifest: [`config/feature_flags.yaml`](../../config/feature_flags.yaml)
> Generated at: `2026-05-27T15:05:31.224939`

## Git Snapshot

| 字段 | 值 |
| --- | --- |
| Branch | `release/v1.1.3` |
| Head Commit | `8cb97a0` |
| Head Tags | `-` |
| Latest Tag | `v0.2` |
| Previous Tag | `v0.5` |
| Comparison Range | `v0.2..HEAD` |
| Commit Count | 737 |

## Feature Snapshot

| 平台 | Debug | Profile | Release | Suppressed |
| --- | --- | --- | --- | --- |
| `mobile` | 14 | 10 | 10 | 1 |
| `desktop` | 14 | 11 | 11 | 1 |
| `web` | 8 | 8 | 8 | 7 |

## Current Focus

- `release` 当前面向用户暴露 29 个 UI feature flags，全部来自 `stable` tier。
- `profile` 相比 `release` 额外开放 0 个预发布条目： -。
- `debug` 相比 `profile` 额外开放 7 个实验条目： `mobile.assistant.multi_agent`, `mobile.settings.experimental_canvas`, `mobile.settings.experimental_bridge`, `mobile.settings.experimental_debug`, `desktop.settings.experimental_canvas`, `desktop.settings.experimental_bridge`, `desktop.settings.experimental_debug`。

## Commit Highlights

### Features

- `f7f97fe` Add desktop settings integration test
- `96ac003` Add desktop navigation integration test
- `a2f40cc` feat(mobile): refine composer ui with minimalist modern aesthetic
- `19d637d` feat(mobile): add navigation breadcrumb to return to chat from settings
- `95ef53b` feat(mobile): redesign mobile ui to chatgpt minimalist style
- `1253f15` feat(mobile): move configuration chips to + menu and add left drawer
- `da36c7f` feat(mobile): redesign mobile UX and iOS native experience
- `9c62ced` feat: add mobile assistant surface
- `aadba4f` feat: manage archived assistant tasks
- `b2299dd` feat: show sidebar task status chips
- `f176b7a` feat: add assistant task runtime controls
- `ad361c1` feat: isolate concurrent assistant task runs
- `544dc44` feat: reveal artifact file locations
- `f2e3cfa` feat: pass remote working directory as hint while preserving local cwd
- `e961a6e` feat(settings): add manual bridge configuration tab to account settings
- `02684aa` feat(settings): refresh account sync, add about metadata, and rewrite task dialog modes
- `8fe53fe` Add core module inventory document
- `e199217` Add bridge-to-app remote provider test coverage
- `64e4672` Implement local-first single-agent artifact sync
- `0b9c1e9` Add dynamic bridge provider picker sources
- `dffb5a9` feat: add settings sidebar back to chat action
- `b5e0492` Add xworkmate-bridge companion repository note
- `d45427d` Add ACP bridge server mode card
- `ba7d187` Add core execution target flow coverage
- `562bcf4` Implement ACP routing v2 integration flow
- `3b1bab3` Implement intent router state machine v2
- `17c5c84` Add top-level Auto task dialog mode
- `9c6276e` Implement intent router skill memory flow
- `0b15e55` add workflows: build-push-ghcr-images
- `ea981ef` feat(account): remove local entry shortcut
- `db010be` feat(macos): add main window menu action
- `8231ca6` feat(account): refine signed-out login card
- `54937bf` feat: add account login sync with mfa
- `60aebf6` feat(account): add secure remote sync and installed-skill e2e
- `cd142fc` feat: add collapse support for external acp settings
- `fc4d384` feat: surface account entry in sidebar footer
- `8b41431` Add workspace follow action to sidebar card
- `04bdcd8` feat(flags): promote account and vault visibility to stable
- `1613a46` feat(flags): enable account and vault beta visibility
- `17eaacc` feat(sidebar): add account status popup menu
- `fb8985b` Add Vault settings UI and go-core KV bridge
- `44d341d` feat(web): add Caddyfile for static file serving
- `9265ab3` Add desktop background-run lifecycle hooks
- `daf01a2` Add focused quick actions for language and theme
- `780002b` feat(settings): improve skill directory authorization input
- `5f84dda` feat(modules): simplify skills mode tabs
- `84716d1` feat: support custom external ACP providers
- `e07617a` feat(assistant): rebuild desktop local skills loading rules
- `929719d` feat(settings): add authorized skills directory authorization
- `afcd730` feat(scripts): add codex acp native service helpers
- `29e61eb` Add assistant artifact sidebar
- `36e0999` feat(assistant): align single-agent skills by provider and move model control
- `9bfd855` feat(assistant): collapse prompt metadata in user bubbles
- `a4671f2` feat(ui): add settings quick actions and home shortcut
- `89e7166` feat(web): add Dockerfile for Flutter web builds
- `7b73b66` feat(web): align workspace pages with ui plan
- `07a0c9a` feat(web): align assistant homepage with app layout
- `faa6b0a` feat(web): complete assistant thread session parity
- `d7e0889` feat: add mobile gateway pairing guide
- `f8f956b` feat(assistant): paste clipboard images as attachments
- `9a0cf2c` Add ACP endpoint settings tab
- `89b90db` Add local single-agent skill discovery
- `aad97a9` feat(acp): converge runtime pipeline to go acp core
- `d1686b7` feat(settings): gate vault server behind experimental flag
- `41a32a2` Add local tmp cache directory
- `1b6710a` Add assistant thread IA docs
- `c24f2ab` feat: add ui feature flag release docs pipeline
- `cbcfb90` Add Flutter web assistant shell
- `de8710e` Add mobile-safe controls for mobile shell
- `dab77eb` Add multi-platform build and release workflow
- `40159bd` feat: make assistant composer height resizable
- `4183a40` Add multi-agent manual verification cases
- `8909f11` Implement streaming assistant thread persistence
- `b9cdb7d` Add managed multi-agent collaboration runtime
- `febdbed` add configurable simple theme defaults
- `02a0f89` feat: add shared compact mobile shell
- `f0070c6` feat: align Windows desktop runtime with macOS parity
- `4f887e4` feat: add linux desktop parity scaffolding

### Fixes

- `f2d8173` fix(mobile): use blue circle with upward arrow for send button
- `4db1c84` fix(mobile): remove background from send button
- `18048ba` fix(mobile): tweak composer submit button size and wire up settings drawer
- `3cafecd` Fix ACP SSE no-result recovery
- `ec34545` Fix mobile account sign-in flow
- `e4bfeea` Fix assistant continue task requeue
- `b4dacc4` fix: stabilize iOS login storage and mobile settings
- `dbb8b8b` Fix managed bridge token priority
- `064384a` fix: keep stopped gateway tasks out of pending queue
- `fdc96f5` fix: keep task selection order stable
- `c9dcb5b` fix: group gateway skills and clean imports
- `7625988` fix: group bridge skills by source
- `b439d06` fix: pass selected skills with key context
- `9dd4309` fix: lazy load bridge OpenClaw skills
- `97b1da8` fix: load OpenClaw skills through bridge control plane
- `329380c` fix: use bridge skills for assistant picker
- `1d06e4f` fix: extend openclaw result recovery
- `ab938be` fix: recover openclaw interrupted results
- `7c101e7` fix: require yes before deleting archived tasks
- `3c14510` fix: mark archived task deletion destructive
- `f7e1973` fix: surface queued task feedback
- `0f5440d` fix: remove polluted test task sessions
- `ee308e0` fix: support openclaw queued task submission
- `603710a` fix: isolate test thread workspaces
- `e7e1135` fix: recover interrupted bridge task results
- `e431a63` Fix assistant task artifact and draft handling
- `33a7646` fix openclaw task recovery after interrupted sse
- `935b0ac` fix: keep agent mode selectable and omit OpenClaw model
- `956f581` Fix atomic assistant task execution state
- `ec42845` Fix assistant session artifact binding
- `90a6a6c` fix: restart gateway turns after acp interruption
- `3e188cc` fix: isolate same-prompt draft artifacts
- `e288be2` fix: isolate task artifacts by current sync
- `4aff57e` fix: accept buffered ACP SSE results on abrupt close
- `6b278c8` fix: stabilize ACP gateway connect failures
- `17b847d` fix: keep OpenClaw task streams alive in app
- `41ef452` fix: hide OpenClaw artifact guard diagnostics
- `3f3c94f` fix: use OpenClaw task submit endpoint
- `74d07c2` fix: preserve active assistant lifecycle during binding sync
- `7f166d0` fix: retry interrupted acp handshakes
- `8598673` fix: preserve acp interrupted task results
- `80ef92d` fix: use SSE for OpenClaw task submit
- `5fa7c86` fix: stabilize ACP closed flow handling
- `f657272` fix: continue ACP sessions after interrupted reads
- `3922c8b` fix: dedupe assistant chat messages
- `da84687` fix: label openclaw socket closures
- `3d39960` fix: route openclaw gateway routing hints
- `d8742f1` fix: use openclaw task submit endpoint
- `89f7414` fix: route openclaw tasks through bridge rpc
- `d902ddc` fix: harden artifact download sync
- `0c6f153` fix: extend openclaw task submit timeout
- `9f4b265` fix: use json openclaw task submit
- `cfe3e47` fix: surface gotask failure diagnostics
- `f2ea563` fix: remove openclaw artifact export fallback
- `db5c730` fix: export openclaw artifacts from app fallback
- `be24832` fix: sync bridge artifacts into sidebar
- `af01142` fix: resume gateway chat sessions
- `3b89771` fix: sync bridge artifacts and route openclaw tasks
- `5cbaf2e` fix: route openclaw tasks via bridge gateway
- `cd8c34e` fix: clarify openclaw gateway offline error
- `0b45992` fix: unify bridge gateway readiness
- `e4f8da2` fix: tighten bridge runtime diagnostics
- `52ef962` fix: route gateway execution through managed bridge
- `b20dc09` fix: preserve bridge acp 502 diagnostics
- `f9b35cb` fix: enforce explicit gateway routing and isolate test environments
- `797b576` fix: normalize bridge metadata authorization
- `16f214a` fix: preserve hermes failure diagnostics
- `91fc61c` Fix ACP task response display parsing
- `732904b` Fix bridge gateway task params
- `2eab674` fix: use bridge session lifecycle methods
- `a2ed8fa` fix: align routing resolve payload
- `4d6f30a` Fix bridge ACP provider endpoint normalization
- `71cc484` fix task workspace binding separation
- `2181066` fix bridge readiness checks
- `d852bb3` Fix settings save path coverage
- `65a9d30` Fix settings save wiring
- `538ff52` fix(build): improve DMG styling stability and Finder volume discovery
- `1f6d8bd` fix(build): improve macOS packaging reliability and clean up Rust FFI
- `1f13ce7` fix(build): resolve undefined method compilation error in SettingsPage
- `a972145` fix(build): resolve macOS packaging and installation failures
- `4e81752` fix(build): ensure macOS packaging builds native dependencies and universal FFI binary
- `009e439` fix(settings): force save snapshot after account sync to ensure persistence of tokens and bridge URL
- `dfa1fa7` fix: resolve svc.plus account save issue and improve bridge runtime status sync
- `4b87416` fix: restore missing members in AppController and fix imports in RuntimeCoordinator
- `14395fe` fix(settings): ensure manual bridge configuration is applied correctly and improve storage fallback
- `59e62d0` fix(acp): ensure JSON-RPC response ID matching and improve SSE error reporting
- `ae31984` fix(test): restore checkmark expectations and add missing ACP docs
- `a35640a` Fix gateway routing when provider catalog is empty
- `4ee9063` fix: repair cross-platform release CI gating
- `ed11872` fix: merge provider and bridge auth sync cleanups
- `818ff67` fix: surface bridge-owned task dialog providers
- `27f9bf7` fix(runtime): reuse matching gateway token for ACP auth
- `ba9b75e` fix(macos): sync Podfile lock checksum
- `0c067a0` Fix ACP bearer auth normalization
- `05a346e` Fix managed bridge auth sync and offline connection state
- `20e390b` fix: recover bridge server sync state and hide stale model labels
- `bafcf3e` Fix assistant provider selector and submit action
- `26b5736` Fix account sync and disconnect state updates
- `804024c` Fix thread storage target sanitization
- `73b12a1` fix: align merged desktop ACP runtime wiring
- `78f27bc` fix: keep settings account summary on canonical state
- `9ab44e0` fix: share ACP bridge across desktop runtimes
- `008ebb2` Fix release pipeline verification and latest release tagging
- `c617eb0` fix: validate staged mac app install
- `ab0acfe` fix: fully clear account state on logout
- `d7bd08d` fix: guard mobile shell context after async auth check
- `b77b9ad` fix(ci): guard mobile shell context after async auth check
- `8e07f87` fix: remove stale ACP gateway fallback routing
- `1ecad4d` fix: surface ACP failure diagnostics in bridge flows
- `9132c6e` fix: preserve external ACP workspace resolution
- `d4c0132` fix single-agent workspace binding
- `38e4882` fix: streamline gateway settings and mac packaging cleanup
- `ef177b0` fix: normalize gateway status and ACP endpoint diagnostics
- `09b9cda` fix: restore single-agent error helper import
- `d35987a` fix: harden ACP websocket fallback for openclaw gateway
- `fcf9e53` fix(desktop): isolate new task thread history
- `b75a1d7` fix: sync pairing status with connected gateway state
- `cedf4c4` fix: retry ACP websocket after plain-text 404
- `bc05e9b` Fix OpenClaw status and Go task flow
- `e042f45` fix(assistant): keep single-agent selectable for new threads
- `7c5ba68` fix(desktop): restore single-agent mode selection
- `db88714` fix: keep manual task target selection
- `26314c9` Fix stale single-agent provider bindings
- `1665fc8` Fix gateway test pairing identity reuse
- `3376680` Fix gateway target visibility after settings apply
- `c94e74d` fix: freeze external provider routing for single-agent runs
- `308551b` fix: sync custom single-agent providers before execution
- `f82f8d5` fix: omit gateway metadata in local session mode
- `446aeec` Fix chat.send metadata regression across gateway clients
- `21e48ae` Fix OpenClaw chat.send metadata regression
- `c2fde01` Fix macOS project shell phase ordering for go-core helper embed
- `5708e65` Fix auto assistant readiness and header status chips
- `d0f980f` Fix desktop GoAgentCore endpoint routing
- `604449f` Fix desktop ACP provider catalog routing
- `2b0d17f` Fix ACP endpoint scheme handling
- `5e3c103` fix(acp): preserve hosted base paths for external endpoints
- `2c4d88c` fix(assistant): auto-bind workspace for only-chat fallback runs
- `16e7a71` fix(gateway): fallback reconnect when go runtime endpoint is unavailable under app-store policy
- `5d380ba` Fix repeated gateway pairing loop
- `62477bd` Fix ACP desktop settings guidance
- `3fb2708` Fix web ACP endpoint input stability
- `5ef49d5` fix: open settings sidebar entry on integrations tab
- `fb24892` Fix workspace thread binding and settings apply flow
- `78887e7` fix(single-agent): bind workspace root before send
- `ba3acad` fix(settings): promote vault server to integration tab
- `ca825bb` fix(runtime): keep invalid single-agent roots unbound
- `e4ff2de` fix(taskthread): stabilize workspace binding follow-ups
- `5306269` fix assistant thread workspace rebinding and simplify artifact tabs
- `a7e0a50` fix(docker): use correct Flutter image registry cirruslabs
- `4251fee` fix(assistant): restore submit action in single-agent composer
- `8b346d4` fix(single-agent): honor thread cwd for debug sessions
- `c6e817f` fix(assistant): preserve resolved single-agent thread workspace
- `8f133cf` fix(assistant): rebind stale thread workspaces
- `917c970` fix(single-agent): reject empty assistant REST completions
- `a3780f6` Fix macOS archive symbols and packaging settings
- `a34550a` fix(macos): guard Flutter Assemble phase against direct xcodeproj launch
- `2d1d8ec` Fix OpenCode single-agent ACP transport
- `1ad60c6` fix: harden codex model refresh handling
- `8e063c3` fix(assistant): fold preferred skills into execution context
- `6ddebe3` fix(assistant): clean single-agent skill loading order
- `ad4feca` fix(settings): simplify single-agent skill roots
- `e8927d3` fix(assistant): require bookmarks for shared skill roots
- `d95840e` fix(build): stabilize super_native_extensions packaging downloads
- `9fca58d` Fix single-agent transcript isolation
- `b59bc37` Fix assistant artifact toggle overlap
- `71baa2e` fix(release): verify export compliance in apple artifacts
- `5e0c615` Fix single-agent skills picker behavior
- `a453abb` fix(release): align export compliance flag and backfill missing framework dsyms
- `ce1284f` fix(macos): sync Podfile lock after pod install
- `3d905e0` fix(ui): keep assistant panes tightly packed
- `f1a4793` Fix Codex ACP turn payload schema
- `a734d34` Fix single-agent ACP model ownership
- `23d8974` Fix secrets settings tab assertion
- `e1ea5a5` Fix macOS package build state reset
- `bdcc1fe` fix: update external agent ACP copy
- `fbc4f55` fix(release): harden apple app store distribution
- `32ef635` Fix codex external CLI availability detection with configured path
- `17501c9` fix: disable default OpenAI web cookie import
- `95ae875` Fix remote thread status fallback
- `4ea4c06` Fix assistant execution target switch refresh timing
- `50f38e8` Fix assistant composer shell height adaptation
- `10717a0` fix(runtime): encrypt local settings and assistant thread persistence
- `09287cc` Fix assistant thread connection status
- `8f655d3` Fix web chrome test isolation and session persistence
- `a4225d5` fix(windows): vendor secure storage plugin without ATL
- `3bf71e9` fix(linux): unblock parity desktop builds
- `039ce2d` Fix AI Gateway-only UTF-8 chat flow
- `41e0632` Fix assistant model routing and task naming
- `7c98ab3` Fix AI Gateway-only assistant flow
- `09ef2ea` Fix settings page layout and AI Gateway persistence

### Build / Release

- `00c578a` ci: build linux runner with cxx17
- `8a67069` ci: align remote provider contract with hermes
- `2c0e545` ci: pin app java setup action
- `7b00c75` ci: merge testing workflow into build and release
- `ced8b04` Remove watch-build-and-release workflow
- `040e030` build: add test-all make targets
- `33e76c4` ci: fix workflow verification failures
- `81fd765` ci: add build-and-release watchdog
- `93dc6fc` ci: expand release build matrix
- `a6e059b` ci: expand release build matrix
- `d47b6e3` release: prepare v1.0
- `94d4deb` release: pin GitHub Actions to specific commits and remove Rust FFI workflow
- `89f5ba2` release: prepare v0.8
- `5fabae8` Tighten worktree task mode workflow
- `9d3dd67` release: prepare v0.7
- `8cf26a9` Validate workflow and archive results
- `40eb84b` release: prepare v0.6.1
- `23e8cdf` release: prepare v0.6

### Docs

- `caa40a9` docs: refresh v1.1.2 release notes
- `56e3031` docs: add external api test scripts
- `627bc64` docs: add external service api test matrix
- `451e127` docs: align architecture and agent rules with unified bridge routing
- `a57f560` docs: update stale domain references in architectural documents
- `c272461` docs: announce JSON-RPC 2.0 as the default communication protocol
- `bf9776c` docs: add public API engineering docs
- `bd2bddf` docs: align app architecture to bridge mainline
- `f132c8d` docs: add test case coverage matrix
- `3f39b04` docs: record metadata issue and task routing
- `66d8c37` docs: consolidate core integration cases
- `0924cbe` docs: split retained and cleaned ui inventory
- `996a9fa` docs: assess next-stage web ui consolidation
- `446d5d4` docs: add cloud session multi-device architecture
- `3385b42` docs: add cloud session multi-device architecture
- `b8c6b3d` docs: fix stale planning references
- `0983f39` docs: consolidate planning docs under plans
- `13e4ff9` docs: add settings and assistant ui component matrix
- `bd1c643` docs(architecture): require per-task session key isolation
- `8d5ecaf` docs(architecture): add layered architecture overview
- `ebeedb2` docs(workflow): add refactor trigger standard and real file size guard
- `a9b4aaa` docs: simplify root readme
- `0df6f4a` docs(web): add ui planning baseline
- `eceef0c` docs(release): backfill version history through v0.7
- `96f2cd1` docs: clarify architecture baselines
- `c6e077e` docs: add secure persistence architecture and release pack

### Tests

- `1114948` test: remove hardcoded draft task fixture
- `b6117fa` test: track OpenClaw SSE keepalive diagnostics
- `0225f09` test: cover openclaw artifact result parsing
- `895778b` test: cover openclaw artifact sync to task workspace
- `214487e` test: align assistant auth failure expectation
- `94ae57f` test: lock provider selection mainline contract
- `05981c9` test: fix bridge real e2e string interpolation lint
- `ec4d75a` test: add real env login chain checks
- `be3a197` test: stabilize ACP 404 verification flows
- `c015acd` test: add automation suite coverage
- `25842cb` test: add layered Flutter+Go testing template and CI workflows
- `6ee84b4` test: stabilize installed skill e2e harness
- `3c85eeb` test: guard removed mobile and web ui shims
- `58ef555` test: add pairing guide widget tests
- `89ed967` test(ai-gateway): keep secrets in secure storage

### Refactors

- `3a89ad3` refactor: remove mobile approval surface
- `bc2e31f` refactor: remove stale skill routing paths
- `8778607` Refactor bridge runtime routing
- `fc16eec` refactor(account): optimize bridge state flow and align with production vhost routing
- `9c68ac0` refactor(runtime): eliminate local agent process management and CLI probing
- `ec0bab0` refactor(bridge): enforce remote bridge execution and remove local ACP fallbacks
- `08665cf` refactor(bridge): implement Single Source of Truth for bridge config and fix login persistence
- `37b1107` refactor(storage): unify persistent storage with robust error handling and simplified secret management
- `763e8f3` refactor: remove legacy single-agent provider selection flow
- `31f1a4d` Refactor bridge provider readiness and trim stale tests
- `033dd07` Refactor app execution semantics to agent and gateway
- `d2af063` Refactor settings account login flow
- `489a86a` refactor: remove stale single-agent runtime paths
- `ba013c3` refactor: move app settings to v1 single-file snapshot
- `8d70cfe` refactor: remove stale thread target fallback
- `1680305` refactor: remove silent local gateway fallback
- `8e98c5e` refactor: consume bridge-owned single-agent routing
- `e73d0f9` refactor: remove stale app-driven external ACP provider sync
- `48b1841` refactor(settings): keep screenshot-only settings scope and remove test assets
- `8158de9` Refactor single-agent providers to bridge catalog
- `e865c2c` refactor: remove web surface from xworkmate-app
- `4e80afa` refactor: collapse assistant modes into gateway grouping
- `173ccd8` refactor: unify task control plane
- `d5f91d4` refactor desktop single-agent mode selection
- `63fa644` Refactor single-agent execution chain
- `4c57493` Refactor thread state and runtime naming alignment
- `a486eb5` refactor: route task threads through go task service
- `0a602cf` Refactor TaskThread workspace binding semantics
- `fa6bbc2` refactor: complete shared ui cleanup baseline
- `987d522` refactor: unify app theme surfaces by scene
- `fa34971` refactor: simplify sidebar to flat task-first layout
- `6a75715` refactor: unify global left workspace sidebar
- `f7ef61f` refactor: simplify assistant sidebar navigation
- `3ef7b22` refactor: share settings page section shell
- `9c4e7f4` refactor: dedupe focus panel and move settings nav into sidebar
- `008c0b9` refactor(runtime): move multi-agent mounts into go-core
- `9e0c626` refactor(runtime): move dispatch resolution into go-core
- `a5e73ac` refactor(runtime): retire legacy direct single-agent path
- `231c159` refactor(go-core): carve batch0 internal packages
- `7780423` refactor(ui): remove sidebar open-workspace button
- `76fe331` Refactor assistant thread model to TaskThread
- `cc00864` refactor: execute stage0-5 workflow and tighten closure guards
- `f9efaa7` refactor(assistant): split task rail closure from assistant_page_main
- `c285f1e` refactor: remove Dart part mechanism across lib and test
- `739d054` refactor thread workspace resolution and align architecture docs
- `b52515c` refactor(batch6): split runtime suite core tests by behavior domains
- `98dd96b` refactor: split focus panel core files
- `fcecfab` Refactor UI feature manifest fallback data
- `3c80aa5` refactor runtime cores into focused parts
- `f211883` Refactor gateway runtime into focused parts
- `ca5bacb` refactor(batch3): split app controllers into focused desktop/web parts
- `e5b33c5` refactor(batch2): split settings pages into focused parts
- `6464684` refactor(batch2): split web workspace and mobile shell into focused parts
- `715e4ca` refactor(batch1): split assistant composer, web assistant, and suite into focused parts
- `e6286ee` refactor(tdd): split oversized first-party files with part-based modules and LOC guard
- `47b2f4b` refactor(assistant): split assistant page components into part file
- `a41e645` Refactor single-agent provider planning
- `ad62bfb` Refactor macOS status bar background runtime
- `60149e6` refactor(assistant): remove desktop local skills loader
- `13489b8` refactor(web): remove duplicate assistant header summary
- `f8873e8` refactor(web): compact header connection status
- `5397e8c` refactor(web): keep assistant home free of global sidebar
- `95af8db` refactor(web): align settings page with app layout
- `3e273fc` refactor(web): compress conversation summary into top chrome
- `79b8d07` refactor(web): move session controls into bottom sheet
- `9fc69df` refactor(web): align shell and focused entry chrome
- `7540a3a` refactor(appstore): use external single-agent app-server
- `b53b853` refactor: rename AI Gateway UI copy to LLM API
- `82a33b8` refactor(desktop): route assistant execution through gateway ACP
- `5cab0f5` Refactor work modes and gateway profiles
- `5d49ae3` Refactor assistant page and gateway runtime integration
- `ffced7f` Refactor settings persistence and upgrade recovery
- `0d3b9b1` refactor: align multi-agent workflow with real ollama cli
- `7793e92` refactor: unify settings drill-in navigation

### Merges

- `daed03a` merge codex skills grouped display
- `9158ad1` Merge branch 'codex/openclaw-skills-bridge-list'
- `8d47fb6` Merge branch 'codex/docs-app-external-api'
- `5f1f537` Merge ACP contract CI and remove golden fallback coverage
- `5c3f70e` Merge pull request #12 from x-evor/codex/provider-selection-test-mainline
- `67220e0` Merge branch 'codex/rewrite-task-dialog-modes'
- `7dc4b80` Merge branch 'codex/cs-mainline-cleanup'
- `5e9813b` Merge branch 'codex/remove-local-mode'
- `879451b` Merge branch 'codex/cleanup-single-agent-garbage'
- `5cb4c2d` Merge branch 'codex/bridge-provider-catalog'
- `47d3fa3` Merge branch 'codex/bridge-contract-task-dialog-rewrite'
- `e9ff99c` Merge branch 'codex/remove-stale-go-core'
- `98a72a8` Merge branch 'codex/remove-auto-mode'
- `d1ebdcd` Merge branch 'codex/remove-bundled-bins'
- `09bd5be` Merge branch 'codex/bridge-only-routing-cleanup'
- `3a2f238` Merge branch 'codex/settings-login-refactor'
- `8122021` Merge branch 'codex/remove-stale-app-runtime' into codex/merge-temp-all
- `f37e836` Merge branch 'codex/fix-gemini-agent-mode' into codex/merge-temp-all
- `248675c` Merge branch 'codex/fix-settings-resync-logout' into codex/merge-temp-all
- `3614650` Merge branch 'codex/fix-thread-target-gateway-check' into codex/merge-temp-all
- `d9a9047` Merge remote-tracking branch 'origin/main'
- `e636690` Merge pull request #11 from x-evor/codex/fix-gha-24242375328-push
- `68fdb27` Merge branch 'codex/fix-remote-gateway-acp'
- `2f81f53` Merge branch 'codex/app-only-cleanup'
- `e4a51b6` Merge branch 'codex/provider-ui-cleanup'
- `b4ecc34` Merge branch 'codex/dynamic-provider-source'
- `5deb431` Merge branch 'codex/bridge-provider-unify'
- `448ca01` Merge branch 'codex/merge-online-account-acp'
- `df57ce0` Merge account and ACP settings into advanced config
- `d7160ca` Merge branch 'codex/acp-bridge-modes-tests'
- `06a51d7` Merge branch 'codex/acp-bridge-modes'
- `74944c3` Merge branch 'codex/fix-home-backend-status-sync'
- `f921282` Merge branch 'codex/refactor-single-agent-dialog'
- `ccfa918` Merge branch 'codex/fix-target-refresh'
- `7f9fad1` Merge branch 'codex/task-sidebar-target-visibility'
- `cd30d5e` Merge pull request #5 from x-evor/codex/fix-single-agent-metadata-invalid-request
- `9c5ddd5` Merge branch 'codex/strict-taskthread-docs-align'
- `e962f92` Merge branch 'codex/strict-taskthread-workspacebinding'
- `efa89a9` Merge branch 'codex/fix-desktop-provider-catalog'
- `d9078cc` Merge branch 'codex/debug-thread-workspace-acp'
- `8a4f2ad` Merge branch 'codex/tls-acp-handshake-20260404'
- `ae307dd` Merge branch 'codex/pairing-loop-fix'
- `0e8aae1` Merge branch 'codex/acp-jsonfix'
- `d751f1d` Merge branch 'codex/auto-task-dialog-mode'
- `8bb8a5e` Merge remote-tracking branch 'origin/main'
- `ea28801` Merge codex/account-sync-mfa
- `4c3a071` Merge branch 'release/v1.1'
- `91ef1a5` Merge branch 'codex/t2-assistant-composer-split'
- `a1fedfe` Merge branch 'codex/refactor-batch6'
- `eb8b349` Merge branch 'codex/release-v1'
- `dc1fb76` Merge branch 'release/v0.8' into codex/release-v1
- `7154d0e` Merge branch 'codex/skills-symlink-scan'
- `f615480` Merge branch 'codex/remove-sidebar-logo-chevron'
- `ed27fde` Merge branch 'codex/reimplement-single-agent-local-skills-loader'
- `c9c4638` Merge branch 'codex/prune-external-acp-deps'
- `ca36600` Merge branch 'codex/remove-single-agent-local-skills-loader'
- `2550517` Merge branch 'codex/external-acp-bridge'
- `95044e3` Merge branch 'codex/fix-arrow-icon-size'
- `b937974` Merge branch 'codex/fix-mobile-scanner-warnings'
- `4a51eb9` Merge branch 'codex/adjust-workspace-path-semantics'
- `ec9dd64` Merge branch 'codex/fix-workspace-skill-roots'
- `593502c` Merge branch 'codex/single-agent-skills-cache'
- `44b326e` Merge branch 'codex/worktree-task-mode'
- `9c9c956` Merge branch 'codex/fix-export-compliance'
- `44eb8e0` Merge branch 'codex/single-agent-skills-picker'
- `f0dfc9a` Merge branch 'codex/web-remove-header-summary'
- `6c72bbd` Merge branch 'codex/web-header-status-chip'
- `cb30cca` Merge branch 'codex/web-home-without-global-sidebar'
- `05e3b93` Merge branch 'codex/web-ui-pages-from-plan)'
- `a115f45` Merge branch 'codex/web-ui-planning-docs'
- `fcc9202` Merge branch 'codex/web-settings-app-parity'
- `71569ee` Merge branch 'codex/web-remove-duplicate-settings-cta'
- `4721734` Merge branch 'codex/web-bottom-console-controls'
- `6cff9e0` Merge branch 'codex/web-homepage-app-layout'
- `c595216` Merge pull request #1 from x-evor/codex/web-homepage-app-layout
- `0d40dab` Merge branch 'codex/web-assistant-thread-session-parity'
- `4d3efc7` Merge branch 'codex/paste-image-attachment'
- `aecc39d` Merge branch 'codex/ui-tight-layout'
- `4a3369c` Merge branch 'codex/config-store-durable-path'
- `0ca992f` Merge branch 'codex/fix-thread-gateway-status'
- `d57ca31` Merge branch 'codex/web-chrome-db-parity'
- `650071a` Merge branch 'codex/windows-parity'
- `f2fb948` Merge branch 'codex/linux-gnome-desktop-parity'
- `ab3e292` Merge branch 'codex/windows-parity' into main
- `226a8e7` Merge branch 'codex/linux-desktop-parity' into main
- `69cfa1a` Merge branch 'codex/android-mobile-parity' into main

### Other

- `8cb97a0` Hide desktop agent dialog mode
- `eff678f` Keep sidebar task order stable
- `879ad62` Handle gateway default task workspace
- `62a8a74` Use remote workspace for OpenClaw execution
- `e8daf43` Remove OpenClaw direct ACP route
- `0226bc8` Polish assistant UI and add Service Mesh video case
- `64913aa` Refine assistant attachment payload handling
- `5346d0d` merge: fix iOS login mobile settings
- `f703299` merge: omit gateway metadata in local session mode
- `cdda2ca` merge: implement flutter and go testing framework
- `9c71b65` chore: add ios release verification assets
- `d3fae7b` merge: fix openclaw stop queue handling
- `4eae479` chore: bump app version to 1.1.2
- `184c7a4` chore: sync xcode version metadata
- `f658485` chore: bump macos submission version
- `8ce4622` chore: update app build metadata
- `f8bf855` chore: bump app build metadata
- `4589300` Use git HEAD for macOS build metadata
- `897c392` Sync app build metadata
- `9df22b2` chore: remove stale gateway settings and app ffi paths
- `d1113ff` Remove runtime session task binding
- `7aa87c8` Fail release preflight when Apple signing is missing
- `1f67319` Stabilize OpenClaw queue overflow test
- `cf9585c` Stabilize OpenClaw gateway queue tests
- `39f78c4` Show historical files for empty OpenClaw runs
- `34b2256` Align gateway execution target test with thread binding
- `6f1909c` Queue OpenClaw gateway tasks locally
- `700e463` merge: openclaw acp artifact sync
- `dea3d8e` Cover OpenClaw gateway submit endpoint
- `0896186` Sync inline ACP artifacts from task results
- `a3f205c` Stabilize app shell surface test
- `05d3f43` Show ACP provider failures in task output
- `317975c` chore: sync runtime protocol docs
- `db0582c` Refine bridge routing and settings cleanup
- `c6efeb8` Refine assistant bridge capability flow
- `f082cea` Expose Hermes in bridge provider catalog
- `ced64cf` Refine signed-in account status layout
- `b10b532` Refine account sync bridge state model
- `6d0e976` chore(aris): remove legacy ARIS assets and clean up associated code
- `eb97a74` chore(bridge): update SSH inspection script to target xworkmate-bridge.svc.plus and Caddy config
- `f99f4d4` Lock bridge ACP contract and remove app fallback state
- `99352d0` merge: repair cross-platform release CI gating
- `0a6ae27` Drive task dialog providers from bridge catalog
- `8830fb8` Use direct profile sync for account bridge setup
- `49594bb` Refresh agent providers on agent selection
- `6121071` Clean C/S surfaces down to assistant and settings
- `cb936ad` Remove bridge fallback runtime code
- `9e5c061` Remove desktop bridge legacy chain
- `29db450` Remove app-side pairingRequired connection state
- `bc65560` Remove managed local bridge mode
- `155c4e3` Refine assistant task dialog mode mapping
- `998600e` cleanup assistant single-agent code paths
- `1591c25` Remove all repo test cases
- `f3b3179` Clean bridge provider unavailable UX copy
- `8cc0506` Replace OpenClaw gateway provider text with lobster badge
- `248b40f` Clean bridge provider routing and refresh repo instructions
- `cfaa613` Validate macOS app bundle dependencies
- `7af9d47` Remove local CLI and provider mirror decisions
- `01bd9e2` Remove gateway fallback from bridge task runtime
- `0078f01` Route assistant threads through canonical bridge entry
- `fbc1ff8` Unify bridge sync gating for ACP sessions
- `502b67a` Unify bridge sync field names
- `7b21815` Document bridge sync contract chain
- `9ac3002` Refresh bridge capabilities after account sync
- `a1cfdd3` Show bridge resultSummary in task output
- `49d3036` Remove project selection from task threads
- `e15898f` Simplify bridge login sync
- `806aef8` Align app bridge API contract
- `cd75f4a` Remove app-side auto bridge provider mode
- `641d915` Remove bundled app helper binaries
- `59866d8` Enforce bridge-only production routing in app
- `e4c2bc4` Use bridge session client for desktop gateway runtime
- `6c7f27d` chore: suppress noisy macos third-party build warnings
- `d16e7ce` Update build-and-release.yml
- `b72c11c` merge: absorb codex/cleanup-stale-local-gateway
- `9fc695b` merge: absorb codex/remove-silent-local-fallback
- `cfc79d3` merge: absorb codex/bridge-owned-single-agent-wave2
- `cb424fb` merge: absorb codex/fix-gha-24242375328-push
- `061d58f` merge: absorb codex/ci-merge-testing
- `e1429b2` merge: consolidate CI and thread binding branch work
- `5aed098` chore: commit agents instruction updates and core functional test plan
- `9e60e40` merge: settings screenshot-only cleanup
- `60c2996` remove app legacy account and secret compat
- `38173f8` Support bridge bootstrap QR and codes
- `a8a1a25` Document bridge-only provider architecture
- `531ae26` Clean up bridge provider dialog copy
- `97fab17` Align bridge core path and secure account sync
- `7b04032` merge: bring in ACP bridge failure diagnostics
- `ace301f` chore: ignore golden failure artifacts
- `54cd716` merge: integrate ACP result contract fixes
- `c39ba63` merge: bring in login chain env test
- `f02c332` Split ACP bridge into standalone repository
- `36fedfa` Hide experimental gateway modes by default
- `e46a69b` Expand ACP bridge mode semantics tests
- `5c521da` merge: switch desktop ACP to direct Go stdio bridge
- `c2a716f` cleanup: switch desktop ACP paths to direct Go stdio bridge
- `d3a4031` merge: remove ACP bypass fallbacks and stale architecture docs
- `8498fb7` cleanup: remove ACP bypass fallbacks and stale architecture docs
- `8cc6106` merge: unify single-agent task flow under ACP
- `dd2ba77` Unify single-agent task flow under ACP
- `0ba9f71` chore: checkpoint current workspace changes
- `e2bebe6` Refine ACP platform boundaries and tests
- `d262ab2` merge: pairing status sync
- `eb173a7` Remove legacy auto execution target routing
- `d01358d` Preserve auto execution targets in assistant UI
- `7ab4d25` Refine task sidebar target visibility and title persistence
- `5f508b9` Hide auto task dialog mode when feature flag is disabled
- `05939fc` Disable auto task dialog mode flag
- `2294597` Preserve macOS app signatures during packaging
- `dea09ea` Clean legacy task thread state plumbing
- `72a7972` Align strict TaskThread workspace semantics
- `a665f67` Bundle go-core helper with macOS app and drop external CLI fallback
- `5305b80` merge: consolidate core integration docs
- `4509cf9` Remove 'verify' job dependency from build
- `f3c243e` Support prefixed ACP endpoints
- `48131b0` Handle ACP HTML fallback errors
- `4457056` Tighten localhost auth bypass and add arbitrary secret refs
- `b2ddbd6` Align desktop ACP card actions
- `94b6e38` Polish web ACP endpoint card actions
- `7c3bd21` Handle background capability refresh failures
- `325b437` Clean up auto routing gateway terminology
- `bb1682d` merge: add macOS main window menu action
- `7736ea8` merge: refine account signed-out login card
- `c587497` merge: bring installed skill e2e harness into main
- `7529de8` merge: sync release-v1.1 docs into main line
- `59d7eb6` style: streamline settings section shells
- `16a00c6` style: soften settings page borders
- `7c0669d` style: remove desktop sidebar reveal border
- `fad8ada` style: move desktop sidebar reveal control to top
- `5c8e57a` style: move collapsed sidebar expand control to top
- `238d195` style: balance desktop sidebar toggle placement
- `98d0970` style: tighten assistant chrome controls
- `7190231` style: unify compact radii and resize lane chrome
- `448e368` style: remove extra outer gutter between sidebar and workspace
- `886f16a` style: mirror sidebar gutters with artifact pane
- `dbe9b44` style: balance shell gutters and sidebar minimum widths
- `f4fb200` style: align workspace chrome with calm compact tokens
- `bae560b` chore: ignore local worktrees directory
- `f2e1cb2` Flatten settings navigation into unified overview
- `788c9e2` merge: restore workspace-root thread binding before single-agent send
- `caaf1f9` chore(release): bump version to 1.1.0
- `a61b604` Unify settings page submit actions
- `b2434d7` Simplify settings apply flow
- `755e9e6` Batch 6: normalize gateway chat run streaming
- `73c54ac` Batch 5: remove silent desktop gateway fallback
- `f225ad5` Batch 4: sink gateway runtime into go core
- `1832043` merge: bring workspace-root fallback fix into main
- `d06d54e` Migrate task thread runtime to Go Agent-core
- `8530ce4` refine artifact sidebar workspace path header
- `720e72d` Update iOS build settings and version metadata
- `f153d7b` chore: sync version and web controller status helpers
- `8d52f28` merge: remove Dart part mechanism across lib and test
- `1fb8e82` update lib/web/Dockerfile
- `0ffa049` Tighten assistant composer default layout
- `bcf6ebf` Refine assistant composer anchoring and beta release copy
- `f6ad983` Refine macOS Xcode entrypoint and CocoaPods SDK refs
- `0fc8739` Split desktop app controller responsibilities
- `f39a55c` Refine desktop agent launch policy
- `189bf69` Split single-agent transports by protocol
- `ddee3ce` Classify single-agent endpoint modes
- `c5d8caa` Hide assistant task status chrome and retry task actions
- `64b8169` Reduce assistant page reading chrome
- `7f2e9bd` Adopt document workspace visual baseline
- `473f6ec` Simplify assistant skill picker labels
- `7be82ec` Tighten assistant center pane layout
- `3fc1b40` Simplify skill list items to names only
- `e3fc4f5` Isolate assistant thread working directories
- `96063b8` Clean legacy ACP placeholder providers
- `a09b129` Refine assistant provider settings flows
- `f9e31b6` Support absolute local skill package imports
- `5b5dd26` Support symlinked skill directories
- `05f2e91` Clean repo skills config and support custom ACP endpoints
- `0588363` merge: fold codex/modules-skills-modes into main
- `6dffa1c` update README download and snapshot layout
- `657bb9e` refine external ACP provider settings UI
- `e25fc9f` Tighten artifact sidebar reveal toggle
- `9f17fb4` Replace sidebar logo with chevron icon
- `5e37d19` Rebuild desktop single-agent local skills loader
- `d3ff606` tooling: prune external acp bridge assumptions
- `c76561d` Remove desktop single-agent local skills loader
- `2913e1b` tooling: add external acp config helper
- `2c72265` Use default arrow icon for artifact sidebar
- `de5c7dc` Suppress mobile scanner ignored attributes warnings
- `dd0e1fb` Refine single-agent local skill root precedence
- `e54dcc4` Include workspace skill roots by default
- `2cb75d5` Refine single-agent skills caching
- `12abfb5` Refine sidebar door icons and artifact toggle placement
- `1ad00f5` Move artifact pane reveal button to top-right
- `bcaaaa9` Refine assistant composer icon-only controls
- `18b7d72` chore: commit remaining workspace changes
- `560e0df` Adjust DMG default icon placement
- `8c6d15b` Remove assistant header copy from desktop conversation view
- `0520f35` Connect mobile directly from scanned setup codes
- `d2a76e4` chore(docs): update release docs tooling
- `a4ba4bf` chore(release): add app encryption compliance docs
- `fd402c3` Bump release version to 0.7.0
- `9679f12` Restore ACP settings save/apply actions
- `c7bd585` Isolate test persistence roots
- `3ce78ae` Update CocoaPods locks for file-backed store
- `299291d` Harden file persistence fallback state
- `3419f03` Recover deleted transient workspace paths
- `22ceb3b` Rebuild desktop persistence as file stores
- `c7101bf` Remove legacy persistence implementation
- `c9852fd` Rename ARIS bridge to go core
- `048eb0c` Remove legacy settings recovery path
- `0a520f7` Remove discoveredSkills runtime remnants
- `608b9f3` Clean up first-batch single-agent skills flow
- `beed9f9` Refine gateway source chip labels
- `92547b1` Isolate gateway secrets per profile slot
- `8d6c4a9` Simplify durable storage initialization
- `89b3826` Refine LLM endpoint settings layout
- `55df3db` merge: external single-agent app-server for app store
- `28b279f` chore(release): bump to v0.6.2 and gate account access
- `213ca0e` merge: acp mainline convergence
- `1d27b05` Enforce durable config paths and disable implicit memory fallback
- `6368817` Refine single-agent thread scoped provider flow
- `963ff9b` Remove task CTA noise from assistant and tasks views
- `ac7f932` Make gateway integration sections collapsible
- `085041e` Rename AI Gateway mode to Single Agent
- `7994d42` chore: remove CodexBar submodule
- `89bd492` Unify gateway settings actions and harden persistence tests
- `43388e1` Clarify internal architecture documentation
- `72ecd1f` Unify legacy config pages into settings center
- `abea2b4` Integrate gateway settings into integrations page
- `98409d1` Refine AI Gateway action buttons
- `7cf4957` Stabilize assistant composer shell sizing
- `6604711` Auto-import gateway-only discovered skills into available list
- `77ab128` Persist assistant state and add local recovery cleanup
- `90e20a7` Harden web session persistence flow
- `f65bb15` Adjust desktop sidebar default width
- `04f3474` Synchronize assistant threads and markdown view
- `528c3cd` Prepare v0.5 release
- `6280e75` Stabilize ARIS packaging and Ollama Cloud settings
- `47473e0` Integrate ARIS bundle and Go bridge runtime
- `0438dc5` Repair codex integration test baseline
- `14debf9` Group assistant task list by execution target
- `c679d6a` Unify task dialog gateway modes
- `f4355ce` Polish gateway access panel layout
- `3e49680` Refine cross-platform workspace theme
- `bf61e97` tune gateway dialog typography
- `4ab4db0` soften desktop chrome surfaces
- `df76214` compress desktop workspace chrome
- `098d9a2` compress workspace typography scale
- `092f497` tighten compact typography rhythm
- `09ad016` refine desktop typography density
- `973d176` Switch gateway with assistant execution target
- `92c536b` Refine assistant composer controls
- `32c5534` Refine assistant skill picker and disable codex bridge test
- `c0a6ac5` Finish secure settings storage and refresh workspace UI
- `cc80fd4` merge: bring release/v0.2 into main
