Changelog
- 20a64b4 Merge pull request #6373 from SivanCola/fix/opaque-review-coverage-guidance
- c0980b8 fix(desktop): keep readiness pause visible and non-alarming
- c934d9d fix(desktop): present readiness as recoverable status
- 57f95f0 feat(desktop): localize notice copy by stable event codes
- cd6ced8 fix(agent): lead opaque-coverage hint with the missing-paths reason
- d253c0c fix(agent): explain opaque review coverage recovery
- 7951413 Merge pull request #6372 from SivanCola/fix/todo-panel-default-collapsed
- 8232b85 Merge pull request #6371 from SivanCola/feature/workspace-open-by-default
- a1687ba test(desktop): merge duplicate default-collapsed assertions
- a7dfe48 Merge pull request #6361 from SivanCola/fix/rich-composer-duplicate-input
- 99d977c fix(desktop): collapse todo panel by default
- ca0762b Open workspace panel by default
- e71e2be fix(desktop): preserve invocation offsets around pasted blocks
- 663abb0 fix(desktop): resync reverted rich composer drafts
- 0b69cf3 Merge pull request #6367 from SivanCola/fix/diagnostics-null-array-crash
- 501aec7 Fix desktop null array contracts
- be89166 fix(desktop): prevent duplicate rich composer input
- a70c91a Merge pull request #6351 from SivanCola/fix/transcript-fold-content-visibility
- 3d340fb Merge pull request #6352 from SivanCola/fix/steer-queue-drop
- d355ece Merge pull request #6310 from SivanCola/feature/subagent-profiles
- ec53a9e test(desktop): adapt stale-workspace fixtures to verbatim steer turns
- f53b92c fix(desktop): follow-up hardening for subagent profiles and composer entities
- 72562f6 fix(desktop): keep the turn timeline in segmented folds and sync the fold preference
- 51f9fd9 fix(agent): language-proof steer replay and park the steer fallback
- 3fecbd4 fix(desktop): harden subagent composer flows and profile CRUD admission
- 9f954bb fix(desktop): keep assistant content and mid-turn steers outside the work fold
- 19903f6 fix(agent): flush unconsumed steers at turn exit instead of dropping them
- 21b95c4 fix(desktop): focus composer from blank space
- 4f4aabd fix typed recent session trigger
- e6a614d refine desktop content menu affordances
- 19d532d Merge pull request #6347 from SivanCola/fix/project-default-model-fallback
- 7b2aa30 fix desktop content menu visual regression
- 977275c test(boot): cover project model fallback notice
- 0d0ac37 Merge pull request #6345 from SivanCola/fix/surface-provider-error-body
- 694c411 fix lint for subagent orchestration
- 4a40e44 fix subagent invocation and profile safety
- 8470d21 fix(config): fall back to user default_model when a project override is unresolvable
- 1830c4b fix(error): close the digit-free key gap in auth reason redaction
- 9ead6b5 Merge remote-tracking branch 'origin/main-v2' into fix/pr6310-followup
- e6057b1 fix(error): redact key echoes from the displayed auth reason
- e430190 Merge pull request #6341 from SivanCola/feature/runtime-profile-work-mode
- 8dab555 fix(provider): keep the auth body out of AuthError.Error()
- 57bf09a Merge remote-tracking branch 'origin/main-v2' into fix/pr6310-followup
- d7f8171 fix(error): carry the auth response body so 401/403 reasons surface too
- 22194e3 Merge remote-tracking branch 'origin/main-v2' into feature/runtime-profile-work-mode
- 29c260e Handle trailing newlines in composer triggers
- 3812eef fix(error): surface the provider's reason on 402/429/5xx too
- 11d9772 Merge pull request #6322 from SivanCola/feature/delivery-first-runtime-profiles
- 3a2e20a test: cover composer content menu run transitions
- 5c56460 fix: satisfy capability lint checks
- f0c00d7 Handle trailing newlines in slash commands
- 73d4817 style: use tagged switch in limitRouteCandidates (staticcheck QF1003)
- 8bab8fc test: stabilize composer tooltip focus
- 1587e94 Merge remote-tracking branch 'origin/main-v2' into feature/runtime-profile-work-mode
- 38f3774 feat: add TUI work-mode switching
- f3a7919 Merge remote-tracking branch 'origin/main-v2' into feature/delivery-first-runtime-profiles
- 4ec9c88 fix: unbreak CI vet and composer content-menu interactions
- 650b4bd Preserve custom subagent colors in chat
- 3bf6b6a Add composer content menu
- 05b7ad1 Support inline skill and subagent entities
- 6a4231d strengthen delivery capability routing
- c3b6390 default new desktop sessions to auto approval
- 19d580c feat(desktop): show structured skill invocations
- c22bc17 simplify runtime profile icons
- f78d49a unify composer control tooltips
- 267783a rename direct execution method to standard
- c68759e simplify execution method trigger
- d7969c5 simplify runtime profile trigger
- a898f72 simplify runtime profile summaries
- d0e8ad6 refine execution method copy and approval colors
- fc30cb6 fix(desktop): refine slash command groups
- f967a53 feat(desktop): group slash command menu
- 8795de7 refine composer control hierarchy
- a9b05c7 fix(desktop): refresh subagent slash commands
- a93fb38 feat: redesign task method selector
- 78e9e26 Merge pull request #6334 from SivanCola/fix/missing-reasoning-warn-once
- a0f2661 feat(desktop): launch subagents from settings
- 07cb564 refine work mode icon semantics
- 8adb814 fix(agent): dedupe missing tool-call reasoning warning to once per session
- 73fb8a6 feat desktop work mode selector
- 957f475 fix(desktop): unify subagent override pickers
- 3cfc30d fix delivery capability enforcement gaps
- 3a87d8d fix(desktop): align built-in subagent controls
- 3034b41 fix(desktop): prioritize custom subagents
- 78e7b71 Merge remote-tracking branch 'origin/main-v2' into feature/delivery-first-runtime-profiles
- 7d12d4c fix: gated first MCP discovery, shared-host snapshots, output-backed review evidence
- 6de67df fix(desktop): initialize custom subagent tools
- 47875cc Merge pull request #6327 from SivanCola/fix/mcp-tuple-schema-compat
- 18d4ed9 fix(provider): keep dialect updates inside their own schema resource
- 9c17e37 Merge main-v2 into feature/subagent-profiles
- 4d4d469 Merge pull request #6324 from SivanCola/fix/turn-admission-parked-submit
- af7ef8a fix(provider): drop the global schema memo, leave unknown dialects whole
- c9e35c2 Merge remote-tracking branch 'origin/main-v2' into feature/delivery-first-runtime-profiles
- f6496b3 fix: canonical MCP tool names, delivery-aware routing, strict review evidence
- 462074f fix(desktop): clarify inherited subagent tools
- 3af1f5b Merge pull request #6328 from SivanCola/feature/plugin-skill-qualified-names
- e681f59 test: guard qualified plugin skill completion
- ae1c9c2 fix(provider): sync schema dialect declarations and memoize normalization
- ece6220 fix(desktop): focus subagent profile editor
- 948901e Merge remote-tracking branch 'origin/main-v2' into feature/delivery-first-runtime-profiles
- 1f7a4ef fix: harden use_capability gating, lifecycle, and review evidence
- 865da17 fix: remove obsolete skill lookup helper
- ac2aa35 feat(plugin): qualify plugin skill slash names
- 7d98ddf Merge main-v2 into feature/subagent-profiles
- 6b2e54f fix(control): seal admission on close; gate RunTurn on the finishing window
- 487679e fix(desktop): refine subagent profile settings
- 7e9083e Merge origin/main-v2 into fix/turn-admission-parked-submit
- db44434 fix(provider): scope legacy tuple schemas to MiMo
- 72597aa Merge pull request #6326 from SivanCola/feature/plugin-command-qualified-names
- d6d59f0 Merge pull request #6323 from SivanCola/feature/reasonix-self-diagnostics
- fdefa16 Merge main-v2 and align capability diagnostics
- 4e61d66 feat(plugin): qualify plugin slash commands
- 8614161 docs: document subagent profile workflows
- 656e983 feat(cli): manage and run subagent profiles
- 1f5740a Merge pull request #6319 from SivanCola/feature/unified-decision-surface
- e7e5bc2 feat: add runtime profiles and delivery capability routing
- 39e7118 fix(capdiag): route transport error text through the shared secret redactor
- c9991da Merge pull request #6311 from SivanCola/fix/claude-plugin-commands-mapping
- 2272012 fix: isolate slash-invoked subagent profiles
- 270c948 fix: address capability diagnostics review findings
- 46a2485 fix(desktop): track approval/ask wait in per-tab controller state
- 4b28e9a fix(desktop): ask keyboard confirm and scoped pause timing
- dea783d fix(plugin): derive the update backup path from the staging name
- 4a57bb8 fix(control): park turns landing in the finishing window instead of dropping them
- eb066af feat: built-in reasonix-guide and unified capability diagnostics
- 7e2a41e test(control): wait out the finishing window instead of racing TurnDone
- bd6f75b fix(plugin): stage and verify plugin updates before swapping them in
- 6969fa3 feat(desktop): unify footer decision surface for approvals and asks
- 22008f2 fix(desktop): root try-run tools to the active workspace; guard update/delete identity
- 8cf676e fix(plugin): keep copy-mode installs faithful to the approved plan
- ce18d20 fix: harden sibling frontmatter writers, review CLI confinement, test deadlines
- 54b1bf9 Merge pull request #6309 from SivanCola/fix/auth-open-redirect
- feff9f4 fix(plugin): pin GitHub plugin installs to the approved commit
- 2b7e573 ci: run site node:test suite on every PR
- 0f7649a fix(desktop): harden subagent profile editing, try-run, and overrides
- c954b8c fix(site): return absolute href from safeNext to close dot-segment escape
- 2ef71c8 fix(plugin): plan GitHub plugin installs from the real source tree
- fdc69af fix(site): parse next redirects via new URL() instead of raw prefix checks
- d389455 feat(plugin): map Claude plugin commands to custom slash commands
- 6eed8f2 fix(site): reject protocol-relative next redirects in auth.js
- 2d9b164 feat(desktop): add subagent profile settings page / 新增子智能体设置页
- 0939c1d Merge pull request #6227 from ttmouse/fix/mcp-image-result-6169
- 2e854a5 fix(mcp): carry tool result images structurally instead of inline markdown
- a7b32c1 Merge remote-tracking branch 'origin/main-v2' into wt1
- fdbf7da fix(provider): structurally pass MCP tool result images to vision models
- 238e0af fix(plugin): include MCP image content in tool results (#6169)