Repository navigation
release-v1.0.205
·
1993 commits
to main
since this release
What's Changed
- feat: add admin dashboard backend (user stats, REST APIs, WS tracking) by @xxx111x1 in #111
- feat: add admin dashboard tab in Settings by @xxx111x1 in #110
- test: add admin dashboard tests (161 tests) by @xxx111x1 in #112
- fix: Dashboard dark theme visual contrast by @xxx111x1 in #113
- test: add admin dashboard dark theme contrast tests by @xxx111x1 in #114
- fix: Dashboard styling for both light and dark themes by @xxx111x1 in #115
- fix: always show refresh button in Crew header on mobile by @xxx111x1 in #116
- test: add dashboard dual-theme tests and update CSS brace counts by @xxx111x1 in #117
- fix: Crew refresh button disabled only by refreshingSession by @xxx111x1 in #118
- feat: Chat typing dots indicator when AI is processing by @xxx111x1 in #119
- feat: replace dev group count buttons with number input (1-5) by @xxx111x1 in #120
- feat: add language toggle button to login page by @xxx111x1 in #121
- fix: resolve FilesTab TDZ error causing empty file browser by @xxx111x1 in #122
- fix: resolve crew header hamburger icon overlapping refresh button by @xxx111x1 in #124
- fix: hide completed tool actions in chat mode by @xxx111x1 in #123
- fix: remove hardcoded CSS brace count from tests by @xxx111x1 in #125
- test: remove 467 valueless tests by @xxx111x1 in #126
- fix: Windows agent upgrade fails due to file locking by @xxx111x1 in #127
- test: add 34 tests for Windows agent upgrade logic by @xxx111x1 in #128
- feat: sort sidebar sessions by last activity within each group by @xxx111x1 in #129
- test: add 19 tests for sidebar sort-by-activity by @xxx111x1 in #130
- fix: resolve blank screen when switching from Chat to Crew session by @xxx111x1 in #131
- test: add 40 tests for crew session switch blank screen fix by @xxx111x1 in #132
- fix: show dotfiles in Workbench file browser by @xxx111x1 in #133
- feat: persist chat tool actions and show execution start time by @xxx111x1 in #134
- feat: auto-submit single-select AskUserQuestion and collapse answered cards by @xxx111x1 in #135
- fix: sidebar sort only reorders on user message send by @xxx111x1 in #136
- fix: prevent PM2 auto-restart race during Windows Agent upgrade by @xxx111x1 in #137
- fix: remove current session forced-first sidebar sorting by @xxx111x1 in #138
- fix: Crew session sidebar sorting not updating on message send by @xxx111x1 in #139
- fix: inherit global MCP disallowedTools in Crew mode by @xxx111x1 in #140
- feat: skills autocomplete grouping and descriptions by @xxx111x1 in #141
- feat: add MCP Settings Tools tab with full-chain toggle by @xxx111x1 in #142
- feat: pass --project flag to Claude CLI for Crew roles by @xxx111x1 in #143
- revert: remove --project flag from CLI args by @xxx111x1 in #144
- feat: add slash commands autocomplete to Crew input by @xxx111x1 in #145
- fix: isolate slash commands per conversation by @xxx111x1 in #146
- feat: Chat conversation-level MCP management by @xxx111x1 in #147
- fix: MCP badge spacing, eager MCP list, log tool names by @xxx111x1 in #148
- fix: add HTTPS scheme support to Port Proxy by @xxx111x1 in #149
- fix: MCP dropdown visibility + disallowedTools full tool names by @xxx111x1 in #150
- fix: MCP dropdown Teleport to body (escape transform containing block) by @xxx111x1 in #151
- feat: rewrite absolute paths in proxied HTML responses by @xxx111x1 in #152
- fix: handle CORS for proxied requests by @xxx111x1 in #153
- feat: Dynamic Message filter human + visual distinction by @xxx111x1 in #154
- feat: mobile Files panel list-to-detail navigation by @xxx111x1 in #155
- feat: Sidebar session group collapse/expand by @xxx111x1 in #156
- test: Dynamic Message human filter + visual style tests by @xxx111x1 in #157
- fix: mobile file tree not filling available height by @xxx111x1 in #158
- fix: show human messages in crew active messages area by @xxx111x1 in #159
- feat: Crew role memory restore after clear by @xxx111x1 in #160
- feat: i18n memory restore prompt after role clear by @xxx111x1 in #161
- feat: Crew @ROLE /skill direct dispatch by @xxx111x1 in #162
- refactor: clean up ROUTE from templates, add team-specific collaboration prompts by @xxx111x1 in #164
- feat: Virtual Crew web store, templates, and i18n by @xxx111x1 in #166
- feat: Virtual Crew agent/server core (vcrew sessions, system prompt, validation) by @xxx111x1 in #167
- feat: Virtual Crew front-end UI components by @xxx111x1 in #165
- fix: adapt VCrew conversation UI (header, empty state, layout) by @xxx111x1 in #168
- fix: pass ROUTE block taskId to sendCrewOutput for correct feature attribution by @xxx111x1 in #169
- rename: VCrew/virtualCrew → RolePlay/rolePlay by @xxx111x1 in #170
- feat: RolePlay UI reuse Crew 3-panel layout by @xxx111x1 in #172
- feat: RolePlay ROUTE protocol simulation by @xxx111x1 in #173
- feat: import .crew context into RolePlay sessions by @xxx111x1 in #171
- fix: AskUserQuestion card not collapsing after confirm by @xxx111x1 in #174
- fix: typing dots disappear during tool calls (task-15) by @xxx111x1 in #176
- fix: resolve generic ROUTE targets to actual instance names by @xxx111x1 in #175
- fix: preserve .crew/context/ when deleting Crew session by @xxx111x1 in #177
- fix: RolePlay sidebar section disappears when collapsed by @xxx111x1 in #178
- feat: auto-compact with configurable threshold for all modes by @xxx111x1 in #179
- fix: resolve P0 Windows upgrade issues by @xxx111x1 in #180
- feat: preserve user data on Crew delete, merge stats on recreate by @xxx111x1 in #181
- fix: update test assertions for task-19 changes by @xxx111x1 in #182
- feat: align RolePlay UI with Crew (task-23 Batch 1) by @xxx111x1 in #183
- fix: resolve 3 Crew billing/token tracking bugs by @xxx111x1 in #184
- feat: RolePlay ↔ Crew bidirectional .crew context sync by @xxx111x1 in #185
- fix: resolve Crew clear/refresh P0+P1 race conditions (task-27) by @xxx111x1 in #186
- fix: restore detached:true for Windows upgrade + fix DEP0190 by @xxx111x1 in #187
- feat: preserve memory across Crew delete + recreate (task-29) by @xxx111x1 in #188
- feat: RolePlay .roleplay/ directory and session management (task-31) by @xxx111x1 in #189
- fix: resolve context/ path ambiguity in crew templates (task-32) by @xxx111x1 in #190
- fix: compare role config before auto-resuming Crew session (task-33) by @xxx111x1 in #191
- fix: escape glob pattern in JSDoc that broke ESM parsing by @xxx111x1 in #192
- fix: add process.exit(0) to create-user.js to prevent zombie processes by @xxx111x1 in #193
- feat: RolePlay @mention routing + role display fallback (task-34) by @xxx111x1 in #194
- feat: RolePlay multi-team templates (task-35) by @xxx111x1 in #195
- fix: Crew scroll-to-load-history broken on scroll trigger (task-36) by @xxx111x1 in #196
- fix: restore Crew roles after server restart (task-37) by @xxx111x1 in #197
- fix: hide RolePlay @mention ROLE signal from chat UI (task-38) by @xxx111x1 in #198
- fix: RolePlay remove icon fallback + suppress role title in responses (task-40) by @xxx111x1 in #199
- feat: RolePlay session restore + skip .crew sync (task-41) by @xxx111x1 in #200
- fix: auto-compact token estimation + prompt overflow retry (task-42) by @xxx111x1 in #201
- fix: simplify RolePlay role panel (task-43) by @xxx111x1 in #202
- fix: clean up RolePlay empty state (task-44) by @xxx111x1 in #203
- fix: sidebar bottom simplify + session panel equalization (task-45) by @xxx111x1 in #204
- fix: session-panel content-based sizing hotfix (task-45) by @xxx111x1 in #205
- fix: RolePlay header — add panel toggles + action buttons (task-47) by @xxx111x1 in #206
- test: prune low-value test cases - batch 2 by @xxx111x1 in #207
- test: prune low-value test cases - batch 3 by @xxx111x1 in #208
- test: prune low-value test cases - batch 1 by @xxx111x1 in #209
- fix: lower auto-compact threshold from 110k to 100k by @xxx111x1 in #210
- fix: RolePlay role display bug + remove left role panel (task-52) by @xxx111x1 in #211
- fix: RolePlay header button gap (task-52) by @xxx111x1 in #212
- fix: typing indicator left padding in Crew/RolePlay (task-52) by @xxx111x1 in #213
- fix: RolePlay center panel left padding (task-52) by @xxx111x1 in #214
- feat: upgrade trading team — 4 roles + iterative workflow (task-53) by @xxx111x1 in #215
- feat: split release into dev/production workflows by @xxx111x1 in #219
- fix: revert auto-compact threshold default to 110000 by @xxx111x1 in #221
- fix: resolve ROUTE target names via roleType/prefix fallback (task-56) by @xxx111x1 in #222
- fix: use hidden flag for crew session UI delete (task-57) by @xxx111x1 in #223
- fix: prevent Crew roles lost on refresh/page reload (task-58) by @xxx111x1 in #225
- feat: passthrough expertSelections from frontend to agent (task-65) by @xxx111x1 in #226
- feat: add Expert Panel (帮帮团) frontend components (task-64) by @xxx111x1 in #227
- fix: mobile chat input invisible due to missing min-height: 0 by @xxx111x1 in #228
- fix: ExpertPanel mobile UI — i18n, overlay, scroll by @xxx111x1 in #229
- fix: ExpertPanel mobile touch scroll + drag handle (task-68) by @xxx111x1 in #230
- fix: build.js CSS auto-sync from index.css (task-69) by @xxx111x1 in #231
- feat: dynamic compact threshold per model context (task-70) by @xxx111x1 in #232
- Remove all RolePlay functionality by @xxx111x1 in #233
- Add mobile-only page reload button by @xxx111x1 in #234
- Fix DB message rebuild: actions grouping + empty cards by @xxx111x1 in #235
- Add agent-side expert roles message templates (帮帮团) by @xxx111x1 in #236
- Add admin-only visibility for expert panel teams by @xxx111x1 in #237
- test: expert panel team admin visibility (task-78) by @xxx111x1 in #239
- Replace writing team with Chinese writers (task-77) by @xxx111x1 in #238
- fix: align expert chips with input + optimize sidebar heights (task-79) by @xxx111x1 in #240
- fix: sidebar panels compact layout with max-height cap (task-79) by @xxx111x1 in #241
- fix: expert panel — remove borders, inline search in header by @xxx111x1 in #242
- fix: redesign expert chips — outlined style (task-82) by @xxx111x1 in #243
- fix: Windows upgrade PM2 race + VBScript detached spawn (task-83) by @xxx111x1 in #244
- fix: move search to separate row below team tabs (task-84) by @xxx111x1 in #245
- fix: switch to restored crew session on user-initiated restore (task-85) by @xxx111x1 in #246
- fix: rewrite localhost URLs in proxy responses to public origin by @xxx111x1 in #247
- ci: remove agent npm publish from production release by @xxx111x1 in #248
- style: refine expert team tabs visual by @xxx111x1 in #249
- refactor: expert panel mobile right-slide + remove search by @xxx111x1 in #250
- fix: mobile tool-line truncation hiding status/time/expand by @xxx111x1 in #251
- fix: sidebar group header icons visibility by @xxx111x1 in #252
- fix: decision maker messages stay in global stream by @xxx111x1 in #253
- feat: active messages show per-feature latest (task-91b) by @xxx111x1 in #254
- feat: decision maker messages dual-copy in global + feature (task-91c) by @xxx111x1 in #255
- refactor: remove active messages area and feature thread from center panel by @xxx111x1 in #256
- feat: feature message view in right panel with 50/50 expand by @xxx111x1 in #257
- fix: feature panel UX — click expand, summary, timestamps by @xxx111x1 in #258
- fix: feature panel sticky header, role colors, empty filter, action layout by @xxx111x1 in #259
- fix: visibleBlocks only count global blocks to prevent PM messages from being pushed out by @xxx111x1 in #260
- fix: sticky header content bleed + empty feature data-level filtering by @xxx111x1 in #261
- fix: restore isDecisionMaker on refresh + fix feature summary reactivity by @xxx111x1 in #262
- disable: custom auto-compact — let Claude Code handle compaction by @xxx111x1 in #264
- feat: add time-dimension statistics to admin dashboard by @xxx111x1 in #268
- docs: update README screenshots with fresh JPEG captures by @xxx111x1 in #269
- feat: add /skills to autocomplete by @xxx111x1 in #263
- feat: prestart Claude CLI for eager skills/tools/model by @xxx111x1 in #265
- fix: feature panel completion accuracy + streaming pulse + panel alignment by @xxx111x1 in #266
- fix: extract embedded tool_use from assistant content after refresh by @xxx111x1 in #267
- docs: add Crew feature panel screenshots by @xxx111x1 in #270
- docs: replace README screenshots with real service captures by @xxx111x1 in #271
- docs: update all README screenshots by @xxx111x1 in #272
- docs: add Chinese UI screenshots for README.zh-CN.md by @xxx111x1 in #273
- docs: upgrade all README screenshots to 2x HiDPI by @xxx111x1 in #274
- docs: sync VitePress site images with README screenshots by @xxx111x1 in #275
- docs: sync VitePress site content with README features by @xxx111x1 in #276
- docs: fix 4 broken Chinese screenshots by @xxx111x1 in #277
- docs: fix Chinese workbench screenshot by @xxx111x1 in #278
- fix: show all features in panel regardless of message state by @xxx111x1 in #279
- fix: filter empty shell features from crew feature panel by @xxx111x1 in #280
- fix: ensure feature panel shows all roles' ROUTE messages by @xxx111x1 in #281
- feat: inline editing for Crew session names by @xxx111x1 in #282
- feat: crew header edit button + concurrency editing by @xxx111x1 in #283
- fix: prevent duplicate chat output from result_text by @xxx111x1 in #284
- fix: thorough duplicate output prevention (v2) by @xxx111x1 in #285
- feat: disable invitation code for open registration by @xxx111x1 in #286
- fix: sort crew roles by type priority after adding new roles by @xxx111x1 in #287
- fix: add 15s timeout guard for crew refresh spinner by @xxx111x1 in #288
- feat: show human messages in feature detail + add pagination by @xxx111x1 in #289
- fix: add trust proxy for correct client IP behind reverse proxy by @xxx111x1 in #290
- feat: dashboard column sorting + load-more pagination by @xxx111x1 in #291
- fix: scope agent Map key by owner to prevent cross-user collision by @xxx111x1 in #292
- feat: upgrade crew team template prompts by @xxx111x1 in #293
- feat: upgrade dev team template prompts (task-116a) by @xxx111x1 in #294
- feat: add autonomous iteration loop to crew decision-maker roles by @xxx111x1 in #295
- feat: upgrade crew iteration to dual-mode with roundtable + cross-validation by @xxx111x1 in #296
- fix: restore streaming output for Crew and Chat modes by @xxx111x1 in #297
- feat: upgrade all 26 expert panel role prompts by @xxx111x1 in #298
- feat: /btw server layer message forwarding by @xxx111x1 in #299
- feat: implement /btw side question agent layer by @xxx111x1 in #300
- feat: /btw side question frontend by @xxx111x1 in #301
- fix: auto-fix node-pty spawn-helper permissions on macOS/Linux by @ZhaoChaoqun in #302
- feat: persist AskUserQuestion requestId for refresh recovery by @xxx111x1 in #305
- feat: extract shared AskCard component for Chat and Crew modes by @xxx111x1 in #306
- refactor: rename fixSpawnHelperPermissions → ensureSpawnHelperPermissions by @ZhaoChaoqun in #303
- fix: ensure crew role cwd directory exists before spawn by @ZhaoChaoqun in #308
- fix: delete session server-side when agent is offline by @ZhaoChaoqun in #304
- fix: remove zombie agents from dropdown on disconnect by @ZhaoChaoqun in #307
- fix: exclude ping heartbeats from request count by @xxx111x1 in #309
- fix: crew mode AskCard stuck in loading state by @xxx111x1 in #310
- feat: add ROUTE enforcement to crew template decision-makers by @xxx111x1 in #311
- fix: hide partial ROUTE/TASKS blocks during streaming by @xxx111x1 in #312
- fix: preserve crew session name across broadcastAgentList syncs by @ZhaoChaoqun in #313
- fix: resolve npm/pm2 ENOENT in launchd/systemd environments by @ZhaoChaoqun in #314
- feat: add yeaft-agent doctor command by @ZhaoChaoqun in #315
- fix: prevent XML/HTML tags from being swallowed in Crew user messages by @ZhaoChaoqun in #316
- fix: add typing indicator to Crew session after user sends message by @ZhaoChaoqun in #318
- refactor: eliminate DRY violations in doctor.js by @ZhaoChaoqun in #317
- fix: disable Agent tool for Crew roles to enforce ROUTE by @xxx111x1 in #319
- fix: add canCallTool to Crew queries for AskUserQuestion by @xxx111x1 in #320
- fix: crew text merge checks taskId — prevent cross-task message loss by @xxx111x1 in #321
- fix: task status marking bugs (exact match + fallback + kanban assignee) by @xxx111x1 in #322
- feat: differentiated crew role colors with index-based fallback by @xxx111x1 in #323
- fix: use npm.cmd/pm2.cmd on Windows for upgrade subprocess by @xxx111x1 in #324
- fix: remove session list max-height limit for flexible sidebar layout by @xxx111x1 in #325
- feat: add Conductor config panel, scenario templates, and sidebar int… by @xxx111x1 in #326
- feat: implement Conductor V2 core engine (#task-conductor-engine) by @xxx111x1 in #327
- fix: add missing review specialty to Video scenario template by @xxx111x1 in #328
- Conductor/dev 3 by @xxx111x1 in #329
- feat: implement Actor system with personas, specialties, and CLAUDE.m… by @xxx111x1 in #330
- feat: integrate Conductor V2 frontend components into app shell by @xxx111x1 in #331
- refactor: Conductor V5 Agent+Server layer by @xxx111x1 in #333
- refactor: Conductor V5 UI — 1:1 model, Agent dropdown entry by @xxx111x1 in #332
- fix: align frontend Conductor protocol with V5 Agent+Server layer by @xxx111x1 in #334
- fix: show conductor home path in header instead of agent workDir by @xxx111x1 in #335
- fix: preserve conductor conversation on WebSocket reconnect by @xxx111x1 in #336
- feat: conductor message reuse + header path fix + workDir selector by @xxx111x1 in #337
- feat: Conductor UI i18n + ActivePanel dual-column layout by @xxx111x1 in #338
- feat: Conductor ChatInput reuse + Folder Picker redesign by @xxx111x1 in #339
- refactor: move workDir picker to input area, task toggle to header-right by @xxx111x1 in #340
- fix: conductor stop button + workDir forwarding by @xxx111x1 in #342
- feat: cost in input area + workDir alignment + resizable task panel by @xxx111x1 in #341
- fix: inject user workDir into Conductor Claude messages by @xxx111x1 in #343
- fix: AskUserQuestion support in Conductor mode by @xxx111x1 in #345
- fix: enable AskUserQuestion interactive buttons for all Crew roles by @ZhaoChaoqun in #346
- fix: inject PATH with nodeBinDir into execFile env for launchd/systemd by @ZhaoChaoqun in #347
- fix: Windows upgrade fails when node path contains spaces by @xxx111x1 in #350
- feat: auto-install yeaft-skills plugin on Agent startup by @xxx111x1 in #348
- fix: skip empty user messages that split tool actions into separate turns by @xxx111x1 in #351
- fix: register yeaft-skills as Claude CLI marketplace plugin by @xxx111x1 in #352
- fix: complete yeaft-skills plugin registration by @xxx111x1 in #353
- feat: auto-reconnect WebSocket on sendMessage by @xxx111x1 in #354
- fix: preserve AskUserQuestion questions in Crew session persistence by @xxx111x1 in #355
- fix: preload slash commands/skills on agent startup and crew session creation by @xxx111x1 in #356
- fix: skills not loading — hook permission + preload trigger by @xxx111x1 in #357
- refactor: remove Conductor feature entirely by @xxx111x1 in #358
- fix: enable AskUserQuestion for all Crew roles by @ZhaoChaoqun in #359
- feat: dynamic slash command descriptions and 3-group autocomplete by @xxx111x1 in #360
- feat: Chat mode Background Task panel by @xxx111x1 in #361
- feat: Sub-Agent JSONL panel — real-time subagent message visibility by @xxx111x1 in #362
- fix: typing dots persist after turn completed by @xxx111x1 in #363
- fix: prevent preloadSlashCommands from creating ghost sessions by @xxx111x1 in #364
- fix: tool action typing dots persist after turn completes by @xxx111x1 in #365
- fix: mark crew tool messages completed on turn end (frontend + server) by @xxx111x1 in #366
- feat: session multi-client sync — persist active sessions across browser tabs by @xxx111x1 in #367
- fix: sidebar double scrollbar — equal 50/50 split for session panels by @xxx111x1 in #368
- feat: store refactor — activeConversations + messagesMap (task-153a) by @xxx111x1 in #369
- feat: split-screen UI — vertical pane layout (task-153b) by @xxx111x1 in #370
- fix: split-pane edge cases — closeSession, conversation_created, selectConversation by @xxx111x1 in #371
- feat: CrewChatView split-screen + splitPanes persistence (task-153c-1) by @xxx111x1 in #372
- refactor: move split-screen button from ChatHeader to Sidebar (task-154a) by @xxx111x1 in #373
- fix: split-screen menu styling — opaque backgrounds, reuse sidebar/header CSS by @xxx111x1 in #374
- refactor: SplitPane uses ChatHeader — each pane identical to normal mode by @xxx111x1 in #375
- fix: move split-screen button to sidebar-header-actions by @xxx111x1 in #376
- fix: Chat sessions showing gray despite agent being online by @xxx111x1 in #378
- feat: split-pane collapsible sidebar with session list by @xxx111x1 in #377
- fix: split-mode panel state isolation — pane-local panels by @xxx111x1 in #379
- fix: split-mode pane session assignment and exclusivity by @xxx111x1 in #380
- feat: split-screen layout refactor — PaneTopBar + GlobalSidebar by @xxx111x1 in #381
- chore: remove Port Proxy button from sidebar by @xxx111x1 in #382
- fix: split-mode new session not assigned to requesting pane (PaneTopBar) by @xxx111x1 in #383
- feat: remove PaneTopBar, move split-mode creation to GlobalSidebar by @xxx111x1 in #385
- fix: restore session dropdown and panel rendering in split-screen mode by @xxx111x1 in #386
- fix: replace split-pane empty state with inline session list by @xxx111x1 in #387
- feat: replace split-pane session dropdown with slide-in sidebar panel by @xxx111x1 in #388
- fix: split-pane occupied session blocking + hamburger left alignment by @xxx111x1 in #389
- feat: inline rename for Chat sessions by @xxx111x1 in #390
- fix: re-bind scroll listener on split-pane conversation switch by @xxx111x1 in #391
- fix: persist chat session custom titles to server across refresh by @xxx111x1 in #393
- feat: middle truncate for ToolLine + agent name in split-mode header by @xxx111x1 in #392
- fix: float panels over conversation in split-pane mode by @xxx111x1 in #394
- fix: split-mode Crew sessions sharing state by @xxx111x1 in #395
- fix: align agent name tag and workDir path in split-mode header by @xxx111x1 in #396
- fix: pass visible prop to SettingsPanel in GlobalSidebar by @xxx111x1 in #397
- fix: split-mode crew restore and selectConversation nuke activeConversations by @xxx111x1 in #398
- fix: preserve split pane layout across merge/re-enter by @xxx111x1 in #399
- fix: crew panels as overlay drawers in split-pane mode by @xxx111x1 in #400
- feat: session health status indicator (4-phase typing dots) by @xxx111x1 in #401
- feat: session list pin-to-top by @xxx111x1 in #402
- feat: event-driven typing indicator + fix dots disappearing by @xxx111x1 in #403
- feat: typing indicator v3 — rgba colors, auto-refresh, capabilities compat by @xxx111x1 in #404
- fix: close session persists to DB when agent offline by @xxx111x1 in #405
- fix: auto-deactivate stale sessions older than 2 days by @xxx111x1 in #407
- feat: persist pin state to server DB — pinned sessions exempt from 2-day expiry by @xxx111x1 in #408
- fix: prevent duplicate Chat output from result_text by @xxx111x1 in #409
- fix: persist crew claudeMd + replace undefined --bg-primary CSS var by @xxx111x1 in #410
- feat: unified panel system — global sidebar + split button per session by @xxx111x1 in #406
- feat: copy full response button on AI message hover by @xxx111x1 in #411
- fix: equalize split pane heights and use dot indicator for active sessions by @xxx111x1 in #412
- fix: pinned session subtle background color + hide pin icon until hover by @xxx111x1 in #413
- feat: session dots menu + pin icon indicator by @xxx111x1 in #414
- feat: add screenshot button to AI response — download as PNG by @xxx111x1 in #415
- fix: typing indicator status text no longer renders as 4th dot by @xxx111x1 in #416
- fix: preserve task assignment across crew clearSingleRole restore by @xxx111x1 in #417
- fix: add thinking fallback for typing dots + broaden compact detection by @xxx111x1 in #418
- fix: filter compact summary from bulkAddHistory to prevent ghost user messages by @xxx111x1 in #419
- feat: screenshot padding + export MD + Crew message actions by @xxx111x1 in #420
- fix: remove scrollbars from screenshot + increase pixel ratio to 3x by @xxx111x1 in #421
- fix: recursively remove scrollbars from screenshot via CSS class by @xxx111x1 in #422
- feat: filesystem-first slash commands loading by @xxx111x1 in #423
- refactor: redesign /btw overlay from modal to inline float card by @xxx111x1 in #424
- fix: use project dir as Crew role cwd to enable MCP tool loading by @xxx111x1 in #425
- fix: reload slash commands when cache is empty on select_agent by @xxx111x1 in #426
- feat: refactor /btw to multi-turn inline conversation mode by @xxx111x1 in #427
- fix: prevent feature panel from filtering out persisted features + uniform screenshot padding by @xxx111x1 in #429
- fix: persist split-screen panels across page refresh by @xxx111x1 in #428
- fix: consistent pane shadows + wider Crew feature panel in split mode by @xxx111x1 in #430
- fix: remove claudeMd from crew session.json to reduce file size by @xxx111x1 in #431
- fix: tolerate space variant in ROUTE end block delimiter by @xxx111x1 in #432
- perf: remove saveSessionMeta from sendStatusUpdate, add targeted persist by @xxx111x1 in #433
- fix: AskUserQuestion answer delivery survives page refresh by @xxx111x1 in #434
- fix: crew session reappears after refresh (task-215) by @xxx111x1 in #435
- fix: preserve slashCommands on agent reconnect by @xxx111x1 in #436
- feat: strengthen ROUTE format instructions + routing status by @xxx111x1 in #437
- test: add task-216 slash commands reconnect tests by @xxx111x1 in #438
- feat: Crew route notifications + Feature Panel route activity by @xxx111x1 in #439
- feat: Route Activity grouped by task with role colors by @xxx111x1 in #440
- feat: feature card time range display + remove actions by @xxx111x1 in #441
- feat: Route Activity per-task pagination with show-more by @xxx111x1 in #442
- fix: AskUserQuestion expire on cancel + persist search range (task-223) by @xxx111x1 in #445
- fix: split-mode hamburger button + feature expanded width by @xxx111x1 in #444
- feat: mobile UI optimizations for ChatHeader by @xxx111x1 in #446
- feat: crew role panel default collapsed + live feature summaries (task-225, task-226) by @xxx111x1 in #443
- fix: screenshot left-right padding asymmetry by @xxx111x1 in #447
- fix: hide sidebar sessions when agent goes offline by @xxx111x1 in #449
- refactor: simplify crew session lifecycle — remove hidden state (task-232) by @xxx111x1 in #450
- fix: ROUTE empty summary fallback + template enforcement (task-233) by @xxx111x1 in #451
- fix: sidebar gap between chat and crew session lists (task-234) by @xxx111x1 in #452
- feat: SVG cat typing indicator + remove thinking text (task-224) by @xxx111x1 in #453
- fix: soften SVG cat eyes in dark mode by @xxx111x1 in #455
- fix: mobile message padding + input bottom spacing (task-235) by @xxx111x1 in #456
- fix: CI failure — use CSS variables for SVG cat eye colors by @xxx111x1 in #457
- fix: screenshot padding cuts off right and bottom content by @xxx111x1 in #458
- fix: SVG cat body color follows typing dots status (task-240) by @xxx111x1 in #459
- fix: isolate split-pane crew state (crewInProgressCount, refreshingSession) by @xxx111x1 in #460
- feat: cat-dog fight SVG animation in typing indicator by @xxx111x1 in #461
- fix: prevent deleted sessions from reappearing via agent_list race by @xxx111x1 in #462
- feat: cuter running cat SVG + three-speed animation by @xxx111x1 in #463
- feat: crew ROUTE auto-attaches turn images for inter-role sharing by @xxx111x1 in #464
- fix: shrink crazy-mode leg blur to stay under cat body by @xxx111x1 in #465
- feat: chat mode AI response image rendering by @xxx111x1 in #466
- feat: sync crew template dev-zh.js with live role CLAUDE.md updates by @xxx111x1 in #467
- fix: four-speed cat animation, no-rotate crazy mode, 20% scale by @xxx111x1 in #468
- feat: swap turbo/crazy cat animation effects by @xxx111x1 in #469
- fix: sidebar session sort uses createdAt fallback when lastMessageAt missing by @xxx111x1 in #472
- fix: typing indicator stuck after AI response completes by @xxx111x1 in #473
- fix: dark mode cat eyes invisible by @xxx111x1 in #471
- fix: crazy vortex tighter under body + turbo shimmer slowed by @xxx111x1 in #475
- fix: finish all streaming messages in turn, not just last by @xxx111x1 in #474
- fix: prevent Crew mode typing indicator from disappearing prematurely by @xxx111x1 in #478
- feat: redesign cat animation — legs always visible in all tiers by @xxx111x1 in #479
- fix: remove inactive sessions from sidebar after conversation_closed by @xxx111x1 in #477
- feat(task-255): add tired 5th speed tier with 13s animation cycle by @xxx111x1 in #481
- fix(task-256): auto-resume crew session on user input by @xxx111x1 in #482
- feat(task-257): redesign Unify UI to three-column layout by @xxx111x1 in #483
- fix(unify): use createFullRegistry() for built-in tool registration by @xxx111x1 in #485
- fix: route @ROLE mentions directly to target role in Crew mode by @xxx111x1 in #484
- feat(task-261): Unify debug panel for per-turn LLM diagnostics by @xxx111x1 in #486
- feat: expert panel role prompt viewer by @xxx111x1 in #487
- feat: custom expert roles persistence (task-266) by @xxx111x1 in #488
- feat: custom expert role UI — editor, custom tab, CRUD integration by @xxx111x1 in #489
- fix(unify): graceful permission error handling for ~/.yeaft/ directory by @xxx111x1 in #490
- fix: prevent compact summary from leaking as user messages by @xxx111x1 in #492
- feat: implement all 34 Unify tool execute functions by @xxx111x1 in #491
- feat: Unify model selector — runtime LLM switching via sidebar dropdown by @xxx111x1 in #494
- fix: pass conversation history to engine for context continuity by @xxx111x1 in #493
- feat(unify): enrich system prompts with template-based behavioral instructions by @xxx111x1 in #495
- feat: persist Unify tasks to ~/.yeaft/tasks/ filesystem by @xxx111x1 in #496
- feat(unify): load conversation history on page open by @xxx111x1 in #497
- feat: improve Crew ROUTE system fault tolerance by @xxx111x1 in #498
- feat: add LLM provider settings to Unify page (task-275) by @xxx111x1 in #499
- feat: widen Unify conversation area from 60% to 90% by @xxx111x1 in #501
- feat: Unify skills enhancement — directory-based, progressive disclosure, platform filtering by @xxx111x1 in #502
- feat: resizable debug panel with drag handle and wider default by @xxx111x1 in #500
- feat: Unify sidebar redesign — minimal layout by @xxx111x1 in #503
- fix: restore Unify sidebar to 260px and always show model selector by @xxx111x1 in #504
- refactor: replace tester with product-reviewer in crew template by @xxx111x1 in #505
- feat: add OpenAI Responses API adapter (/v1/responses) for GPT-5+ by @xxx111x1 in #506
- feat: model context config + protocol hint UI (task-284) by @xxx111x1 in #507
- feat(unify): engine multi-thread instance support (task-308) by @xxx111x1 in #508
- feat(unify): input queue + messages threadId migration (task-307b) by @xxx111x1 in #510
- feat(unify): file-backed thread/task store persistence (task-307a) by @xxx111x1 in #512
- feat(unify): sidebar v2 part 2 — real store + i18n + assertions (task-301) by @xxx111x1 in #509
- feat(unify): router intent classifier (task-309) by @xxx111x1 in #511
- refactor(unify): remove chat/work mode toggle (task-311) by @xxx111x1 in #515
- feat(unify): phase 2 integration — queue dispatch + multi-thread events (task-310) by @xxx111x1 in #513
- feat(unify): sidebar search with thread prefix (task-312) by @xxx111x1 in #514
- chore(unify): remove modes residue in eval cases by @xxx111x1 in #516
- fix(crew): tolerate bare ---END--- closer + bare-body summary + blank-line cutoff (task-319) by @xxx111x1 in #517
- feat(unify): merge thread into target (task-313) by @xxx111x1 in #518
- feat(unify): advanced search filters task/status/in (task-316) by @xxx111x1 in #519
- feat(unify): fork thread from message (task-314) by @xxx111x1 in #520
- feat(unify): settings for concurrency limit and archive duration (task-318) by @xxx111x1 in #521
- feat(unify): task detail view — cross-thread message aggregation (task-315) by @xxx111x1 in #522
- feat(unify): idle-thread auto-archive sweep (task-317) by @xxx111x1 in #523
- fix(unify): per-thread in-flight state for concurrent thread dispatch (task-320) by @xxx111x1 in #524
- fix(crew): strengthen taskId propagation so all role messages attach to feature card (task-321) by @xxx111x1 in #525
- fix(unify): replay session_ready on every load_history (task-322) by @xxx111x1 in #526
- feat(unify): remove MAX_TURNS=25 cap from engine query loop (task-324) by @xxx111x1 in #528
- feat(crew): show timestamp in route header of chat stream (task-323) by @xxx111x1 in #527
- feat(unify): per-thread Engine.abort() with linked-signal model (task-325a) by @xxx111x1 in #530
- feat(unify): web-bridge thread_status event stream + snapshot (task-325b) by @xxx111x1 in #529
- feat(unify): thinking/reasoning capability matrix + adapter base (task-327a) by @xxx111x1 in #532
- feat(unify): abort protocol — unify_abort_thread/all wire-level handlers (task-325c) by @xxx111x1 in #531
- feat(unify): scenario → effort decision tree + /max prefix (task-327b) by @xxx111x1 in #533
- fix(mobile): prevent chat header collapse after tab switch (task-329) by @xxx111x1 in #534
- feat(unify): scenario-tag internal adapter.call side-queries + engine nit (task-327c) by @xxx111x1 in #535
- fix(crew): harden ROUTE parser + preserve non-ROUTE prose (task-328) by @xxx111x1 in #536
- feat(crew): role-states store + §E/§F regression matrix (task-330d) by @xxx111x1 in #537
- feat(crew): routing-metrics + unified fallback resolver (task-330b) by @xxx111x1 in #538
- feat(crew): self-route reject + task_close/role_standby (task-330a) by @xxx111x1 in #539
- feat(crew): preserve message context — smart-truncate + displayBody fallback + greedy-strip guards (task-330c) by @xxx111x1 in #540
- feat(unify): prompt snapshot test + missing-template guard (task-332c) by @xxx111x1 in #541
- feat(unify-debug): preserve function_call payload + paired response (task-331) by @xxx111x1 in #543
- docs(unify): prompt token budget + dump-prompt script (task-332 F2) by @xxx111x1 in #542
- refactor(unify): tool catalogue dedupe L1+L2 (task-333b PR-A) by @xxx111x1 in #545
- feat(unify): real ViewImage tool — base64 data URI + safety guards (task-333b PR-B) by @xxx111x1 in #546
- feat(unify): VP entity + RoleInstance base (task-334a) by @xxx111x1 in #547
- feat(vp): add personaHash to VP entity (task-334a-followup) by @xxx111x1 in #549
- fix(crew): support multi-target ROUTE — to: rev-1, rev-3 (task-335) by @xxx111x1 in #551
- feat: VP library entry + snapshot UI (334-ui-a) by @xxx111x1 in #550
- feat(unify/storage): task-334o Storage Layer v1 — JSONL log + shard memory base by @xxx111x1 in #548
- feat(unify/migration): task-334i legacy storage → R6 group-chat tree by @xxx111x1 in #552
- feat(334b): Group Coordinator — conversation/roster + 334o event dispatch by @xxx111x1 in #553
- feat(unify/vp): RoleInstance v1 — lifecycle + engine binding + system prompt + core-memory recall (task-334c) by @xxx111x1 in #554
- feat(unify): VP speaker header on message bubbles (task-334-ui-b) by @xxx111x1 in #556
- feat(334h): VP live-diff WS events + reason payload by @xxx111x1 in #555
- feat(unify): VP @-forward routing — route_forward tool + loop guard (task-334d) by @xxx111x1 in #557
- feat(unify/routing): N1 loop-guard LRU+TTL + N3 route_forward integration tests (task-334d-followup) by @xxx111x1 in #558
- feat(unify): VP CRUD UI + filesystem backend (task-334-ui-g) by @xxx111x1 in #560
- feat(unify): VP detail view + reason i18n + hover timestamp (task-334-ui-c) by @xxx111x1 in #559
- feat(unify/prompts): task_ctx + user_profile + core_memory (task-334e) by @xxx111x1 in #561
- feat(unify): R6 task_message + user_memory_* WS skeletons (task-334h) by @xxx111x1 in #562
- feat(unify): R6 semantic-shard memory store + memory_trace tools (task-334f) by @xxx111x1 in #563
- feat(unify): task multi-VP collab + summary + extractor (task-334n) by @xxx111x1 in #564
- feat(migration): R5→R6 memory shard + conversation rotation (task-334i wave-4) by @xxx111x1 in #565
- feat(unify): Group CRUD + create-group wizard + D1 seed (task-334m) by @xxx111x1 in #566
- feat(unify): 334 follow-up batch A — a11y + route_forward integration supplements by @xxx111x1 in #567
- feat(unify): 334 follow-up batch B — F1-F5 + 334i nits + vp-bridge unsub + N4 i18n by @xxx111x1 in #568
- feat(unify): Frontend group view — multi-VP message list + @ autocomplete + task_message (task-334j) by @xxx111x1 in #569
- test(unify): WS live-diff test coverage — vp_updated/vp_removed + personaHash + reason (task-334h) by @xxx111x1 in #570
- feat: wire R6 memory shard store into session/engine + re-compression hook (task-334f) by @xxx111x1 in #573
- feat(unify): shard-based dream scanner + compact job (task-334g) by @xxx111x1 in #571
- feat: swap engine recall to recallR6 from recall-r6.js (wave-6) by @xxx111x1 in #574
- feat(unify): user-memory full implementation (task-334l-core) by @xxx111x1 in #575
- feat(unify): user memory UI browser (task-334-ui-d) by @xxx111x1 in #576
- feat(unify): user profile injection from shard store by @xxx111x1 in #577
- feat(memory): user-memory extract phase + watermark (task-334-w7b) by @xxx111x1 in #578
- feat(unify): seed 12 default virtual persons on first-run (task-337) by @xxx111x1 in #580
- fix(unify): align VP CRUD + detail view styles to Yeaft design tokens by @xxx111x1 in #579
- feat(unify): route input to GroupCoordinator (task-338-F4) by @xxx111x1 in #583
- fix(i18n): un-swallow unify.vp.crud.title key (task-338-F1) by @xxx111x1 in #581
- feat(unify): add GroupSelector to Unify topbar (task-338-F3) by @xxx111x1 in #584
- fix(unify): seeded VPs broadcast to frontend on subscribe (task-338-F2) by @xxx111x1 in #582
- fix(unify): @ mention gate routes to VP on empty vpList (task-338-F5) by @xxx111x1 in #585
- refactor(unify): route unify_group_chat via createCoordinator adapter (task-338-F4) by @xxx111x1 in #586
- task-338-F3 follow-up: N1-N5 (modal/keyboard/busy/token) by @xxx111x1 in #587
- task-339: Unify group UI rework — sidebar hoist, wizard defensive empty, topbar slim by @xxx111x1 in #588
- fix(vitest): correct worktree exclude glob + discovery smoke test (fix-vitest-config-exclude-path) by @xxx111x1 in #589
- fix(unify): rescan VP library on first subscribe in production (task-339-followup) by @xxx111x1 in #590
- feat(unify): mount Workbench panel in Unify mode (task-340) by @xxx111x1 in #591
- feat(unify): expose full API request/response in debug panel (task-344) by @xxx111x1 in #592
- task-341: Unify V2 sidebar becomes the only sidebar + hoist header row by @xxx111x1 in #594
- style(unify): align right panel tokens to Chat (task-345) by @xxx111x1 in #593
- test+feat(unify): task-344 follow-up — CC error symmetry + 256KB raw cap by @xxx111x1 in #595
- task-342: Unify V2 sidebar bottom row (settings + version) by @xxx111x1 in #597
- feat(unify): task-343 — Settings as two-column tabs (LLM + VP Library) by @xxx111x1 in #598
- fix(unify): task-347 — GroupCreateWizard modal shell + VP subscribe (P0) by @xxx111x1 in #599
- fix(test): update unify-sidebar dot-active assertion to --status-online token by @xxx111x1 in #600
- chore: track CLAUDE.md (project workflow rules) by @xxx111x1 in #601
- fix(unify): wire VP persona-as-identity prompt into engine by @xxx111x1 in #602
- feat(unify): wire router/thinking resolveThinking into engine effort by @xxx111x1 in #603
- feat(unify): wire compact/orchestrator into engine compact path by @xxx111x1 in #604
- feat(unify): wire archive/* into engine compact + turn loop by @xxx111x1 in #605
- feat(unify): wire dream-v2/tick into dream-scheduler by @xxx111x1 in #606
- chore(test): trim suite to core coverage by @xxx111x1 in #607
- fix(unify): resolve default VP when no vpId supplied (PR-G) by @xxx111x1 in #609
- feat(unify): default-flip compact orchestrator (PR-H) by @xxx111x1 in #610
- feat(unify): wire live routerPlan.thinking into engine (PR-I) by @xxx111x1 in #611
- feat(unify): real dream-v2 refresh hook (PR-J) by @xxx111x1 in #612
- chore(unify): remove dead vpPersonaHeader overlay constant (PR-K) by @xxx111x1 in #613
- fix(unify): style archive/merge/rename modals to match Yeaft UI by @xxx111x1 in #608
- fix(unify): replace soft-archive with physical delete (Bug 8) by @xxx111x1 in #614
- fix: replace better-sqlite3 with node:sqlite to remove native build dep by @xxx111x1 in #615
- ci: bump Node 20 → 24 (node:sqlite requires Node 22.5+) by @xxx111x1 in #617
- feat(unify): tool history reflection (PR-L) by @xxx111x1 in #616
- fix(unify): resolve PR-L race + counter-semantic edge cases by @xxx111x1 in #618
- feat(unify): VP sub-agent driver + frontend cards by @xxx111x1 in #619
- feat: multi-provider SSO + account binding (GitHub / Google / WeChat / Alipay) by @xxx111x1 in #620
- feat(agent): gate self-upgrade on Node.js engines compatibility by @xxx111x1 in #621
- refactor(unify): rename task→feature (PR-1a + PR-1b) by @xxx111x1 in #622
- refactor(unify-frontend): rename task → feature throughout web/ by @xxx111x1 in #624
- fix(sso/alipay): prefer open_id over user_id for openid-mode apps by @xxx111x1 in #623
- fix(sso/alipay): accept auth_code query param on callback by @xxx111x1 in #625
- feat: in-page QR-scan login for Alipay (no redirect) by @xxx111x1 in #626
- feat: runtime Node ≥22.5.0 guard at entry points by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/627
- feat(login): OAuth-first redesign with system theme follow by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/628
- fix(login): SSO primary button style + QR blank canvas by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/629
- fix(build): include qrcode.min.js in vendor bundle by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/630
- fix(login): drop primary-button emphasis by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/631
- feat(settings): in-page QR scan when binding alipay/wechat by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/632
- docs(unify): Memory + Dream v2 design by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/633
- feat(memory): v2 store API + R6→v2 migration (PR-B of memory-v2) by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/634
- feat: dream-v2 pipeline (additive) by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/635
- feat: recall-v2 + memoryV2 flag (off by default) by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/636
- feat: flip memoryV2 default + wire dream-v2 into session by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/637
- feat: 3-day JWT default + sliding renewal by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/638
- refactor(dream-v2): extract 4 prompts to standalone .md files by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/639
- feat(sso): preserve provider display name on auto-created users by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/640
- feat(memory): auto-migrate R6→v2 on boot + switch active callers to store-v2 by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/641
- refactor(memory): delete dead R6 dream-v2 sig-diff stubs + scope-tree by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/642
- feat: account deletion, password reset, and SSO password setup by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/647
- feat: route Alipay SSO through redirect on mobile (no QR) by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/648
- fix(sso): launch Alipay app on mobile via alipays:// deep-link by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/649
- fix(agent): message-router missed task→feature rename, broke startup by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/653
- fix(login): use QR-poll for mobile Alipay so original browser receives token by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/656
- fix(login): resume SSO QR poll on tab visibility / bfcache restore by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/658
- docs: DESIGN-H2-AMS — segment-based memory + AMS + FTS pre-flow by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/650
- feat(memory): H2.a — segment + SQLite FTS5 index + disk sync by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/651
- feat(memory): H2.b — Active Memory Set + budget + summary store by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/652
- feat(memory): H2.c — pre-flow FTS recall (no LLM) by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/654
- feat(memory): H2.d — adjustMemory post-turn LLM by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/655
- feat(memory): H2.e — per-scope Dream extract prompts by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/657
- feat(settings): append --name to agent install command by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/660
- feat(memory): H2.f.1 — single-thread dispatcher (retire intent-classifier) by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/659
- refactor(unify): H2.f.2 bridge — collapse to single conversation by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/661
- refactor(unify-fe): H2.f.3 — neutralise thread state in chat store by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/662
- refactor: H2.f.4 — delete thread-tools, ThreadPill, UnifyBreadcrumb by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/663
- refactor(unify): H2.f.5 — retire threads/, dispatcher, input-queue by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/664
- refactor(unify-fe): H2.f.6 — frontend cleanup of multi-thread leftovers by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/665
- GC.1: Consolidate Unify pre-flow + run VPs in parallel by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/666
- GC.2: delete dead vp/ RoleInstance subsystem by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/667
- GC.3: group-chat round-trip integration test by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/668
- refactor(unify): GC.1 follow-up — drop recall-v2/recall-r6 + memoryPreflow flag by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/669
- refactor(unify): retire dead R6 dream/recall modules by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/670
- feat(unify): wire group-keyed AMS + post-turn adjust by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/671
- refactor: fix AMS hydrate bug + retire legacy dream / R6 migration / vp-planner by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/672
- refactor(unify): PR-A — retire dream/ subdir + scan.js + rewrite CLAUDE.md memory section by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/673
- feat(unify): WebSearch via Tavily by default + HTML scrape fallback by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/674
- refactor(unify): PR-B — rip legacy entries-based memory subsystem by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/675
- docs(unify): rip stale references to retired memory modules by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/677
- feat(unify): Search settings tab with Tavily backend + quota by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/676
- feat(agent): postinstall sanity check for node-pty by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/678
- feat(agent): switch PTY backend to @homebridge/node-pty-prebuilt-multiarch by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/679
- fix(unify): always wire ctx.router by routing Unify turns through a group by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/680
- refactor(unify): consolidate to single handleUnifyGroupChat entry point by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/681
- feat(unify): per-VP turn blocks with independent abort by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/682
- fix(unify): VP speaker header double-dots and disappearing avatar by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/683
- fix(unify): collapse reflection into user-role to satisfy Anthropic API by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/684
- fix(unify): chat-unify activeConversations crosstalk on re-entry by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/685
- fix(unify): isolate group history loading by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/686
- fix(unify): hide reflection cards from main message stream by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/687
- feat(unify): rebuild debug panel as Turn -> Loop -> Tool tree by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/688
- feat(unify): in-memory history compact for group chat by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/689
- style(unify): restyle debug panel — Rams subtraction by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/690
- docs: document auto review-and-ship flow by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/691
- fix(unify): pair-aware truncation + new compact thresholds by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/692
- feat(unify): group editor — shared announcement + unified settings modal by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/693
- fix(unify): mobile group settings entry + back-to-sidebar by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/694
- feat(unify): debug panel search + independent group filter + lite/detail polish by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/695
- refactor(unify): collapse prompt concepts into 4-class system (DESIGN-PROMPT v1) by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/696
- fix(unify): drop CSS-var fallbacks that broke dark mode by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/697
- fix(unify): mobile debug panel — toggle was a silent no-op below 1024px by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/699
- feat(ui): unify page-reload button across Chat / Crew / Unify top-right by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/698
- feat(unify): cascade-delete group messages + CLI compact-orphans by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/700
- fix(unify): isolate VP typing per-conversation + persist speaker attribution by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/701
- fix(unify): debug "copy request" must be verbatim — drop all truncation by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/702
- feat(unify): openai-responses onRawExchange parity + ws maxPayload + verbatim regression tests by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/704
- fix(unify): cap per-call messages + seed Layer-A summary on create by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/703
- feat(unify): cap tool results + pre-flight token guard by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/706
- fix(unify): real route_forward hand-off + per-VP engine isolation by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/707
- fix(unify): persistent VP avatar with typing badge + live locale propagation by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/708
- fix(web): unbreak prod build — stray backtick inside Vue template literal by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/709
- fix(unify): VP speaker header — render above tools + survive turn end by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/710
- feat(unify): PR-1 dual-track feature pill — protocol skeleton by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/712
- fix(unify): dream every 1h + empty-AMS boot init + drop dead feature flags by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/711
- fix(web): allow refreshing Chat-mode messages while a turn is streaming by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/714
- feat(unify): PR-2 dual-track feature pill — MessageList fold + preview UI by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/713
- fix(unify): isolate Unify view from chat-mode activeConversations writes by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/715
- feat(unify): PR-3 dual-track feature pill — VP timeline pane by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/716
- feat(unify): PR-4 per-feature/per-VP abort UX + sub-agent feature inheritance by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/717
- feat(unify): realign layout — VP list left of conversation (Crew shape) by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/718
- fix(chat): make session title sticky once user renames by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/719
- fix(unify): keep tool action inside VP block, avatar above by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/720
- feat(unify): support image + file attachments in group/feature mode by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/721
- fix(unify): pair-sanitize messages at the router before LLM wire send by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/724
- feat(unify): VP quick card + right-side detail drawer by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/725
- fix(unify/memory): drop persona body from VP summary stub by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/722
- fix(unify/memory): skip own-vp Resident when summary is the seed-backfill stub by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/723
- fix(unify): persist group user message exactly once per fan-out turn by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/726
- fix(unify): VP timeline column lists only the active group's roster by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/727
- refactor: remove unify_feature_message channel + dead sidebar task list by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/728
- feat(unify): VP list show/hide toggle + Crew-style row affordances by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/729
- fix(unify): repair build — backticks in inline comment broke esbuild by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/730
- fix(unify): emit
media_type(snake_case) for image content blocks by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/731 - feat(unify): group UI cleanup — chat-style sidebar, VP-list scrollbar fix, debug-only right pane by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/732
- fix(unify): hide Chat-only load-more hint in Unify mode by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/733
- chore(unify): remove sidebar search by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/734
- feat(unify): paginate Group history with "Load older messages" by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/735
- feat(unify): VP-block redesign — collapsible per-VP turn blocks by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/736
- fix(unify): per-tool timeout + bridge escalation for silent turn stalls by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/737
- fix(unify): MessageList build break — backticks in template literal by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/738
- polish(unify): align VP list background with conversation by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/740
- fix(unify): render group messages under roster VPs by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/741
- fix(unify): VP list = group roster, drop static per-VP partition by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/742
- fix(dream): cadence catch-up + manual UI trigger by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/743
- fix(unify): T1 reflection fires every 13 tool calls, not just the first 13 by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/745
- fix(unify): VpTurnBlock Slack-style 2-column layout, header always visible by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/744
- refactor: address VpTurnBlock review follow-ups (F-I3, T-I2/I3, F-MR2) by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/747
- fix(web): escape backticks in VpTurnBlock template comment to unblock esbuild by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/748
- test(web): add esbuild syntax check guard for web/**/*.js by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/749
- refactor(unify): per-group GroupContext.history + reflect-persist on disk by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/750
- refactor(unify): extract per-group history Compactor from web-bridge (Phase C) by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/751
- fix(unify): hoist topbarGroup above dreamButtonVpId to avoid TDZ crash by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/752
- fix(unify): escape \n in dream-button :title so Vue render-fn body is valid JS by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/753
- fix(unify): localize prompt-visible language surfaces by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/754
- fix(unify): repair tool-schema corruption and complete language propagation by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/755
- feat(unify): surface dream failures + manual group dream trigger by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/757
- fix(unify): group chat render + route_forward attribution + dream debug visibility by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/758
- fix(server): pass vpId/turnId/featureId through unify_output relay by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/759
- fix(unify): drop typing placeholder card + suppress forward-only VP turns by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/761
- fix(unify): localize VP persona prompt blocks by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/760
- fix(server): relay unify_dream_status / unify_dream_result to web clients by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/764
- feat(unify): polish VP list — one-line rows, breathe-on-speak, click-to-mention, info button by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/763
- feat(unify): illustrated avatars for VPs + user in group chat by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/762
- feat(unify): expand default VP roster from 12 to 32 + area taxonomy by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/765
- feat(unify): simplify group row — name + kebab only by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/766
- refactor(unify): remove feature system, add TodoWrite + tool usage stats by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/767
- feat(unify): add start_plan tool with per-VP planInstruction override by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/768
- fix(test): rewrite schema-localization test on synthetic fixture (unbreak CI) by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/769
- fix(unify): restore VP list pane + topbar toggle (regression from PR #767) by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/770
- fix(unify): bilingual VP name backfill + per-turn streaming isolation (v0.1.768) by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/771
- fix(server): forward workbench file responses for Unify conversations by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/772
- fix(unify): remove VP chat message left border by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/773
- feat(unify): agent-authoritative VP status with offline overlay by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/775
- feat(unify): show full dream event timeline in debug panel for groups by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/774
- feat(unify): support group work directories by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/776
- fix(debug): avoid tool stats timeout by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/777
- feat(unify): reflection cadence 13→30 + bilingual prompt by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/778
- fix(group): keep VP responses expanded by default by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/779
- fix(web): mark stale TodoWrite items after turn end by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/780
- fix(group): split VP message blocks on turnId boundary + show forward source by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/781
- fix(unify): thread session.toolStats into per-VP and sub-agent engines by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/782
- Fix Dream current-group trigger and language-aware memory by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/783
- fix(unify): route unify_tool_stats at top-level + fallback rows + eager mkdir by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/784
- fix(unify): split debug panel into functional tabs by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/785
- fix(web): drop the "stale TodoWrite" exclamation/notice UI by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/786
- polish(group): render RouteForward as handoff chat by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/787
- fix(unify): StartPlan should continue execution, not stop the turn by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/788
- fix(dream): rerun scoped manual memory generation by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/790
- fix(unify): @-mention dropdown shows only the active group's roster by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/789
- fix(unify): keep group conversation history consistent by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/791
- feat(unify): reflection T2 cadence 5→8 by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/792
- fix(unify): drop duplicate route_forward handoff pill — render only the tool chip by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/793
- feat(unify): add Omni Assistant VP by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/794
- feat(unify): inject group workDir CLAUDE.md / AGENTS.md into system prompt by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/795
- feat(unify): custom VP creation entry + view-prompt + stock read-only by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/796
- fix(unify): add omni to STOCK_VP_IDS (unblock v0.1.793 CI) by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/798
- feat(unify): add VP multi-thread runtime routing by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/797
- test(unify): update VP timeline row shape expectation by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/799
- fix(unify): repair 4 multi-thread VP bugs + persistent debug history by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/801
- fix(unify): stabilize group conversation history loading by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/800
- feat(unify): add Dream debug tab by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/802
- fix(unify): record Dream button debug events by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/803
- fix(unify): show header Dream debug events for active group by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/804
- fix(unify): route Dream triggers to active agent by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/805
- fix(unify): isolate active group message routing by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/806
- feat(unify): per-group model override config by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/808
- feat(unify): round-trip Anthropic extended-thinking blocks by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/807
- fix(unify): gate group reflection by context pressure by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/809
- fix(unify): use group header model and restore stock VPs by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/810
- test(unify): align reflect persistence with group context gate by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/811
- fix(unify): refresh group history on re-entry by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/812
- fix(unify): end VP turn after route forward by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/813
- fix(agent): new Claude CLI compat — drop bypassPermissions when canCallTool is registered by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/814
- fix(unify): sync currentAgent with unifyAgentId on enterUnify by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/816
- fix(unify): load VP library from configured yeaft dir by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/815
- fix(agent): package dream prompt markdown files by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/817
- fix(unify): hydrate group history and latest jump by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/818
- fix(unify): default workbench to ~/.yeaft instead of Chat agent's cwd by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/819
- feat(ci): add workflow_dispatch support to Dev Release by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/820
- fix: remove non-functional clear-messages button from Unify topbar by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/821
- fix(unify): message accuracy on conversation switch + dream debug events by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/822
- fix(unify): normalize history replay and hydrate debug history by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/824
- fix(unify): hydrate history attachment previews by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/825
- fix(server): remove duplicate randomUUID import crashing dev container by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/826
- fix(release): guard server startup syntax by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/827
- fix(dream): persist runtime metrics in history by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/828
- refactor(unify-tools): rename Agent→SpawnAgent + SendMessage→PromptAgent; drop dead tools by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/830
- fix(unify): render conversation blocks by threadId by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/831
- fix(unify): preserve history message times by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/832
- fix(chat): render flat message rows after thread block refactor by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/833
- fix(unify): raise message budget and clamp tool results by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/834
- fix(messages): isolate chat and group mode rendering by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/835
- fix(unify): debug panel header shows live loop count + tokens + ms for in-flight turns by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/836
- fix(unify): normalize loaded group message ownership by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/837
- feat(unify): models.dev provider preset picker by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/838
- feat(unify): always-on trajectory store + auto-rehydrate debug panel by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/839
- feat(unify): add zodiac VP fallback avatars by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/840
- fix(unify): theme provider preset picker modal by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/842
- fix(unify): improve VP avatar contrast by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/841
- feat(unify): per-model protocol routing in AdapterRouter by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/843
- feat(unify): GitHub Copilot auto-auth — gh CLI / env / device flow by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/844
- polish(unify): modernize VP avatar palettes by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/845
- fix(unify): use text-only VP identity by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/846
- Fix group avatars and history load flicker by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/847
- docs: add Yeaft Chat refactor RFC by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/848
- fix(unify): restore VP list toggle by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/849
- chore(ci): disable CI workflow on pull_request by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/851
- docs(claude): 全文中文化 + 新增 UI 开发理念章节 by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/852
- docs(claude): Unify→Yeaft 命名 + 更新目录现状 by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/853
- fix(unify): resolve vp-prefixed route targets by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/854
- feat(unify): expose dream debug detail (prompts, responses, metrics, generated md) by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/855
- fix(unify): preserve recent turns during async compact by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/856
- fix(unify): scope post-turn compact to (groupId, vpId) by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/857
- perf(unify): page group history on initial load by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/858
- fix(unify): rewrite-in-place compact summaries, bump maxTokens to 10240 by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/859
- fix(unify): keep legacy compact out of group turns by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/860
- Rename Unify engine to Yeaft and split history modes by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/861
- fix(yeaft): stabilize v0.1.855 test build by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/862
- feat(yeaft): isolate memory tree by group by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/863
- fix(yeaft): remove flat group conversation folder by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/864
- feat(chat): add Copilot CLI provider alongside Claude Code by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/865
- feat(chat): per-provider session list, history, and parity UI by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/866
- feat: switch Copilot provider to ACP streaming + close P0 UI gaps by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/867
- feat(yeaft): chat mode + settings restructure under Yeaft sub-page by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/868
- fix(yeaft): stabilize models-dev test against CI clock-skew + network leak by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/869
- fix(yeaft): chat mode defaults to omni VP; fix create modal styling by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/870
- feat: dynamic Copilot model picker + ModernSelect dropdown by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/871
- feat(yeaft): Phase 1 — session foundation (no-op) by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/872
- feat(yeaft): Phase 2 — session_* wire-type aliases by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/873
- feat(yeaft): Phase 3 — unified Session UI by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/874
- feat(yeaft): Phase 4 — delete chat container by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/875
- fix(yeaft): session creation/sidebar follow-ups by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/876
- fix(modal): unify dropdowns + expand Copilot model fallback by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/877
- Remove VP icons from session picker by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/878
- feat(yeaft): wire sessions-v1 migration into agent boot + SQLite FTS rewrite by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/880
- feat(copilot): live ACP model list + redesigned picker UI by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/879
- refactor(yeaft): rename agent groups → sessions (lexical) by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/881
- refactor(web): rename groups → sessions (lexical) by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/882
- feat(yeaft): align sidebar session list with Chat/Crew sidebar by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/883
- fix(yeaft): VP list shows empty after sessions rename by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/884
- feat(web): yeaft entry as sidebar toggle + agent picker in create modal by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/885
- Add work dir and collapsed members to session create by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/886
- feat(ui): iOS-style slide toggle for Chat ↔ Yeaft by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/887
- feat(yeaft): cross-agent session aggregation + per-row agent badge by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/888
- fix(yeaft): plain switch toggle + shared agent dropdown in yeaft sidebar by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/889
- fix(yeaft): session row + tab bar parity with chat sidebar by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/890
- fix(yeaft-sidebar): match chat sidebar top spacing for height parity by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/891
- feat(sidebar): shared agent header + crew-mode toggle for full-width parity by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/892
- fix(sidebar): pixel-perfect chat/yeaft header parity + full-width solo tab by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/893
- style(sidebar): solo tab — larger, centered title by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/894
- style(sidebar): left-align solo tab with generous spacing by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/895
- Update Yeaft sidebar agent and session actions by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/896
- Expose agent upgrade and restart actions by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/897
- feat(yeaft): delta-load history + per-message turn status by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/898
- fix(yeaft): persist sessions in server DB; restore last-viewed across agent switch by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/899
- feat(yeaft): thread group workDir into tool ctx + align wizard styles by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/900
- feat(yeaft): wizard mirrors chat new-conv modal (folder list + resume) by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/901
- fix(yeaft): coerce sessionId → groupId on server relay so history loads by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/902
- feat(chat): render and compact summary as ToolLine by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/903
- fix(chat): eliminate session duplicate and user-message duplicate by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/904
- feat(yeaft): chat-style SessionCreateModal + drop dead group/wizard UI by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/905
- perf(chat): cache reuse + incremental sync on session switch by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/906
- fix(yeaft): pin SessionSettingsModal shell so tabs don't reflow it by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/907
- fix(yeaft): 5 SessionCreateModal follow-ups (name optional, roster collapse, resume fires history, ulid id) by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/908
- fix(yeaft): per-agent session routing + eager snapshot on register by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/909
- fix(yeaft): VP-isolate in-memory snapshot + rename group→session by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/910
- fix(yeaft): accept legacy {groupId} on per-id session ops + cross-agent create sync by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/911
- fix(yeaft): inject envelope agentId into session_crud_result group payload by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/912
- fix(chat): restore conversation context on reconnect race + clear processing on chat rejections by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/913
- fix(yeaft): persist sessions — handler used undefined agent.id by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/914
- fix(yeaft): make session delete idempotent for orphan rows by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/915
- fix(yeaft): stabilize sidebar order across agents + chat-style 3-item menu by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/916
- fix(yeaft): stamp groupId regardless of view so switch-back shows new messages by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/918
- feat(yeaft): restore sessions from disk via workdir scan by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/917
- refactor(web): rename msg.groupId → msg.sessionId across web store by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/919
- fix(yeaft): unblock VP roster + merge Restore-from-disk into SessionCreate by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/920
- feat(yeaft): VP per-session isolation + post-turn 70% compact + dream/compact boundary lock by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/921
- fix(yeaft): hydrate sessionId from legacy groupId: frontmatter by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/922
- refactor(yeaft): drop groupId from disk + rename v-suffixed files by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/923
- fix(yeaft): merge duplicate session lists in SessionCreateModal by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/924
- fix(yeaft): restore history loading + per-VP stop button visibility by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/925
- perf(yeaft): cut per-turn tool-call count via clearer prompt rules by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/926
- docs(claude.md): codify session-only Yeaft model + naming constraints by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/927
- fix: cache Yeaft agent model status by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/929
- docs: rewrite for multi-provider — Copilot + Yeaft Group + user/tech sections by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/930
- feat(yeaft): source per-model context window from models.dev by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/932
- fix: normalize session scope naming by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/931
- fix: refresh Yeaft session models and history by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/934
- fix: relax sub-agent tool limits by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/935
- fix(yeaft): resolve sidebar pin store lookup by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/938
- perf: speed up chat session load + history pagination by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/937
- fix(yeaft): stop sub-agent orchestration tools from stalling the parent loop by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/940
- fix(yeaft): surface auto dream output per session by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/941
- fix(yeaft): expose dream memory prompt loads by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/942
- fix(yeaft): label dream scopes as sessions by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/943
- fix: reload complete Yeaft session history by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/944
- feat(yeaft): Claude-Code-style layered skills + MCP B+C set by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/946
- fix: filter collaboration tools by group size by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/945
- feat: add processing-dot to YeaftSidebar active session item by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/949
- fix: align Copilot session lifecycle with Claude Code by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/950
- feat(yeaft): support global and per-agent LLM providers by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/947
- fix(yeaft): insert selected session at top by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/951
- fix: restore agent setup commands in settings by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/952
- fix: hydrate restored Yeaft sessions by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/939
- fix(yeaft): use session scopes for dream memory by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/953
- fix: bind Yeaft thread actions to VP message blocks by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/954
- feat(yeaft): configure local LLM providers from agent CLI by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/955
- test: reduce default suite scope by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/956
- feat(ws): plaintext-by-default with capability negotiation + permessage-deflate by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/958
- feat(yeaft): simplify LLM provider onboarding by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/959
- fix: dedupe Yeaft history replay messages by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/960
- refactor: neutralize session output handling by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/961
- fix(yeaft): cap debug.db growth with 10-day TTL + incremental_vacuum by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/963
- fix: isolate history sessions by provider + default Copilot to all-tools by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/964
- fix(copilot): route attachment sends through the provider driver by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/962
- feat(yeaft): overhaul sub-agent reliability by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/957
- fix(yeaft): stop session open from looping load_history/vp_subscribe by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/965
- fix: store session metadata in session json by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/966
- fix: keep route forwards in source thread by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/967
- fix: window Yeaft session messages by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/968
- fix: mark pinned Yeaft sidebar sessions by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/969
- fix: localize VP prompts by language by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/970
- fix: persist Yeaft session pin state by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/972
- feat: add review merge tag skill by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/973
- fix: read dream sessions from conversation store by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/971
- fix: remove thread-based Yeaft message blocks by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/974
- fix: preserve Yeaft session pins across refresh by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/976
- fix: improve Yeaft response display guidance by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/977
- feat: extract dream memory segments by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/978
- fix: improve Yeaft mobile layouts by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/979
- fix(yeaft): reload session when the agent process restarts by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/980
- fix(copilot): persist provider so a conversation survives agent restart by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/981
- fix: window oversized tool action history by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/982
- fix(yeaft): scope session-create modal folder/scan to the selected agent by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/983
- fix: abort VP turns from timeline stop by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/985
- fix: strengthen VP system prompt souls by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/988
- fix: make Yeaft sub-agents asynchronous by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/989
- fix: naturalize stock VP souls by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/992
- feat: redesign Dream debug panel by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/991
- fix: preserve raw tool results by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/993
- fix: make Dream debug panel scrollable by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/995
- fix: support Claude Opus 4.8 models in Yeaft by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/996
- fix: clarify Yeaft active sessions and settings UI by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/997
- fix: persist yeaft session pins by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/998
- fix: stop overriding Copilot CLI models by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/999
- fix: keep Yeaft model menu below chip by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1000
- fix: launch Copilot ACP on Windows via shell by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1002
- fix: author stock VP souls directly by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1001
- fix: manage Copilot provider model routing by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1003
- fix: make Dream debug sessions searchable by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1004
- fix: scope running state per session by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1005
- fix: make dream debug list compact by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1006
- fix: hide route_forward handoff messages by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1007
- fix: keep session list order stable by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1008
- fix: simplify Yeaft header actions by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1009
- fix: avoid invalid Yeaft page template expression by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1011
- fix: show session titles in conversation headers by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1012
- fix: prioritize session lessons in dream memory by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1010
- fix: center Yeaft session header title by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1014
- fix: split Yeaft history turns by VP owner by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1016
- fix: polish Dream debug list styling by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1015
- fix: localize Yeaft prompt text by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1017
- feat: add Yeaft model effort selection by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1018
- fix: restore Yeaft session reload state by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1022
- fix: send OpenAI effort for GPT 5.5 by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1021
- fix: refine Dream debug expanded layout by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1019
- fix: align Yeaft message refresh icon by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1023
- fix: tighten Yeaft output formatting prompt by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1024
- fix: strengthen multi-VP route forwarding guidance by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1025
- fix: support Anthropic adaptive effort by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1026
- fix: localize legacy stock vp souls by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1020
- fix: restore yeaft pinned sessions after reload by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1027
- fix: simplify settings Yeaft UI by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1013
- fix: scope Yeaft model selection per session by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1028
- fix: repair Settings agent secret by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1029
- fix: use bearer auth for Copilot Anthropic by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1030
- feat: localize built-in tool descriptions by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1033
- fix: render session context prompts naturally by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1032
- fix: make Yeaft tools platform aware by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1031
- fix: preserve forwarded VP attribution by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1036
- fix: scope compact input state per session by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1037
- feat: keep bilingual tool descriptions in tool files by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1038
- feat: add Yeaft announcement header action by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1039
- fix: keep Agent secret visible in settings by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1041
- fix: show pending tools in request debug by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1040
- fix: align light theme surfaces by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1042
- fix: keep Yeaft prompt language live by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1043
- feat(yeaft): typed LLM error retries with rate-limit + backoff by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1044
- feat(yeaft): Yeaft LLM config UX — drop fast model, DeepSeek effort, CLI list-models by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1046
- fix: abort Yeaft VP turns by session and VP by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1049
- feat(settings): replace --server install hint with LLM connect command by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1047
- feat(ui): remove agent latency chip from chat and yeaft sidebars by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1050
- fix: include cached tokens in Yeaft debug usage by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1051
- fix: polish Yeaft UI actions by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1052
- fix: refine Yeaft header actions and VP edit flow by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1053
- feat: load project Claude Code skills + MCP into yeaft sessions by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1054
- fix(yeaft): drop buffered LLM chunks after per-VP abort by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1055
- feat: stage Yeaft model effort selection by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1056
- fix: improve mobile model selector layout by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1057
- feat(debug): split request token breakdown and add per-row timestamps by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1059
- fix: improve light code block syntax contrast by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1060
- fix: streamline Yeaft model selector dropdown by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1061
- fix: hide Yeaft header title on mobile by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1058
- feat: virtualize message transcript rendering by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1062
- fix: ignore local Yeaft state by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1065
- fix: keep virtual transcript scroll state synced by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1064
- fix: remove Dream debug tab icon by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1066
- fix: load default Yeaft session on entry by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1067
- fix: narrow Yeaft model dropdown by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1071
- fix: make debug request history browsable by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1069
- feat: pin session announcement below header by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1070
- fix: remove VP message collapse previews by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1068
- fix: clear stale fast model for Copilot CLI use by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1072
- fix: restore Yeaft conversation layout by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1073
- fix: simplify request log rows by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1075
- revert: move session announcement out of header by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1074
- fix: restore Yeaft load-more render handler by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1076
- fix: improve debug request log readability by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1077
- fix: remove duplicate load-more handler by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1078
- fix: restore virtual transcript rendering by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1079
- fix: stabilize debug panel rendering by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1080
- fix: remove user avatar from session messages by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1081
- fix: stabilize message flow virtualization by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1082
- fix: isolate debug request log turns by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1083
- fix: continue history loading near top by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1084
- feat: add GitHub Copilot LLM instructions by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1085
- fix: remove custom provider copilot auth toggle by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1086
- fix: remove stale user avatar asset request by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1088
- fix: raise tool result model cap by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1089
- feat: show spinner while session history loads by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1090
- feat: add session background tasks by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1091
- fix: polish session status sidebar by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1092
- fix: stop persisting backend task lifecycle messages by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1093
- fix: prevent debug panel request overlap by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1094
- fix(yeaft): retry stalled LLM streams by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1095
- feat: combine model effort selection by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1096
- fix: normalize terminal output in messages by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1098
- fix: re-enter VP on background task completion by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1097
- feat: render task logs with ANSI terminal styling by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1099
- fix: isolate Yeaft conversations per agent by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1103
- feat: borrow user Claude and Codex tools config by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1102
- feat: consolidate session status announcement UI by @xxx111x1 in https://github.com/yeaft/yeaft-web-code-agent/pull/1100
- fix: return sub-agent results as