Files
Genarrative/docs/project-memory
lhk229 4ccfdc68f6 删除确认判据改看 marker,覆盖源准备阶段的免费占位
判据是 status === 'generating' && !perfectPixelOperation,而 perfectPixelOperation
要到源图解析/直传完成后才写入。未登记的本地图片要走 ticket → PUT → confirm,
预算上限 90 秒;这段窗口里占位是 generating、只有 requiresLiveSession、没有账本,
判据返回 true——用户删一个免费操作会被告知「已消耗的泥点不会返还」,与「完美像素
任何状态直接删、不弹确认」的决策直接矛盾。

perfectPixelOperationId marker 从占位创建那一刻就写上(operationId === dialogId
在创建时已知),判据改看 marker。marker 的语义也因此更准确:它表示「这个占位属于
一次完美像素操作」,而不是「账本已存在」。

未采纳「删掉弹窗入口」:删除入口全仓只有 requestRemoveCanvasGenerationDialog 一条,
右键、Delete、工具栏全部汇入,完美像素没有自己的删除路径可摘。「从本链路删入口」
等价于「让判据认得出本链路」,绕不开识别问题。

未采纳新增计费字段(今天唯一生产者只有完美像素,属过度设计),也未采纳判据加
requiresLiveSession(那只是换一个代理,而用短寿命字段的存在性判断长期属性正是本
缺陷的成因模式)。

连带影响已核:会话内到期清理不受影响(看的是 perfectPixelOperation 而非 marker);
只有加载时的快照清理会豁免源准备阶段的占位,使其显示为可删的失败卡而非被静默清掉,
这与「系统不替用户删」一致。

测试夹具原本带着 perfectPixelOperation,编码了与判据相同的错误假设,结构上覆盖不到
这个窗口。夹具补上 marker 还原真实形状,并新增「只有 marker、尚无账本」用例,回退
判据后报 expected true to be false。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-05 12:25:17 +00:00
..
2026-07-15 04:20:29 +08:00

项目记忆目录

本目录保存可以进入 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。