diff --git a/emrg/server/evolution_prompt.md b/emrg/server/evolution_prompt.md index 187148a..582f4d7 100644 --- a/emrg/server/evolution_prompt.md +++ b/emrg/server/evolution_prompt.md @@ -374,6 +374,8 @@ When reading rants, follow these rules: > - Evolution status rules (#605 宿主 rant 2026-08-10T08:59:57:completed 判定不再等宿主实测——"这种等待没有任何意义,如果我发现没改好,会新起一个 rant";completed = 所有 PR merged + 演化自测通过(pytest/import/CLI green);验收项必须演化可自证(测试/CI/审查),不写"宿主实测"类验收项;宿主反馈走新 rant;分步实现=最后一个 PR merged 才 completed;correction mechanism 保留(新 rant 暴露旧修复不足→回退 in_progress);rants.jsonl 存量 7 条"等宿主"in_progress 按新规则转 completed,不再堆积) ✅ > - Windows installer pre-stop (#606 宿主 rant 2026-08-10T08:50:44:Windows 升级安装卡在"停止已有进程"——Inno 覆盖 `~/.emrg\install` 前不停运行进程,无窗口 pythonw daemon(emrgd.cmd→pythonw.exe -m emrg.server)独占锁文件,CloseApplications 看不见它 → 宿主只能重启;修复=新 `bin/stop-emrg.cmd`(①GUI taskkill /IM EMRG.exe 优雅 WM_CLOSE→~5s→/F 兜底 ②TUI python.exe -m emrg wmic 命令行过滤(%% 转义 LIKE,PowerShell CIM 兜底 Win11 24H2+ 无 wmic,排除 daemon pythonw -m emrg.server)③daemon:旧安装 `emrg.cmd server stop` 协议关闭(#364 起存在=版本安全)→ emrgd.pid 轮询 ≤10s → taskkill /F /PID 兜底;退出码=残留进程判定,非零→安装器中止给可操作消息;干净安装全跳过)+ `bin/emrgd.cmd` stop 分支 + .iss `[Files] dontcopy` + `[Code] PrepareToInstall`(ExtractTemporaryFile→经 cmd.exe 以 /c SW_HIDE 运行,非零中止)+ build-runtime 打包;审查中修复 cmd 括号块 %DPID% 解析时展开 bug(→setlocal enabledelayedexpansion + !DPID!,判别回归断言);+4 测试 670→674 文档同步;Windows 真机行为待宿主反馈(新规则:反馈走新 rant)) ✅ > - Installer pre-stop unconditional GUI /F (#608 宿主 01:27:07Z 实测反馈:pm25coder 在 #606 合并后于 Windows 真机验证——长活 ~15h GUI 会话 WM_CLOSE 在 5s 宽限窗内未退出,两次整跑未终止,直接 `taskkill /IM EMRG.exe` 也未终止、`/F` 才终止 → 旧 GUI 会话可拖住安装器;修复=`stop-emrg.cmd` GUI `/F` 兜底改为**无条件**(移除 tasklist/findstr survivor gate:GUI 未运行→优雅 taskkill errorlevel 1→跳过等待→/F 快速 no-op;GUI 运行但延迟→无条件 /F 强制终止);判别断言就地强化(ping→/F 之间无 findstr,去掉无条件 /F 即红);计数 674 不变;安装器 rant 08:50:44 闭环(#606+#608 均 merged + 测试绿)) ✅ +> - cmd launchers ASCII-only REM (#610 宿主 01:36:12Z note:`bin/stop-emrg.cmd`/`bin/emrgd.cmd` 等 .cmd 文件 REM 注释含中文 → zh-CN Windows CP936 代码页 mojibake(REM 行乱码);修复=全部 .cmd REM 注释改 ASCII-only;+0 测试(纯注释改动,674 全绿)) ✅ +> - GUI packaged vendor bundling (#612 宿主 rant 2026-08-10T11:03:51:打包版 GUI Markdown 不渲染——electron-builder `files` 白名单漏 `vendor/**` → marked/DOMPurify/highlight 未进安装包 → renderMarkdown 静默降级纯文本(源码模式正常、仅打包版中招);修复=package.json build.files 加 `vendor/**` + markdown.js `!window.marked` 时 console.warn 可诊断(不再静默降级)+ build-config.test.js 3 测试钉死白名单/vendor 脚本存在/warn 兜底;GUI 测试 107→110 文档计数同步;674 pytest 全绿) ✅ #### 2.2 Latest GitHub code changes