合并 origin/master 4a46f89c9 到 chore/agc-acceptance-build(HEAD 55fab1776),本次合并共涉及 117 个文件(113 个自动合并 + 4 个冲突)。
- 自动合并 113 个文件:插件宿主与插件工作区(plugin_host.rs / builtin_plugins.rs / editor_adapter(_s).rs / plugins/agc-cocos-editor / cocos-editor-bridge crate / editor-adapter-api)、构建与打包脚本、locked Cargo.lock 及 master 侧锁与资源链路改动;不逐条列出。
- 冲突 1 apps/ai-game-creator-shell/src/App.tsx:271-278:两侧各自新增一个 import(本分支 ./services/tauriEventSubscription、master ./services/pluginHost),两个 import 都保留,并按 simple-import-sort 口径排在 ./services/platformSession 之后、tauriEventSubscription 之前;四个符号都仍被使用。
- 冲突 2 docs/project-memory/shared-memory/decision-log.md:8338-8469:两侧在同一位置追加记录,逐字保留两侧记录且各自原有顺序不变(先本分支的 2026-09-11 资源卡预览 data URL / loopback HTTP 两条,后 master 的 2026-09-09~2026-09-12 通用插件宿主、Cocos 桥接与内置插件开关条目),不改写、不合并措辞。
- 冲突 3 docs/project-memory/shared-memory/pitfalls.md:79-112:同上,保留本分支的「2026-09-05 资源画本转场与视口分离」与 master 的「2026-09-11 首页自动工作区必须使用 AGC 管理目录」「2026-09-12 Cocos 项目识别不等于编辑器桥就绪」「2026-09-11 Cocos 项目必须走独立导入分支」,内容逐字保留、两侧原顺序不变。
- 冲突 4 apps/ai-game-creator-shell/src-tauri/src/agent/direct_project_history.rs:400-435:判据是「两侧不互斥」,解法为 both(语义超集)。
- 冲突 4 保留本分支的有界退避重试循环(DIRECT_PROJECT_HISTORY_CONTENTION_RETRY_BACKOFF_MS + is_direct_project_history_contention_failure + 测试注入点)与单次尝试函数 append_direct_project_history_item_once(含锁外幂等回扫与锁内状态复核)。
- 冲突 4 保留 master 的有界等待取项目写锁:把该函数内原来的零等待 crate::project::acquire_project_write_lock(root, "conversation.write") 换成 acquire_game_creator_agent_runtime_project_write_lock_with_wait(root, "conversation.write"),并原样保留 master 的注释(agc_write_file 占锁 5.5 秒期间,零等待取锁会让流式历史落盘直接失败)。
- 冲突 4 判断依据:master 只替换了同一处的取锁语义(零等待 → 约 10 秒有界等待,并有 append_waits_for_a_same_process_project_writer 用例锁定),不改变函数签名、调用方与错误类型;HEAD 的重试循环因此仍然可达,与有界等待叠加后语义更强——写文件占锁由有界等待吃掉,等待窗口耗尽后的残余争用再由一次 250ms 短退避重试兜底。未删除任何一侧行为,也未放弃任何一侧语义。
- 冲突 4 位置取舍:有界等待取锁仍放在锁外回扫与序列化之后(本分支结构),保住「幂等回扫与序列化留在锁外、不让他人等整份历史读完」的性能语义;master 的注释与调用参数逐字保留。
- 验证:npm run typecheck、npm --prefix apps/ai-game-creator-shell run typecheck、cargo check --locked --all-targets(exit 0,0 error)、npm run check:rustfmt、npm run check:encoding、git diff --check 全部通过;冲突标记扫描为空。
- 定向 Rust 测试(--test-threads=1):direct_project_history 19 passed / 0 failed(含本分支 contention_failure_is_retried_with_bounded_backoff、contention_failure_beyond_the_backoff_budget_fails_closed、shape_failure_is_not_retried 与 master 的 append_waits_for_a_same_process_project_writer);conversation 36 passed / 0 failed;write_lock 21 passed / 0 failed。两侧用例同时绿,证明有界等待取锁与有界退避重试叠加后语义自洽。
- 未跑全量测试(按仓库约定本地只跑定向,全量交给 CI);本次不 push。
文档总览
本目录只把当前实现依据、公开契约和仍在维护的专题合同作为入口。代码、当前文档与项目记忆冲突时,以当前代码和最新专题文档为准;未列入下表的材料不作为实现依据。
必读入口
当前产品与平台
- 当前产品与工程约束:现役入口、账号钱包、UI 和后端分层。
- 平台入口与玩法链路:只描述现役平台壳与旧模板退役边界。
- 外部 OpenAPI 与 API Key 接入方案
- External v1 OpenAPI:公开 HTTP 契约唯一机器可读来源。
AI 游戏创作与 Agent Runtime
-
策划 Agent 生产迁移与工作区浏览:实施中;以自由协作原型为行为基线,复用生产基建,采用阶段审批与用户工作区文件浏览。无旧 V2 会话的策划入口切换到新设计 Agent。
-
LLM 累计额度结算:Router 累计额度、首次基线与原子钱包结算。
-
AI 游戏创作智能体 App 实施计划:当前 DirectProject、受控语义工具、UI workflow、资源和运行时合同。
-
策划会话 Runtime V2 接入与旧链路退役方案:新单 Agent 策划会话、GDD 策略、未来 MCP/Skill 兼容插槽、阶段任务与退役验收合同。
-
DirectProject Codex 原始历史与异常恢复:原始 Responses item 持久化、线程注入与异常回合收尾。
-
DirectProject 客户端 Skill 与 MCP 扩展导入方案:客户端扩展导入、按独立 Skill/MCP 拆分、命名、启用和启动时注入边界。
-
AGC 通用插件宿主与编辑器适配:通用插件宿主、SDK、权限审计、UI 挂载和 Cocos 编辑器适配边界。
-
AGC Cocos Creator 编辑器桥接模块:独立 crate、feature 开关、目标校验与 Windows 注入边界。
-
AGC 客户端更新检查与下载:启动版本检测、OSS 清单格式和下载约定。
-
DirectProject 本轮附件路径映射:Direct 首轮只映射附件原名与项目相对路径,不灌正文、不区别 GDD。
-
Direct 回合行为审计账本:Direct GUI 回合把 native 读 / MCP / 写文件落成项目内有界时间线,用于判断有没有打开本轮附件。
-
项目开发工作台 PRD:当前工作台页面和验收边界。
-
AGC 错误报告与诊断上传:当前进程错误事件、应用级日志和管理员查看器合同。
-
立项策划 Agent(Fast GDD):旧
project-supervisor-plan/project-planning历史会话的入口、审批和恢复合同;V2 切换时未完成旧会话强制失败。
图片画布与媒体
- 共享基础组件库与展示页:网站与客户端复用的无业务 UI chrome、样式边界和
/components展示页。 - 客户端素材创作无限画布阶段一合同
- 图片画布结构化持久化与迁移回滚
- 编辑器生成结果原子提交与幂等重放
- 画板音乐生成入口:BGM/SFX 共享视图、独立业务规则和当前发布门禁。
- 画布 Agent 对话面板
- 画布 Agent 会话消息存 OSS
- 编辑器模型定价配置
后端、运维与测试
- BgFilter 受限资源调度方案
- Issue225 登录成功 AGC 用户归属修复:登录 route tracking 的真实用户归属、
daily_login幂等边界和实施验收。 - SpacetimeDB 连接池取消安全
- Jenkins 容器预览部署控制面
- 浏览器内 AI Web 工程沙箱预览
- AI Web 工程 Runner 安全模型
- npm workspaces 统一依赖边界
- React 组件测试准则
- 宿主壳能力统一协议
- Expo React Native 与 Tauri 宿主壳方案
维护规则
- 当前文档只保留稳定合同、公开契约和仍在推进的专题;一次性计划、实施记录和已关闭实验完成后删除或融合,不再长期堆积。
docs/project-memory/shared-memory/只保存长期有效的概览、决策、流程和踩坑;plans/、todos/仅保存仍开放且有明确下一门禁的事项。- 修改
/api/external/v1必须同步 OpenAPI 和契约测试;修改 SpacetimeDB schema 必须同步 migration、表目录、绑定和 schema 检查。 - 旧模板、旧公开作品、旧运行态和旧后端路线不因历史源码或数据表仍存在而恢复入口。
- 新增 Markdown 使用
【标签名】中文标题-YYYY-MM-DD.md命名;不要把个人配置、密钥、Token、日志或构建产物写入文档。