Govern task context and advance execution pointer
Some checks failed
M6 deployable RC / quick (push) Has been cancelled
M6 deployable RC / chromium (push) Has been cancelled
M6 deployable RC / release (push) Has been cancelled

This commit is contained in:
mes123456
2026-08-20 06:02:43 -04:00
parent 380cbed4ff
commit 10640aeb3c
984 changed files with 543475 additions and 327 deletions

View File

@@ -2,6 +2,9 @@
更新时间2026-08-19America/New_York
> 拆分参考(归档):本文件不进入默认任务上下文。当前任务和依赖只由 `print-task-context` 与
> parent manifest 提供;这里只在需要设计新的子任务门时读取对应小节。
本文件是“如何拆任务、如何领取任务、如何交接”的规划索引,不是实现状态事实源。当前状态仍以
`docs/EXECUTION_QUEUE.md`、当前任务的 `manifest.json`、对应 `docs/status/<task>.md` 和可复验命令为准。
本文件的目标是让一次任务只加载必要上下文,不要求阅读整份路线图或历史接续日志。
@@ -11,9 +14,10 @@
每轮只按下面顺序读取:
1. `docs/EXECUTION_QUEUE.md`:确认唯一当前 `nextTask`、Chromium-only 规则和专项命令。
2. `docs/tasks/<task>.md`:读取目标、输入、范围、验收和回滚
3. `tests/golden/<parent>/manifest.json`:确认 parent hash、依赖、运行时和下一任务
4. `docs/status/<parent>.md`:只读取上一项的证据摘要和已知风险
2. `node tools/web/print-task-context.mjs`:取得已经裁剪的单任务 JSON不要读取 plan、gap audit 或 parity map
3. `docs/tasks/<task>.md`:读取目标、输入、范围、验收和回滚
4. `tests/golden/<parent>/manifest.json`:确认 parent hash、依赖、运行时和下一任务
5. `docs/status/<parent>.md`:只读取上一项的证据摘要和已知风险。
只有遇到以下问题才继续读取:
@@ -80,6 +84,27 @@
任务卡可以把 C/P/N/B/R/E 写成子任务,但只有所有适用门通过后,主任务才可变为 `done`
### 3.2 生成 gap 的细分协议
M16 及后续全域 gap 采用“一条 gap、一个任务、五扇证据门”的固定粒度。任务 ID、gap、owner 和
实现类别由机器 catalog 提供;任务卡只补充该条 gap 的真实 fixture、生产入口和边界不复制全量
计划字段。
| 门 | 唯一交付 | 失败时的状态 |
| --- | --- | --- |
| C | 字段/稳定 ID/错误边界契约 | `in_progress`,不得写入成功报告 |
| D | desktop fixture 和可重跑报告 | `blocked``in_progress`,不得接 WASM |
| W | WASM/Main 消费同一 fixture | `in_progress`,不得声称 parity |
| R | save/reopen 或 revision 稳定性 | `in_progress`,不得推进队列 |
| E | comparator、manifest、status、rollback | 只有 E 完成才允许 parent `nextTask` |
生成目录中的 `next-task-plan.json` 是盘点输入,不是执行上下文。`generate-task-index.mjs` 将其切成
带源 hash 的 `task-index.json` 和一行一个任务的 `task-catalog.jsonl`;执行工具按 offset 读取单条
记录并由任务卡恢复命令模板。索引失效、任务卡缺失、parent 指针不一致或单卡超过 8 KiB 时,
领取门直接失败。
新任务卡使用 `node tools/web/generate-task-card.mjs --task <task-id>` 按 catalog 单条记录生成;生成器拒绝未知 ID、没有 parent 的首项和已有卡覆盖,除非显式传入 `--force`。生成后必须重新运行上下文门禁。
## 4. 项目阶段分解
下面是导航级分解;具体领取仍由短周期队列决定。
@@ -99,14 +124,15 @@
| M11 | Render/Compositor/Media | bounded local、server route、codec/revision/audio | 已完成的 V1 slice |
| 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、可访问性 | 当前短周期在 `M14-04F` |
| M15 | 全域审计 | Blender 5.2 inventory、operator/node/editor/format gap | 未开始;不阻断已限定 V1 |
| 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 顺序推进;当前任务不在本表缓存 |
状态轴必须分开V1 `releaseStatus=READY` 不等于 Blender 全域 `parityStatus=COMPLETE`
## 5. 当前 M14-04F 细分
## 5. 历史示例:M14-04F 细分(非当前任务)
### 5.1 当前已知上下文
### 5.1 归档时的已知上下文
- parent`M14-04E`,状态页已记录 keymap fixture 的成功证据。
- 当前任务:`M14-04F`,任务卡为 `docs/tasks/M14-04F.md`
@@ -145,7 +171,7 @@
如果只有协议和测试通过,状态应保持 `in_progress`,不得提前领取 M14-04G。
## 6. M14 后续任务草案
## 6. M14 后续任务草案(归档)
这些是领取前的拆分草案;正式任务仍须由 parent manifest 生成任务卡。