生命周期: 见
docs/document-governance.md§文档生命周期。
主文件仅保留当前状态 + 最近 10 次会话;更早记录见archive/PROGRESS-2026-Q2.md·archive/PROGRESS-2026-Q3.md·archive/PROGRESS-2026-Q3-late.md·archive/PROGRESS-2026-Q3-rotate-2026-09-28.md。
- 阶段: v1.4.1 已发(2026-09-21,macOS + Windows;DMG/MSI/NSIS + updater 资产齐了,tap 已同步 1.4.1)。主线 D8–D13 ✅;扩展/MCP D14–D52 Agent 代 PM ✅;Desktop E2E ✅;Design D36 PM ✅
- Git / PM 索引:
runs/verification/pm-acceptance/AGENT-PM-2026-07-25.md - 下次优先: 后续用户可见变更写入
CHANGELOG.md## [Unreleased];需要应用内更新时手动跑Release (updater assets)。 - 本会话: UI 大文件列表性能优化(FilesChangedChips 折叠 + Changes 面板分组/过滤)+
run_terminal_cmd效率指引 + 非 git 仓库提示(commit3849256/c582428/d78ee0c/0d599b8);另更新本机 Claude Code / Codex 的 agnes 模型配置至agnes-3.0-flash。
- B-52 流程图共享不开工(需求池候选,等人再开)
- 重启 Sidecar / App 后点验:① 聊天流 CHANGED FILES 折叠 ② 右侧 Changes 分组/过滤 ③ 非 git 工作区提示 ④ Design 生成页配色与 Rounds 切换
- 后续用户可见变更写入
CHANGELOG.md## [Unreleased]
- 做了: ①
FilesChangedChips折叠:聊天流 CHANGED FILES 之前无上限渲染所有 chip(593 文件 = 593 chip),>8 文件时改为前 8 + 总数 + "Show all (N)" 折叠,展开后 220px 滚动容器。commitc582428。② 右侧 Changes 面板分组/折叠/过滤:之前平铺 593 个 DOM 节点,改为按顶层目录分组(可折叠组头 + 计数)、>50 文件默认全折叠、>20 文件出过滤框。commitd78ee0c。③run_terminal_cmdtool description 加 EFFICIENCY 指引(glob 优先 / ripgrep 优先 / "能不能删 X" 先 stat 不 grep 全仓),根因是 agent 对简单问题跑 17GB 递归 grep 吃满 60s 超时。commit3849256。④ 非 git 工作区提示:list_uncommitted对非 git 仓库返回空,与"无改动"不可区分;新增is_git_workspace+ 路由返回is_git_repo标志,前端在无文件且非 git 时显示"非 Git 仓库"提示。commit0d599b8。⑤ 本机 Claude Code / Codex 的 agnes 模型配置(cc-switch DB + live 文件)从agnes-2.0-flash/agnes-2.5-pro-alpha统一更新至agnes-3.0-flash,API 实测通过。 - 测:
pnpm build✅;vitest(FilesChangedChips 4 + UncommittedChangesList 7)全过;pytest workspace 52 passed;pre-commitverify.sh0 error。 - 下次: 重启 Sidecar / App 后点验四项 UI 改动(聊天流折叠 / Changes 分组 / 非 git 提示 / Design 配色)。
- 做了: ① 「生成的 Design 页面黑白无样式」——根因不是 LLM 也不是 CDN:画布卡片与侧栏缩略图用超大 srcDoc iframe(如 1440px 宽再 scale 缩小),Chromium 与 WKWebView 都会把 paint 冻结在 Tailwind CDN 运行时注入样式之前的初始帧;磁盘上的 HTML 与
src=加载均正常。修复:卡片与缩略图改走 sidecar 预览 URL(src=),仅 Pick-element 模式保留 srcDoc(需同源 DOM)。commitc12ddba。② 「modify 不切换版本」——后端iterate_sessionmodify 分支原地覆写_r0.html,从不产生新 round;改为走_record_screen_round记录_r1/_r2/…,与 add/duplicate/delete 对齐。③prune_orphan_session_dirs守护:注册表为空但磁盘有产物时整体跳过;24 小时内修改过的目录不删。commitd8dd342。 ⚠️ 事故披露: 排查期间我用 dev sidecar(clutch_devstore)打开用户工作区,prune_orphan_session_dirs因跨 store 注册表不匹配误删了用户 4 个测试 Design 会话(磁盘目录被清)。补救:为验证修复重建了 1 个会话;被删的 4 个为测试会话无法恢复,已向用户披露;③ 的守护即为防复发(空 keep 集跳过 + 24h 宽限期 + 回归测试)。- 测:
verify.sh✅(vitest 248 · pytest 1029 passed / 7 skipped · doc-drift 0 error);test_design_service.py42 passed(含新增 prune 守护用例);浏览器实测画布卡片与侧栏缩略图均正常上色。 - 下次: 用户重启 App 后点验 Design 生成页配色与 Rounds 切换;modify 的端到端 UI 点验需重启 sidecar 后做一次。
- 做了: 修复「发出第二问后第一条回答从 feed 消失」。根因:
compaction.should_compact用 lifetime 累计session_tokens(每轮全量上下文 input 累加,mcp_react 跨 ReAct 步求和)对比固定 15k 阈值 → 正常聊天几轮即触发 L4 全量折叠,可见消息被换成 首条+近4条+digest。真实会话run_muao447c折叠时当前上下文仅 ~7.8k tokens。修复:触发改为estimate_context_tokens(可见消息文本 chars/2 + 系统提示常量 6k),默认阈值 100k(CLUTCH_COMPACT_THRESHOLD可覆盖);手动/compact与折叠形态不变。commit9570832。 - 测:
verify.sh✅(vitest 248 · pytest 1028 passed / 7 skipped · doc-drift 0 error);真实会话归档回放:旧逻辑折叠、新逻辑不折;新增 3 个回归测试(阈值守卫 / 两轮 patch 保留首答 / WS 重连保留首答)。 - 下次: 重启 Sidecar 后 Chat 连续多问几句确认历史常驻;超长会话(当前上下文 >100k)点验一次自动折叠 digest 是否正常。
- 做了: 合并全部 14 个 dependabot PR(含 major:vitest 5.0.1、motion 13.4.0、@types/node 26.6.1)。
windows-build.yml/ci.yml全绿后逐个 merge;dependabot 分支合并即自动删除,远端只剩 main/dev/win。 - 坑: Tauri 版本守卫要求 NPM 包与 Rust crate 同 major/minor → updater/dialog 这类双侧 PR 必须先合 NPM 侧(#135→#130),否则
build报 version mismatched;rebase 早于配对合并产生的失败是陈旧检查,重 rebase 即消。 - 测: 合并后
dev本地verify.sh✅(pytest 1025 passed / 7 skipped)。 - 下次: 这批依赖升级随下个版本发布;点验时留意 motion 13 动画回归。
- 做了: 提交 docs/memory 批次(
7043ac6)→ bump + 冻结 CHANGELOG(9bdca8b)→ PR #144 CI 全绿后 merge →main打 tagv1.4.1→ CI 出 DMG → 手动同步 Homebrew tap(3eff0ed)→ 手动触发Release (updater assets),latest.json/Clutch.app.tar.gz/.sig已挂 Release。 - 测:
verify.shpytest 1025 passed / 7 skipped;release-preflight.sh v1.4.1✅;updater workflow run 35554855630 ✅。 - 发现: ① CI tap 自动同步的
HOMEBREW_TAP_GITHUB_TOKEN未配置(自 v1.2.1 起 tap 一直靠手动);②docs/releases/README.md原称 patch 可免快照,与 INV-R6 门禁矛盾,已改为「patch 必须快照」;③windows-build.yml监听所有v*tag,patch 也自动出 Windows 安装包——RELEASE_MAINTAINER.md「patch 只发 macOS」过时,已按现实改写(v1.4.1 实为 macOS + Windows)。 - 下次: 考虑配
HOMEBREW_TAP_GITHUB_TOKEN省掉手动同步。
- 做了: 评估 TeamAI 后,产品确认流程图(SOP)跟仓走暂不立项。记
BACKLOG.mdB-52(候选)。共享对象是流程图 + Agent 规矩,不是 Skill。 - 下次: 不要把 B-52 当本迭代任务。
- 做了: CHANGELOG 从空
[Unreleased]改为## [1.4.1] - Unreleased。1.4.0 之后的提交都记这一节。未 bumppackage.json。 - 下次: 后续用户可见改动继续写 1.4.1 节;打 tag 时再改日期并 bump 版本号。
- 做了: Clutch Agent 默认 prompt 增加
style层三正一禁。i-have-adhd不整份写入。文档 D68 / PRODUCT_INTRO / CHANGELOG 已同步。 - 测:
./scripts/verify.sh— vitest 248 · pytest 1025 passed / 7 skipped。 - 下次: 重启 App 后点验排错回复是否直接给下一步。
- 做了: 内置目录改为
agnes-3.0-flash/agnes-image-2.5-flash/agnes-video-2.5-flash。视频适配器改走 2.5 Flash(mode/seconds/size=720P,轮询带model_name)。旧 id 别名 remap。文档 D19 已同步。 - 测:
./scripts/verify.shvitest 248 · pytest 1024 passed / 7 skipped。 - 下次: 重启 App 点验 Models 目录与三类生成。
- 做了: 本地缓存移出 git(
.reasonix/、e2e-sandbox/、.impeccable/);PROGRESS.md轮转至archive/PROGRESS-2026-Q3-late.md;补全docs/README.md/FILEMAP.md/AGENTS.md索引;去掉已删的mockData.ts指针。未改业务逻辑。 - 下次: 需要的话再 commit 本批整理。