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
6 changes: 6 additions & 0 deletions emrg/server/evolution_prompt.md
Original file line number Diff line number Diff line change
Expand Up @@ -442,6 +442,12 @@ When reading rants, follow these rules:
> - Task handler generalization P1 (#709 宿主 rant 2026-08-12T18:14:46,被 18:23:15 全面设计取代:EvolutionHandler→TaskHandler 类改名(40 refs)+ workspace 自愈特判泛化(`_repo_configured` = 有 repo 配置即自愈 clone/对齐,不再特判 emrg 项目)+ `_resolve_task_template` 模板查找 helper(内置 TASK_TEMPLATES → ~/.emrg/task-templates/<type>.md → evolution_prompt.md 兜底 + 告警);纯重构行为不变,pytest 730→736;合并 f7e8671) ✅
> - Task/template CRUD + hot reload P2 (#710 宿主 rant 2026-08-12T18:23:15:daemon 任务管理能力——`task_create/update/delete` + `task_template_create/list/update/delete` 命令(task_result/templates_list/template_result 帧);存储 `~/.emrg/tasks.yml`(扩展 description/config.repo)+ `~/.emrg/task-templates/<name>.md`(原子 tmp+replace 写);校验=name `^[a-z0-9][a-z0-9-]*$` ≤32、type 内置或已存在自定义、project 必须在 projects.yml、interval ≥60、内置类型/模板只读拒绝、删除被任务引用的自定义类型拒绝(错误带任务数);`TaskScheduler.apply_tasks()` 热重载(原子写 → 与运行 handler 签名 diff → 增删重启,幂等);未知/自定义类型不再静默跳过——以用户模板 → evolution_prompt.md 兜底启动为 TaskHandler;+8 测试 736→744;合并 be574d5) ✅
> - GUI task/template management P3 (#711 宿主 rant 2026-08-12T18:23:15 收官:设置对话框「定时任务」区——任务列表(名称/类型/项目/间隔/启用 + 触发/编辑/删除)、行内新建/编辑表单(类型下拉含自定义、项目下拉仅注册项目、间隔 ≥60 客户端+daemon 双校验、名称编辑只读)、自定义类型管理(内置只读无操作按钮、自定义编辑/删除/新增带提示词模板 textarea);IPC 7 个 handler(main.js+preload.js)+ RESPONSE_TYPES +7(task_result/templates_list/template_result——缺失则 sendCommandAndWait 回退命令名 → 8s 超时假失败);i18n 26 键 zh/en;6 个宿主拍板点全部落地;renderer.smoke +3 + daemon_client +1 → GUI 225→229;合并 b8d4817) ✅
> - Windows pytest matrix in CI (#725 v0.2.29 CI 缺口:Windows pytest 此前只在 tag 触发的 Build Release 跑(test.yml 仅 ubuntu)——FakeGitRun git.EXE 大小写 bug(#723)等 Windows-only 测试回归要到发版构建才暴露;修复=test.yml 新增 test-windows job(windows-2025 + astral-sh/setup-uv python 3.13 + uv sync + uv run pytest tests/ -v),每个 PR 都在 Windows 上跑 pytest 门禁;合并 1be1e34) ✅
> - Installer stop-emrg output on failure (#727 宿主 rant 2026-08-13T09:24:37:安装器失败时宿主只看到 exit 1 无任何原因(R125 家族);修复=make-installer.sh .iss [Code] 捕获 stop-emrg.cmd 输出并在失败时显示给宿主(FileExists 守卫 + 2000 字符截断),不再静默失败;合并 9599852) ✅
> - Packaged *.cmd pure CRLF (#728 宿主 rant 2026-08-13T09:44:32:打包版 .cmd 因 LF 行尾在 cmd.exe 下行为异常(三弹窗根因家族);修复=build-runtime.sh + build-release.yml 对打包运行时全部 *.cmd 强制纯 CRLF 转换 + 测试断言;合并 2b2e857) ✅
> - stop-emrg.cmd v2 host-verified (#729 宿主 rants 2026-08-13T09:56:47/10:00:33:安装器 exit 1 最终修复——stop-emrg.cmd 重写(124 行,83+/72-),Windows 真机验证通过(EMRG 树 BFS 快照杀 + 宿主工具不碰 + :verify 只查快照集);合并 eb38234) ✅
> - Release v0.2.30 (#730 宿主 rant 2026-08-13T10:28:24:master 自 v0.2.29 (b3a668d) 以来 8 commits / 8 PRs(#722-#729),宿主确认发布 v0.2.30(Windows 安装器 exit-1 最终修复版);版本号 0.2.29→0.2.30 同步 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);Build Release v0.2.30 成功(31663482261,#731 iscc gate 修复后 4 平台全过 + release job),7 assets(含 Windows zip),latest=v0.2.30,发布 03:25:18Z;合并 f5d7f47;What's new=Windows 安装器 exit-1 修复链 #727/#728/#729 + CRLF 根因 #728 + iscc gate #731 + Windows pytest 门禁 #725) ✅
> - iscc compile gate (#731 v0.2.30 Build Release 31661378619 在 windows 'Make installer' 步骤失败——iscc 拒绝 emrg.iss [Code]:'Invalid number of parameters' on LoadStringFromFile(LogFile);根因=Inno Pascal Script API 是 2 参 out-arg 形式(LoadStringFromFile(FileName; var S: AnsiString)),#727 的日志浮出代码调了不存在的 1 参 string-return 形式;Test 工作流从不编译 .iss → 只在 tag-push Build Release 暴露(v0.2.7 教训重现);修复=①make-installer.sh 改 2 参 out-param 形式 + 测试断言 2 参正态/1 参负态;②test.yml Windows job 新增 iscc compile gate(Test 阶段即编译 .iss,heredoc 反引号/shellcheck/icon.ico 占位/AnsiString var 参全修);合并 ca367ed) ✅
> - GUI file-browser scroll + root collapse fix (#733 宿主 rants 2026-08-13T12:46/12:47:①`.result-files` 只有 overflow-y:auto 没有 flex:1/min-height:0 → flex 子项高度随内容增长永不压缩进 #result-panel 容器,overflow 永不触发,内容被 overflow:hidden 裁掉(有滚动条槽但滚不动);修复=`.result-files` 加 flex:1 + min-height:0(与 .result-list 对齐);②file-tree.js render() 手写根目录行漏绑 click 事件(renderEntry 的普通目录行有 toggleDir,根目录永远展开收不起);修复=rootRow 补 addEventListener click → toggleDir(root, kids, ensure(root), 1)(展开态持久 + 图标切换与普通目录一致);renderer.smoke 测试 +28 行;合并 34942e1) ✅
> - workspace-path repair per cycle (#734 宿主 rant 2026-08-13T13:13:20 跟进 #716:scheduler 只在启动时修复 stale emrg 条目(被删的 pytest-temp 目录泄漏进 projects.yml),长活 daemon 中途污染不自愈;修复=TaskHandler 每 cycle `if self._project_name == "emrg": self._ensure_project_entry()` 幂等重写正确路径(list_projects/GUI pickers 保持正确,无需重启);+3 测试;合并 1ea959c) ✅
> - system prompt time + OS (#735 宿主 rant 2026-08-13T14:01:46:agent system prompt 增加当前时间 + 操作系统,避免使用错误的命令/路径分隔符——system.j2 在 Working directory 前渲染 **Current time**(tz-aware 本地 ISO 秒)+ **Operating system**(platform.system + platform.platform),Jinja2 条件门控;合并 4e8607a) ✅
Expand Down
Loading