chore: checkpoint web Blender migration source, tools and docs
Accumulated uncommitted work: GHOST Web backend, WebGL/GPU web layer, web workflow engine and protocol, tooling, docs and task records. Large generated evidence, user-testing archives, build snapshots and imported test assets remain untracked. Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
@@ -84,11 +84,11 @@
|
||||
|
||||
任务卡可以把 C/P/N/B/R/E 写成子任务,但只有所有适用门通过后,主任务才可变为 `done`。
|
||||
|
||||
### 3.2 生成 gap 的细分协议
|
||||
### 3.2 legacy gap 的覆盖协议(不是生产任务协议)
|
||||
|
||||
M16 及后续全域 gap 采用“一条 gap、一个任务、五扇证据门”的固定粒度。任务 ID、gap、owner 和
|
||||
实现类别由机器 catalog 提供;任务卡只补充该条 gap 的真实 fixture、生产入口和边界,不复制全量
|
||||
计划字段。
|
||||
M16 及后续全域 gap 保留“一条 gap、一行证据”的可追溯粒度,但不再采用“一条 gap、一个生产
|
||||
任务”。任务 ID、gap、owner 和实现类别由机器 catalog 提供;这些记录只作为模块 runner 的
|
||||
输入和回归结果,不单独占用 parent pointer、queue slot 或提交。
|
||||
|
||||
| 门 | 唯一交付 | 失败时的状态 |
|
||||
| --- | --- | --- |
|
||||
@@ -100,8 +100,28 @@ M16 及后续全域 gap 采用“一条 gap、一个任务、五扇证据门”
|
||||
|
||||
生成目录中的 `next-task-plan.json` 是盘点输入,不是执行上下文。`generate-task-index.mjs` 将其切成
|
||||
带源 hash 的 `task-index.json` 和一行一个任务的 `task-catalog.jsonl`;执行工具按 offset 读取单条
|
||||
记录,并由任务卡恢复命令模板。索引失效、任务卡缺失、parent 指针不一致或单卡超过 8 KiB 时,
|
||||
领取门直接失败。
|
||||
记录,并由模块映射恢复 case 参数和 runner 输入。索引失效、模块映射缺失、parent 指针不一致
|
||||
或聚合报告 hash 不一致时,覆盖门直接失败。
|
||||
|
||||
### 3.3 模块优先的生产任务协议
|
||||
|
||||
生产任务按 `moduleId` 建卡;operator inventory 仅通过 `primaryModuleId` 和
|
||||
`behaviorClass` 绑定到模块。模块卡必须声明共享 production entrypoint、command/context
|
||||
契约、代表性 fixture、全量 matrix runner、分片策略、失败回滚和聚合 manifest。模块完成后
|
||||
一次性验证所有映射 cases:
|
||||
|
||||
| 阶段 | 必须完成 | 不允许 |
|
||||
| --- | --- | --- |
|
||||
| 契约 | API、错误码、预算、revision、Main 回滚 | 为每个 operator 复制一份 schema |
|
||||
| 实现 | 共享 reader/writer/command/UI 原语和代表性正例 | 只在 checker 中构造结果 |
|
||||
| 模块批量验证 | 同一 catalog 快照下的模块全量 operator matrix,支持确定性 shard | 手工逐条启动桌面/WASM 测试 |
|
||||
| 全域回归 | 模块合并前批量运行 6,620+ catalog,与基线比较无退化 | 为每条 operator 创建新任务或提交 |
|
||||
| 交接 | 一个模块 manifest、聚合计数、case 状态和 hash | 为每个 operator 推进一个 successor |
|
||||
|
||||
operator case 的 `PASS` 只表示它通过了模块 runner 的声明断言;`FAIL`、`BLOCKED`、
|
||||
`RETAINED_NEGATIVE` 必须原样保留并阻止模块完成。这样可以同时保持 6,620+ 条覆盖行的
|
||||
审计能力和模块级开发/提交效率;目录的精确总数、pending 数和 hash 始终以机器 catalog
|
||||
为准,不在文档中手工固定。
|
||||
|
||||
新任务卡使用 `node tools/web/generate-task-card.mjs --task <task-id>` 按 catalog 单条记录生成;生成器拒绝未知 ID、没有 parent 的首项和已有卡覆盖,除非显式传入 `--force`。生成后必须重新运行上下文门禁。
|
||||
|
||||
@@ -125,8 +145,8 @@ M16 及后续全域 gap 采用“一条 gap、一个任务、五扇证据门”
|
||||
| M12 | Asset/IO/Editors | 资产库、GLB/OBJ/STL/PLY、编辑器上下文 | 按 manifest 继续领取,不能按总百分比判断 |
|
||||
| M13 | Scripting/Security | metadata-only、default-deny、sandbox、server isolation、CSP | 每个安全门独立验收;execution 默认禁用 |
|
||||
| M14 | Chromium 设备与输入 | capability、预算、DPR、pointer、IME、keymap、modal、可访问性 | 已归档;后续只按 manifest 回归 |
|
||||
| M15 | 全域审计 | Blender 5.2 inventory、operator/node/editor/format gap | 已完成计划/审计门;产出 6,900 条 M16-M22 原子 gap |
|
||||
| M16-M22 | 原子 parity gap | 每条 gap 独立 fixture、desktop/WASM 对标、重开和 hash 证据 | 只按 parent manifest 顺序推进;当前任务不在本表缓存 |
|
||||
| M15 | 全域审计 | Blender 5.2 inventory、operator/node/editor/format coverage | 已完成计划/审计门;产出 6,900 条 M16-M22 coverage rows |
|
||||
| M16-M22 | legacy operator coverage | 不可变 catalog 行、模块映射、批量 desktop/WASM/重开/hash 回归证据 | 作为覆盖数据由模块任务批量消费,不再逐条推进 queue |
|
||||
|
||||
状态轴必须分开:V1 `releaseStatus=READY` 不等于 Blender 全域 `parityStatus=COMPLETE`。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user