From 400ad7bdaaf10bf82c70df0f93eecf0381b9b37c Mon Sep 17 00:00:00 2001 From: EMRG Evolution Date: Tue, 11 Aug 2026 19:14:53 +0800 Subject: [PATCH] emrg: evolution_prompt quick-ref for #688/#689/#690 (icon finalization + stop-emrg fix + gen-assets doc) --- emrg/server/evolution_prompt.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/emrg/server/evolution_prompt.md b/emrg/server/evolution_prompt.md index e14cec3..981ca01 100644 --- a/emrg/server/evolution_prompt.md +++ b/emrg/server/evolution_prompt.md @@ -418,9 +418,12 @@ When reading rants, follow these rules: > - README fact fixes + trust copy (#677 宿主 rant 2026-08-11T17:28:02:竞品表 Codex 开源列 ❌→✅ *Apache-2.0*(此前误标 ❌——Codex 是开源但无自进化,差异化注:开源本身不是差异点,闭环进化才是);FAQ 新增安全边界条目 EN/CN(自进化只改 `~/.emrg/evolution/emrg`,绝不碰宿主项目文件;宿主项目上的工具调用仅宿主指令触发;每处改动都过 pytest + PR 评审);Quick Start 新增 BYOK 句 EN/CN(自带 API Key、额度/账单归宿主、软件 MIT 免费);README.md/README.cn.md 同步,MANIFESTO.md 零改动;合并 a499732) ✅ > - README contribution philosophy (#678 宿主 rant 2026-08-11T17:30:31:Rant-Driven Evolution 段(Real example 之后)EN/CN 对称新增"如何贡献?使用它。"——连接 GitHub + 吐槽 → 吐槽变成真实 PR(演化周期负责编码/测试/上线),无需 fork/clone/写代码,"使用 EMRG 就是在为 EMRG 做贡献";完成三段式叙事(产品经理 / 硅基生命宿主 / 使用即贡献);合并 35ca1c3) ✅ > - GUI packaged icon fix (#680 宿主 rant 2026-08-11T17:37:03:打包版曾用 Electron 默认蓝色原子球图标——package.json build.mac/win/linux.icon 从目录形 `../packaging/assets/` 改显式单文件(mac .icns / win .ico / linux .png,全部存在于 packaging/assets);运行时 `BrowserWindow icon` 经 `windowIconPath()`(打包版 extraResources 落 `resources/icon.png`,源码回退 `packaging/assets/icon.png`);fs/path 已导入零新增依赖;node --check 通过;合并 b400267) ✅ -> - Windows installer kill bundled-git orphans (#683 宿主 rant 2026-08-11T17:56:25,**18:56:58 修正方向**:Windows 升级安装卡 Inno "DeleteFile failed; code 5"——daemon 演化周期 git 操作中途被杀 → 孤儿 git/ssh/bash 进程锁 `install\git\usr\bin\msys-2.0.dll`;初版修复=stop-emrg.cmd step 4 按**可执行文件路径前缀**杀 bundled git 孤儿(`ExecutablePath -like "$env:USERPROFILE\.emrg\install\git\*"`),:verify 无差别存活判定 → exit 1 中止;**宿主实测 18:56:58 发现方向错误**:路径前缀会误杀宿主自己的 Git Bash sh/vim(也从 install\git 启动),vim 未存盘内容丢失 + verify 抓存活 → 安装中止(R125 同族:Inno 不该干涉宿主工具);**修正**=step 4 只杀 **EMRG 自己的 git 子进程树**(`Get-CimInstance` + `ParentProcessId` 祖先回溯 ≤5 层,祖先含 daemon `pythonw -m emrg.server` / TUI `python -m emrg` 才杀;宿主 sh/vim 祖先链是 explorer/终端 → 不杀),:verify 存活判定同步改为"仅 EMRG 子树残留 → exit 1",宿主工具存活不再是失败;测试锚定判别信号(ParentProcessId + -m emrg + verify 无旧无差别检查);合并 c9131c6(#683)→ 修正 PR 待合并) ✅ +> - Windows installer kill bundled-git orphans (#683 宿主 rant 2026-08-11T17:56:25,**18:56:58 修正方向**:Windows 升级安装卡 Inno "DeleteFile failed; code 5"——daemon 演化周期 git 操作中途被杀 → 孤儿 git/ssh/bash 进程锁 `install\git\usr\bin\msys-2.0.dll`;初版修复=stop-emrg.cmd step 4 按**可执行文件路径前缀**杀 bundled git 孤儿(`ExecutablePath -like "$env:USERPROFILE\.emrg\install\git\*"`),:verify 无差别存活判定 → exit 1 中止;**宿主实测 18:56:58 发现方向错误**:路径前缀会误杀宿主自己的 Git Bash sh/vim(也从 install\git 启动),vim 未存盘内容丢失 + verify 抓存活 → 安装中止(R125 同族:Inno 不该干涉宿主工具);**修正**=step 4 只杀 **EMRG 自己的 git 子进程树**(`Get-CimInstance` + `ParentProcessId` 祖先回溯 ≤5 层,祖先含 daemon `pythonw -m emrg.server` / TUI `python -m emrg` 才杀;宿主 sh/vim 祖先链是 explorer/终端 → 不杀),:verify 存活判定同步改为"仅 EMRG 子树残留 → exit 1",宿主工具存活不再是失败;测试锚定判别信号(ParentProcessId + -m emrg + verify 无旧无差别检查);合并 c9131c6(#683)→ 修正 #689 已合并 888efb0) ✅ > - README emoji restraint (#684 宿主 rant 2026-08-11T17:58:11:README 标题/特性表/流程图 emoji 泛滥——装饰性 emoji 从标题(# 🧱→#、## ✨→##、## 🔄→##、## 🚀→##、### 📦→###)与特性表行移除,EN/CN 对称;演化流程图改纯文本(Inputs / 演化循环 / 编号步骤);doc-count 新增标题无 emoji 守卫(`^#{1,3} ` 标题行禁 emoji,对比表 ✅/❌、底部 ❤️、语言切换 🇬🇧/🇨🇳 保留在正文非标题);MANIFESTO.md 零改动;合并 80a338a) ✅ > - Release v0.2.26 (#686 宿主 rant 2026-08-11T18:16:52:master 自 v0.2.25 (c8eb77a) 以来 11 commits / 11 PRs(#676-#686),宿主确认发布下一版本;版本号 0.2.25→0.2.26 同步 7 files / 8 refs(emrg/__init__.py、pyproject.toml、uv.lock、gui/package.json、gui/package-lock.json、build-runtime.sh、make-installer.sh),grep 0.2.25 仅历史;pytest 694 + GUI 212 绿;Build Release v0.2.26 成功,7 assets(含 Windows zip #649),latest=v0.2.26;合并 f2ba4be) ✅ +> - App icon finalization (#688 宿主 rant 2026-08-11T18:28:09:rant 内嵌 SVG 源码是字面 `%s` 占位符——穷尽搜索(sessions/logs/Downloads/git 历史)无原始 Gemini SVG → 按 rant 详细设计规格**重建** `packaging/assets/icon.svg`(Branch Emergence 分支涌现:绿渐变 #00FF87→#047857、顶部青色 #60EFFF 节点、深绿底 #111c16→#070b08、主干→枢纽→5 支扇形→3 层发光节点);新增 `packaging/gen-assets.sh` 渲染 SVG→PNG(rsvg-convert → Chrome headless → sips 面积平均 box-filter 缩放回退链)+ CI "Generate icon assets" 步骤(Build GUI 前)+ 5 个二进制产物 gitignore(仅 SVG 设计源提交);两轮审查修复:cygpath file-URL(Windows Chrome `file:///$(cygpath -m "$SVG")`,be39d4c)+ iconutil macOS 守卫(非 macOS 跳过 icns + CI 断言仅 macOS,7224890);合并 afbfaea;若宿主产出原始 Gemini SVG 可经新 rant 替换) ✅ +> - stop-emrg EMRG-tree-only kill (#689 宿主 rant 2026-08-11T18:56:58 修正 #683:step 4 按路径前缀杀 bundled git 误杀宿主 Git Bash sh/vim——vim 未存盘 + 安装器中止;初版修正=ParentProcessId 祖先回溯,**review ❌**:祖先回溯无法解析**已死父进程**(#683 主场景正是 daemon 已死后的孤儿,查父返回 $null → 不杀 → DeleteFile code 5 回归);终版=step 0 杀任何进程前**向下 BFS 快照** EMRG 树(根=emrgd.pid daemon PID + EMRG.exe + python.exe -m emrg TUI 排除 emrg.server)→ %TEMP%\emrg-stop-pids.txt;step 4 只杀快照集内仍在 install\git\ 下的 PID;:verify 只查快照集存活 → 宿主 sh/vim 永不被碰(不在快照集),已死 daemon 的孤儿因生前已记录仍被抓;测试重锚定快照语义(Set-Content/$ids -contains/清理);合并 888efb0) ✅ +> - Packaging gen-assets doc (#690 并行周期 doc-only:Agent.md + DEVELOPMENT.md 新增 Packaging 段——图标产物 gitignore(仅 icon.svg 提交,#688),本地安装包构建需先 `bash packaging/gen-assets.sh`(幂等;渲染优先级 rsvg-convert → Chrome headless → sips;.icns 需 macOS iconutil 否则跳过带提示);#467/#468 宿主对称原则(CI 构建时生成 + 宿主本地自检文档化);合并 6b8fff3) ✅ #### 2.2 Latest GitHub code changes