diff --git a/emrg/server/evolution_prompt.md b/emrg/server/evolution_prompt.md index 1983a0e..5b757bc 100644 --- a/emrg/server/evolution_prompt.md +++ b/emrg/server/evolution_prompt.md @@ -428,6 +428,7 @@ When reading rants, follow these rules: > - stop-git.ps1 EMRG-tree snapshot kill (#692 宿主 rant 2026-08-11T19:47:44 修正 #689:`Get-CimInstance Win32_Process` 祖先回溯对**已死 daemon 的孤儿 git 进程**解析失败(查父返回 $null → 不杀 → Inno DeleteFile code 5 回归)——改**向下 BFS 快照**:step 0 杀任何进程前从 EMRG 根(emrgd.pid daemon + EMRG.exe + `python.exe -m emrg` TUI 排除 emrg.server)BFS 整棵树写 `%TEMP%\emrg-stop-pids.txt`;step 4 只杀快照集内仍占 `install\git\` 的 PID;:verify 只查快照集存活;宿主 Git Bash sh/vim 永不被碰(不在快照集)且孤儿进程生前已入快照仍被抓;R125 同族(Inno 不干涉宿主工具);另 README 吸引力文案(rant 19:50:37);合并 5d57d60) ✅ > - TUI cursor-left CLEAR_TO_EOL fix + status bar reorg (#693 宿主 rants 2026-08-11T19:59:09/20:02:43:①光标左移右侧字符消失——write_frame 尾部 `row_dirty_end`+`CLEAR_TO_EOL`(\x1b[0K) 行尾清理把光标右侧未变字符整行清掉(diff 只含光标附近 2 格);修复=**整块删除** row_dirty_end 声明/dirty_end 计算/尾部 CUP+EL;SPACER_TAIL 残影由 WIDE 字 2 列天然覆盖 + 行内收缩(prev 字符→curr 空)走正常分支写空格;review ❌ 纠偏=显式 spacer 空格写入有 off-by-one(WIDE 后光标在 x+2 非 x+1,空格落偏右移字符)→ 彻底删除 elif 块(7296269);②状态栏重组=左段 bold magenta `title (sid[:8]) [model] [1:23] · 3 msgs · ~/proj`(模型独立 `current_model` 跟踪、耗时纯文本 [m:ss] 去 ⏱、消息数+目录走 `left_extra`)、中段 dim 仅 `id @ host`(服务端 ID + 主机名)、右段移除(`_update_right()`→`_update_left_extra()`);/model 切换刷新左段;+8 测试 695→703(test_output +3 / test_buffer +1 / 新 test_status_line +4),GUI 212;合并 2d12ad8) ✅ > - TUI queue-injection client side (#655 P3 follow-up,自发现:daemon P1 排队注入已 e2e 验证但 TUI 不可达——busy 时 ENTER 被静默吞掉(app.py:1837),4 个广播帧无人处理;修复=①`send_task` 增可选 `id` 参数并返回最终请求 id(重发复用原 id);②ENTER busy 不再拦截(was_busy 捕获),发送后若当时 busy 记入 `_queued_sends`;③read_server 新增 4 帧处理——task_queued 显示 '⏳ Queued (position N)'、steer_committed 从队列移除、queued_requeue 以原 id 静默重发(**不重加 user 行/不重复 msg_count**,busy 置 True + need_new_assistant 保证响应进新 md 行 + 重启耗时计时)、queued_cancelled 清队列+提示;④断线重连清 `_queued_sends`(daemon 断连即 drop 队列);**review ❌ 同 #696**:queued_requeue 重发循环 was_busy 循环前捕获 → 单客户端回合刚结束 was_busy=false,M2+ 重发到达时 daemon busy 被再排队但未跟踪 → 下个 queued_requeue 找不到 → 静默丢失;修复=每条重发 `if (was_busy or i > 0)` 重新跟踪(9cb4194,steer_committed 移除已注入,下个 queued_requeue 重发其余,收敛);+2 测试 703→705(send_task 显式 id 透传 / 返回生成 id),GUI 212 不变) ✅ +> - Release v0.2.27 (#698 宿主 rant 2026-08-12T09:50:56:master 自 v0.2.26 (f2ba4be) 以来 12 commits / 11 PRs(#687-#697),宿主确认发布下一版本;版本号 0.2.26→0.2.27 同步 7 files / 8 refs(emrg/__init__.py、pyproject.toml、uv.lock、gui/package.json、gui/package-lock.json×2、build-runtime.sh、make-installer.sh),grep 0.2.26 仅历史;pytest 705 + GUI 218 绿;Build Release v0.2.27 成功(31556996537),7 assets(含 Windows zip #649),latest=v0.2.27;合并 45d0cd7(并行周期 3 LGTM);What's new=stop-git.ps1 连坐强杀 #692 + TUI 光标/状态栏 #693 + README 吸引力 #692 + 图标定稿 #688 + queue-injection 客户端 #695/#696 + quick-ref ×4) ✅ #### 2.2 Latest GitHub code changes