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
2 changes: 2 additions & 0 deletions emrg/server/evolution_prompt.md
Original file line number Diff line number Diff line change
Expand Up @@ -379,6 +379,8 @@ When reading rants, follow these rules:
> - GUI result-panel collapse deadlock (#615 宿主 rant 2026-08-10T14:11:18:GUI 右侧产物面板点折叠后无法再点开——CSS `#result-panel.collapsed` 把 width 置 0 且 header(含 toggle 按钮)display:none 一起藏掉 → 死锁只能靠 ⌘\/Ctrl+\ 快捷键;修复=方案 A:折叠改 **40px 窄条**(非 0,保留左边框)+ header 保留可见(flex 居中,仅 toggle 按钮,title 隐藏)+ 只藏 .result-list + toggle rotate(180deg)(»→« 指示可展开);localStorage 持久化/窄屏自动隐藏逻辑不变;+1 GUI 测试 110→111(CSS 源级断言:40px 非 0 / header flex / list none / rotate;DOM 存活检查——折叠后 toggle 按钮仍在;slice 到折叠规则组结束防 media query width:0 误伤负断言);README/Agent/README.cn 计数同步 111;674 pytest 全绿) ✅
> - doc-count guard duplicate npm-test lines (#618 外部贡献 pm25coder:#617 修复的回归类——README.cn.md 曾有两条**完全相同**的 npm test 命令行(复制粘贴重复),原 breakdown 求和守卫逐行独立校验各自求和成立 → 无法发现重复;修复=test_doc_counts.py 新增 `test_no_duplicate_npm_test_command_lines`:逐文档收集含 `npm test` 的行,完全相同行出现 >1 即 AssertionError;Agent.md 两条*不同*的 npm test 行不受影响(全行去重非子串匹配);正反两态验证(干净 675 全绿 / 插重复行即红);测试增删文档计数同步的护栏体系再加固一层) ✅
> - daemon remove_project command (#619 GUI 多会话 rant 2026-08-10T15:07:19 P1:daemon 侧改动极小=仅新增 `remove_project` 命令——删 projects.yml 中 name 匹配条目(原子写,镜像 `_touch_project` 读路径),**磁盘 `<path>/.emrg/sessions/` 数据保留**(后续 `_touch_project` 自动重注册);响应 `{"type":"project_removed","removed":bool,"name":...}`,失败带 `error` key(文件缺失/损坏 YAML/非 list/未知 name/写失败);`_process_message` dispatch(空 name → error);+5 测试(删除匹配/未知 name 文件不动/磁盘数据保留/无文件不崩/损坏 YAML 报错)→ 合并 #618 计数冲突后 675→680 全绿;三文档计数同步;rant 分阶段 P1-P6,P2 起为 GUI 侧 connManager 多连接改造) ✅
> - DaemonClient ensureConnected skipStart option (#623 GUI 多会话 rant 2026-08-10T15:07:19 P2 slice 1:connManager 将独占 daemon 生命周期,DaemonClient 实例只连**已运行** daemon——`ensureConnected({ skipStart = false } = {})` 默认不变;skipStart+无 port 文件 → 抛 `daemon not running (skipStart)` 不 spawn;skipStart+stale port+daemon 死(G43 路径)→ 抛 `daemon unreachable (skipStart)` **不删 port 文件不重拉**(port 文件保留供 connManager 重启恢复检测);+2 测试 daemon_client 29→31、GUI 111→113 三文档同步;680 pytest 全绿) ✅
> - ConnManager open/close/get (#624 GUI 多会话 rant 2026-08-10T15:07:19 P2 slice 2:新模块 `emrg/gui/conn-manager.js`——connManager=daemon 生命周期唯一 owner + 每会话一条独立 DaemonClient 连接(对齐 TUI 多开:每 TUI 一条连接;会话间天然隔离无事件路由);`open(sid, projectPath)`=引导 client `ensureConnected()`(spawn 或直连后关闭)→ 新 DaemonClient `ensureConnected({skipStart})` → `resume_session(sid, cwd=projectPath)` 自动订阅 → 存储,已打开 sid 复用不重复建连;`close(sid)`/`get(sid)`/`all()`/`closeAll()`;main.js 未改线(单会话无回归目标随 rewire 片落);+5 测试 conn-manager、GUI 111→116 三文档同步;680 pytest 全绿;rant 分阶段 P1-P6,P2 剩余=main.js rewire + restart recovery,P3-P6 待续) ✅

#### 2.2 Latest GitHub code changes

Expand Down
Loading