Files
Genarrative/docs/project-memory
lhk229 e5fb51d1a7
Project CI / Backend tests (pull_request) Failing after 11s
Project CI / Repository checks (pull_request) Failing after 11s
Project CI / Frontend tests (pull_request) Failing after 19s
Project CI / Native shell tests (pull_request) Successful in 9m50s
完美像素归属校验单次取数并纳入处理预算
合法 assetId 且不带 sourceResourceId 时,取得端点准入许可后到 OSS 下载之间会
顺序执行 8 次 SpacetimeDB 调用,全是裸 await,第一次真正应用 30 秒预算的是下载。
其中 list_editor_projects + get_editor_asset_library 这对全账号扫描重复了三轮:
resolve_editor_reference_object_key_for_owner 内部两个子函数各扫一轮,
resolve_editor_pixel_art_source_for_owner 再扫第三轮,拉的是同一份数据。

预算从 handler 入口「起算」不等于「覆盖」。deadline 是绝对时刻,早起算只让后续
余额更少;中间不检查就不会在该阶段返回 504,请求会一路走到下载才失败并返回下载
相关文案,误导排障,同时准入许可全程被这些无界调用占用,把并发闸自身变成瓶颈。

去重参照抠图入口 resolve_editor_background_removal_source 的既有范式:扫一次,
注册 ID 解析、归属校验和跨记录 assetKind 收集全部交给 _from_records 纯函数在内存
里完成。归属校验命中已登记记录即短路,只有两份记录都查不到才回落点查。老包装
resolve_editor_reference_object_key_for_owner 保持不动,它服务的是没有任何上下文
的调用方。全账号 RPC 由 6 次降为 2 次,整段由 8 次降为 3 次。

预算侧把 get_editor_project 到来源解析结束整体包进 timeout_at,超时返回 504 且
文案指向归属校验。不重复写 Instant::now() 预检——紧邻的 permit 获取已做过,且本块
首个 await 是网络 IO 不会立即就绪,不构成 timeout_at 先 poll 再判超时的陷阱。

参照 937378ab9 用 assert_function_occurrence_count 把两处全账号扫描各钉为 1 次,
并禁止该函数重新调用取数包装。后者断言调用形式而非裸函数名,否则会命中生产代码里
说明「老包装保持不动」的注释——该陷阱在编写时即由测试抓出。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-01 11:07:01 +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。