记录 UI 设计文档与检查点日志术语及 ADR
- CONTEXT.md 新增 UI 设计文档、设计图、UI 工作流步骤、工作流检查点日志四个词条 - 新增 ADR 说明检查点采用追加式 JSONL 日志并记录两种被否方案 - docs/README.md 收录该 ADR
This commit is contained in:
+17
@@ -48,6 +48,23 @@ _Avoid_: 无来源的静态素材、只显示在 UI 但不落工程资源记录
|
||||
一组同类素材的统一批量生成方式,采用批量规划、sheet 生图、后端切图、透明化、OSS 持久化和局部重生成的通用流水线。
|
||||
_Avoid_: 为每个玩法单独发明素材流水线、把系列素材建模成任一玩法专属 DTO
|
||||
|
||||
**UI 设计文档**:
|
||||
AGC 本地项目里 `kind=ui-design-doc`、`mediaType=application/json` 的界面编辑载体,保存设计图集合、UI 树、组件绑定和 State revision;一份文档可同时承载多张设计图与各自的结构树,不强制收敛成一棵树。
|
||||
_Avoid_: 把 UI 设计图当成设计文档、给设计文档再套一层「页面」概念
|
||||
|
||||
**设计图**:
|
||||
UI 设计文档里的一张参考界面图,以它在 manifest 中的资产 ID 作为文档内身份,附带像素尺寸与像素比;文档内的每棵树都必须引用文档里已存在的设计图。
|
||||
_Avoid_: 用文件名当设计图身份、设计图与设计文档同一概念
|
||||
|
||||
**UI 工作流步骤**:
|
||||
对一份 UI 设计文档执行的一次受控处理阶段,当前只有「结构识别」与「素材切分」两步;步骤产物只有在写入文档并保存后才算完成。
|
||||
_Avoid_: 把单次工具调用当成步骤、把中间产物当成步骤完成
|
||||
|
||||
**工作流检查点日志**:
|
||||
一份 UI 设计文档旁按行追加的恢复用日志,每完成一个工作流步骤追加一行;某步是否有对应行即代表该步是否完成,恢复时从第一个缺失的行继续。
|
||||
_Avoid_: 每步一个 sidecar 状态机、把切分专用的 SeparationState 泛化成通用检查点
|
||||
|
||||
|
||||
## Language
|
||||
|
||||
### Puzzle Clear
|
||||
|
||||
@@ -40,6 +40,7 @@
|
||||
- [DirectProject Codex 原始历史与异常恢复](<./technical/【技术方案】DirectProject Codex原始历史与异常恢复-2026-09-04.md>):原始 Responses item 持久化、线程注入与异常回合收尾。
|
||||
- [DirectProject 对话历史单一事实源](./adr/【ADR】DirectProject对话历史单一事实源-2026-09-16.md):AGC 项目开发对话只以项目对话历史与运行态事件为真相源,聊天投影不落盘。
|
||||
- [DirectProject 独立聊天容器与工作台钱包布局](./adr/【ADR】DirectProject独立聊天容器与工作台钱包布局-2026-09-18.md):DirectProject 与 Supervisor 等路径分容器,钱包入口由项目工作台布局独立承载。
|
||||
- [UI 工作流检查点用追加式 JSONL 日志](./adr/【ADR】UI工作流检查点用追加式JSONL日志-2026-09-23.md):UI 设计文档的 Agent 工作流用文档旁追加式 JSONL 记录步骤完成,替代每步一个 sidecar 状态机。
|
||||
- [GameAgent 对话工具调用卡片](./technical/【技术方案】GameAgent对话工具调用卡片-2026-09-14.md):把右侧对话里的执行命令 / 写文件投影成 Codex 风格可折叠卡片,含采集、独立历史文件、事件字段与回读契约。
|
||||
- [DirectProject 客户端 Skill 与 MCP 扩展导入方案](./technical/【技术方案】DirectProject客户端Skill与MCP扩展导入方案-2026-08-31.md):客户端扩展导入、按独立 Skill/MCP 拆分、命名、启用和启动时注入边界。
|
||||
- [AGC 通用插件宿主与编辑器适配](./technical/【技术方案】AGC通用插件宿主与编辑器适配-2026-09-09.md):通用插件宿主、SDK、权限审计、UI 挂载和 Cocos 编辑器适配边界。
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
# UI 工作流检查点用追加式 JSONL 日志
|
||||
|
||||
UI 设计文档的工作流由 Agent 工具驱动、跨多次外部调用,崩溃后需要能续跑。检查点定为**文档旁一条按行追加的 JSONL 日志**:每完成一个步骤追加一行——原始 State 快照、识别 DTO、切分 DTO、回写标记——"某步是否完成"只看日志里有没有对应的行,没有就是没完成,恢复时从第一个缺失的行对应的步骤继续。
|
||||
|
||||
## 考虑过的方案
|
||||
|
||||
- 每步一个 sidecar 状态机(步骤状态 + sealedAtRevision + evidence 清单):要额外维护状态迁移、封条判据和证据校验,等于给每一步发明一套小协议。
|
||||
- 把切分专用的 `SeparationState` 泛化成通用检查点:切分需要"每个批次、每个节点"的细粒度恢复语义,其它步骤不需要,泛化会把这份复杂度摊给所有步骤。
|
||||
|
||||
追加式日志只需要"存在即完成"这一条判据,新增步骤类型等于新增一种行,天然可扩展。
|
||||
|
||||
## 后果
|
||||
|
||||
- 日志是恢复用的派生信息,不是项目内容:不登记为 manifest 资产,不推进项目 revision。
|
||||
- 每行必须一次性原子追加;崩溃时可能留下写了一半的最后一行,未形成完整行的步骤一律视为未完成。
|
||||
- 同一份文档可以被多次运行,日志必须能区分轮次:每一轮以一行原始 State 快照开头,该轮的第一行回写标记即为这一轮结束;恢复只针对最后一个没有回写标记的轮次。
|
||||
- 切分 op 内部的细粒度恢复仍由 `SeparationState` 承担,日志只记录工作流层面的步骤完成,不顺带复制它的进度。
|
||||
Reference in New Issue
Block a user