Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions emrg/server/evolution_prompt.md
Original file line number Diff line number Diff line change
Expand Up @@ -361,6 +361,7 @@ When reading rants, follow these rules:
> - Windowless daemon spawn on Windows (#576 外部贡献 pm25coder,宿主 rant 19:50:07+08:00 Windows GUI 启动弹控制台黑窗:windowsHide 只藏 cmd.exe,python.exe(console 子系统)被拉起仍分配新控制台 → emrgd.cmd 改优先 `python-dist\pythonw.exe`(GUI 子系统,回退链 pythonw→python→python3.13);daemon 日志走 RotatingFileHandler→emrgd.log(stderr=None 安全,handleError 吞 StreamHandler 失败,daemon 路径零 print);daemon_client.js/main.js 源码模式 spawn 补 `windowsHide:true`(win32 only);+0 测试(9 行改动,634 全绿)) ✅
> - GUI spinner/typing/markdown fixes (#580 外部贡献 pm25coder,宿主 rant 21:08/21:09/21:10 Windows GUI v0.2.14 实测:①工具完成后 spinner 仍转圈 → handleToolEnd 移除 .tool-spinner + CSS `.tool-row:not(.running)` 兜底防闪烁;②文本段被工具封存后残留 typing 光标 → handleToolStart 封存时移除前段 typing class(光标只留最新段);③✦ 前缀破坏 markdown 块语法(`✦ # Title`/列表/代码围栏 marked 不解析)→ done 渲染前剥离 `^✦\s*`、渲染后以 msg-assistant-mark span 元素重插保持视觉;测试桩升级(classList 以 className 为唯一事实源 / querySelector 类选择器 DFS / remove() 真实脱离父节点);+3 GUI 测试 93→96(Agent.md/README.md 计数同步),634 Python 全绿) ✅
> - GUI test port-file isolation + scheduler connect-failure alert (#583 外部贡献 pm25coder,G129 rant 2026-08-09T08:03:46:Windows 测试 setupTempHome 只设 HOME 不设 USERPROFILE,os.homedir() 仍读 USERPROFILE → 假 port/token 写进真实 ~/.emrg/emrgd.port → 演化周期 10h 连不上 daemon(WinError 1225);修复=①daemon_client.js PORT_FILE(projectDir=os.homedir()) 参数化,全部调用点传 this.projectDir,生产默认不变;②测试隔离守卫 assertPortFileInTmp(写 port 文件前断言路径在 tmpHome 内)+ setupTempHome 一并重定向 USERPROFILE;③integration findPython 上溯 3 级(test→gui→emrg→仓库根,此前 2 级解析到 emrg/ 包目录找不到 .venv → 回退 PATH 损坏 python.exe);④scheduler `_CONNECT_FAIL_ALERT=3` 连续连接失败计数器:达阈值 WARNING→ERROR 升级 + 可操作提示(检查 emrgd.port),成功连接归零,失败不写 log 不计空循环;⑤doc-count guard 纳入 README.cn.md(CJK 全角括号/「N 项」归一化);+2 pytest 634→636,GUI 96 全绿) ✅
> - Saturation halt → low-frequency heartbeat full cycles (#585 宿主 rant 2026-08-09T09:35:55,覆盖 #559 完全停机:保护=降频不是停止,**永不停机**——≥30 空轮后不 skip,按 heartbeat 间隔继续跑完整六步循环;`_heartbeat_interval()` = max(interval, min(interval×8, 8h))(60s 任务→480s=8 分钟 / 10min→80min / 1h→8h / ≥8h 任务不变);run loop wait_timeout 饱和时用 heartbeat,manual trigger / 上游 ls-remote 推进立即恢复正常频率(计数清零);`_saturation_halt_active()` → `_saturation_heartbeat_active()`,日志 "never halting";新 rant 最迟一个心跳周期内处理;持久化语义不变;+3 pytest 636→639(公式 7 例 / 饱和 tick 仍跑完整 cycle / 日志无 "skipping" / 上游恢复 / 无 git 仓库不崩),639 全绿,README/Agent/README.cn 计数同步) ✅

#### 2.2 Latest GitHub code changes

Expand Down
Loading