1168c777ea
一、孤儿过早清账。上一条把孤儿改成「读到任何结论就清账本」,但 pending / conflict 不是结论。浏览器关掉不会中止服务端处理——api-server 的处理与持久化 预算合计可达 90 秒,重开项目时单次 GET 没看见 resource 只说明「还不知道」。 此刻清账,服务端稍后落库便再无对账凭据,用户永远等不到「结果已进素材库」的 提示。改为只在 applied / dialog-missing 两个正向终态清账;pending / conflict 与读失败一律保留给下次加载重读,残留由保留期与条数上限兜住。 二、legacy 迁移漏 failed。判据按状态白名单列举 generating / pending-confirmation,漏掉 failed + perfectPixelOperation——那是旧严格保存 失败的合法持久化形状,retryPerfectPixelOperation 明确接受它,「重试同一完美 像素操作」按钮正是在这个形状下出现。漏迁后下一次保存剥成 marker,再加载即 failed + invalid,重试按钮消失,用户只剩删掉重做,而那正是新 identity。判据 改用 isUnresolvedCanvasGenerationDialogRecord 取反,与 hydrate 判定收口态同 一个函数,两处不会漂移。 通用要求:涉及「这条 operation 还需不需要账本」的判断一律问「它收口了没有」, 不要列举状态——状态白名单会随语义变化静默漏项,本条就是实例。 同步更正专题文档三处残留矛盾:窗口起算点仍写作「稳定请求快照写入时」;仍称 「不会让布局校验失败升级成硬阻断」(应限定为解除客户端侧拒发,端到端 409 依赖仍在);「删除后不再对账」(应限定为结果不再自动回填画布)。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
项目记忆目录
本目录保存可以进入 Git 的项目级长期知识,供开发者和 Agent 读取。.hermes/ 只保留 Hermes 工具专用资源,不再作为项目知识库。
目录结构
docs/project-memory/
├─ README.md
├─ shared-memory/
│ ├─ project-overview.md
│ ├─ team-conventions.md
│ ├─ development-workflow.md
│ ├─ document-map.md
│ ├─ decision-log.md
│ ├─ pitfalls.md
│ └─ handoff-template.md
├─ plans/
└─ todos/
使用原则
- 开发前先读
AGENTS.md;复杂任务继续读取docs/【协作规范】Agent工作入口与执行准则-2026-06-22.md,再按任务读取docs/project-memory/shared-memory/和当前docs/文档。 - 长期有效的架构约定、接口变化、排障经验、开发流程和协作规则写入
shared-memory/。 - 阶段性计划写入
plans/,已确定但暂未实施的共享 TODO 写入todos/。 - 如果本目录内容与代码或最新
docs/冲突,以代码和最新docs/为准,并同步修正过期记忆。 - 禁止写入个人配置、API Key、Token、Cookie、会话记录、认证文件、本地私密路径、构建产物、日志、缓存和数据库 dump。
RAG 索引
本目录是 Agent 本地 RAG 的高权重索引源。RAG 主要用于 Agent 检索上下文,不替代人工阅读入口或正式文档地图。索引脚本位于 scripts/rag/,本地生成的 .rag/ 数据不提交 Git。