Reorganize Blender Web execution around capabilities
Some checks are pending
M6 deployable RC / quick (push) Waiting to run
M6 deployable RC / chromium (push) Blocked by required conditions
M6 deployable RC / release (push) Blocked by required conditions

This commit is contained in:
mes123456
2026-08-24 18:37:46 -04:00
parent 0b2c3ba0dd
commit a081c68c87
2530 changed files with 763976 additions and 79 deletions

View File

@@ -0,0 +1,77 @@
# C0-001 freeze_and_snapshot
状态done
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
阶段P0
GateG0
依赖:无
lifecycleStatus`done`
writeScope`evidence_only`
queueMutationAllowed`false`
## 目标
建立旧队列和 00274 checkpoint 的只读、可复现基线。该任务不修改旧 queue、manifest、
completion registry、catalog、index 或 parent evidence。任何发现的矛盾都记录为证据
不能在本任务内修复。
## 输入
- `docs/EXECUTION_QUEUE.md`
- `node tools/web/print-task-context.mjs` 输出列出的四个 required documents
- `tests/golden/M15-03A/completed-gap-tasks.json`
- `tests/golden/M15-03A/task-catalog.jsonl`
- `tests/golden/M15-03A/task-index.json`
- `tests/golden/M15-03A/next-task-plan.json` 的脚本摘要,不复制全文
## 命令
```bash
mkdir -p tests/golden/corrective/C0-001
node tools/web/print-task-context.mjs > tests/golden/corrective/C0-001/print-task-context.log
node tools/web/check-task-context.mjs > tests/golden/corrective/C0-001/check-task-context.log
node tools/web/check-context-governance.mjs --task M16-GAP-00274 > tests/golden/corrective/C0-001/context-governance.log
git status --short > tests/golden/corrective/C0-001/git-status.log
sha256sum docs/EXECUTION_QUEUE.md tests/golden/M16-GAP-00273/manifest.json docs/status/M16-GAP-00273.md tests/golden/M15-03A/completed-gap-tasks.json tests/golden/M15-03A/task-catalog.jsonl tests/golden/M15-03A/task-index.json tests/golden/M15-03A/next-task-plan.json > tests/golden/corrective/C0-001/source-hashes.txt
node tools/web/capture-corrective-baseline.mjs --task M16-GAP-00274 --output tests/golden/corrective/C0-001/baseline.json
node tools/web/capture-corrective-baseline.mjs --task M16-GAP-00274 --output tests/golden/corrective/C0-001/baseline-second.json
cmp tests/golden/corrective/C0-001/baseline.json tests/golden/corrective/C0-001/baseline-second.json
node tools/web/check-corrective-baseline.mjs --baseline tests/golden/corrective/C0-001/baseline.json --source-hashes tests/golden/corrective/C0-001/source-hashes.txt > tests/golden/corrective/C0-001/baseline-check.log
node tools/web/check-corrective-plan.mjs > tests/golden/corrective/C0-001/corrective-plan.log
git diff --check > tests/golden/corrective/C0-001/diff-check.log
```
## 输出
- `tests/golden/corrective/C0-001/print-task-context.log`
- `tests/golden/corrective/C0-001/check-task-context.log`
- `tests/golden/corrective/C0-001/context-governance.log`
- `tests/golden/corrective/C0-001/git-status.log`
- `tests/golden/corrective/C0-001/source-hashes.txt`
- `tests/golden/corrective/C0-001/baseline.json`
- `tests/golden/corrective/C0-001/baseline-second.json`(只用于 byte determinism 比较)
- `tests/golden/corrective/C0-001/corrective-plan.log`
- `tests/golden/corrective/C0-001/diff-check.log`
- `tests/golden/corrective/C0-001/baseline-check.log`
`baseline.json` 必须记录:当前 task、parent nextTask、catalog active、plan firstTask、
completion count、所有 active IDs、旧证据目录数量和源文件 hashes。
`baseline.json` 的固定契约:`queue.currentTask` 必须是 `M16-GAP-00274`
`queue.parentNextTask` 必须是 `M16-GAP-00274``invariants.queueMutationAllowed` 必须为
`false`,且 `invariants.catalogActiveMatchesPlan` 必须为 `true`
## 通过条件
- 所有命令退出码为 0
- current task 仍为 `M16-GAP-00274`
- parent manifest 的 `nextTask` 仍为 `M16-GAP-00274`
- baseline 两次生成内容完全相同;
- `node tools/web/check-corrective-plan.mjs``git diff --check` 和所有记录命令退出码为 0
- 没有任何旧 queue/manifest/catalog/index 文件被修改。
## 失败边界
任一 hash、active task、parent pointer 或 context gate 不一致时,状态改为
`in_progress`,停止 C0-002/C0-003不得修复或猜测 task number。只允许提交该失败证据
旧队列和历史 evidence 保持原样。

View File

@@ -0,0 +1,77 @@
# C0-002 reconcile_generated_state
状态done
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
阶段P0
GateG0
依赖:`C0-001`
lifecycleStatus`done`
blockedBy`resolved in corrective staging by authorized current-worktree re-sign`
writeScope`staged_generated_state`
queueMutationAllowed`false`
## 目标
以 manifest/status/task-context 为证据源,恢复 completion registry、next-task plan、task
catalog 和 task index 的可重复生成关系。正式文件只做 dry-run 比较;候选输出必须放在
`tests/golden/corrective/C0-002/staged/`,不能覆盖旧 queue 或旧生成物。
## 实施要求
新增 repository tool建议路径`tools/web/reconcile-corrective-state.mjs`),必须:
- 接收明确的 evidence root不接收任意 guessed task number
- 逐 task 校验 manifest、status、task-context 和 artifact hashes
- 只将全部证据完整且 status 为 `done` 的任务加入 completion registry
- 生成顺序固定为 completion registry -> plan -> index -> task card
- 每个输出先写临时文件,校验成功后原子替换;
- 任一步失败时保留原文件并返回非零退出码;
- 输出 machine-readable summary不输出完整 next-task-plansummary 必须包含
`inputDigest``issueSummary``registryComparison``repairPlan`
- `--write` 仅允许写入显式 `--output-root`,且该路径必须位于 corrective evidence 根目录;
- 输出必须带 `sourceHashes``inputTaskCount``candidateActiveTask``queueMutation:false`
## 必须拒绝
- manifest `done` 但 status/context 缺失;
- parent `nextTask` 不指向 task
- artifact hash drift
- 多个 active task
- 手工传入 offset、nextTask 或 completion 状态;
- 只存在 desktop negative evidence 的任务被加入 feature completion。
## 验收
```bash
node tools/web/reconcile-corrective-state.mjs --evidence-root tests/golden --dry-run --report tests/golden/corrective/C0-002/dry-run.json
node tools/web/reconcile-corrective-state.mjs --evidence-root tests/golden --write --output-root tests/golden/corrective/C0-002/staged --report tests/golden/corrective/C0-002/write.json
jq -e '.inputDigest and (.queueMutation == false) and (.repairPlan.approvalRequired == true)' tests/golden/corrective/C0-002/dry-run.json
jq -e '.inputDigest and (.queueMutation == false) and (.writeOutcome == "NO_FILES_WRITTEN")' tests/golden/corrective/C0-002/write.json
jq -s -e '.[0].inputDigest == .[1].inputDigest' tests/golden/corrective/C0-002/dry-run.json tests/golden/corrective/C0-002/write.json
test ! -e tests/golden/corrective/C0-002/staged/completion-registry.candidate.json
node tools/web/check-blender-next-task-plan.mjs
node tools/web/check-task-index.mjs
npm --prefix web run test:task-context
npm --prefix web run test:context-governance
node tools/web/check-context-governance.mjs
git diff --check
```
`--dry-run``--write``inputDigest` 必须一致;完整 JSON 因 mode 和 writeOutcome
不同而不要求 byte-identical。`--write` 不得更新
`docs/EXECUTION_QUEUE.md`、parent manifest 或正式 plan/index/catalogqueue 更新是 C6-003
的独立 gate。
## 输出
- `tests/golden/corrective/C0-002/reconcile-report.json`
- `tests/golden/corrective/C0-002/reconcile-command.log`
- `tests/golden/corrective/C0-002/dry-run.json``write.json``inputDigest` 对比
- `issueSummary``registryComparison``repairPlan`
- 生成文件的 SHA-256 清单
- `tests/golden/corrective/C0-002/staged/` 下的候选文件(不得直接复制回正式路径)
## 失败边界
任何生成不确定性、hash 漂移或 queue mismatch 都保持 C0-002 `in_progress`,清理本次
staged candidate 后不开始 C1不得手工编辑生成物以“通过” gate。

View File

@@ -0,0 +1,74 @@
# C0-003 classify_legacy_273
状态done
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
阶段P0
GateG0
依赖:`C0-002`
lifecycleStatus`done`
blockedBy`none`
writeScope`evidence_only`
queueMutationAllowed`false`
## 目标
把旧 M16 已有任务按实际证据重新分类,避免把 metadata-only 或 negative-only 当作正向
feature parity并为后续 capability clustering 产生可复现的候选映射。分类不改变旧任务
`status`、manifest、completion registry 或 queue。
## 分类来源
只能读取并交叉验证:
- task manifest 的 operation/status/artifact hashes
- desktop report 的 poll/operatorStatus/mainMutation
- web report 的 WASM fields、revision、save/reopen、negative
- reader、API、WASM 构件 hashes
- focused command 和 governance report。
禁止根据 task ID、gap 名称或 `status: done` 单独推断 feature parity。
## 分类规则
- `FEATURE_PARITY`:至少 L2必须有 WASM positive command 和 Main mutation
- `READ_COMPATIBILITY`L0/L1只有读取/观察证据;
- `NEGATIVE_BOUNDARY`:只证明取消、不支持、资源缺失或坏输入;
- `METADATA_ONLY`snapshot 有字段,但没有等价 mutation
- `UNSUPPORTED_DECLARED`:明确记录能力边界和用户可见错误;
- `BLOCKED`证据不完整、hash 漂移或流程 gate 失败。
- `PLANNED`:只有 capability 设计材料,没有可核验的旧任务证据;只能出现在新 capability
候选,不得出现在 legacy completion。
## 输出
- `tests/golden/corrective/C0-003/legacy-gap-classification.json`
- `tests/golden/corrective/C0-003/cluster-summary.json`
- `tests/golden/corrective/C0-003/classification-report.md`
每条记录至少包含 `task``gapId``evidenceLevel``completionClass``desktopPositive`
`wasmPositiveMutation``readerChanged``wasmChanged``saveReopen``reason`
`candidateCapabilityId``mappingState``evidenceRefs``sourceHashes`。其中:
- `candidateCapabilityId` 只能是一个 primary capability其它复用关系写入
`coverageCapabilityIds`,不得让一个 gap 隐式重复完成;
- `mappingState` 只能是 `UNMAPPED``CANDIDATE``COVERED``RETAINED_NEGATIVE`
`DUPLICATE``BLOCKED`
- `evidenceRefs` 必须指向具体 manifest/report/command而不是目录或 task 名称;
- `sourceHashes` 必须覆盖被分类的 manifest、desktop/web report 和 production artifact。
## 通过条件
- 273 条旧记录均有分类;
- 每条分类都能追溯到具体 manifest/report/hash
- 生成两次 bytes 相同;
- 能识别至少一个真实 L2+ cluster 和至少一个 metadata/negative cluster
- 每个 `FEATURE_PARITY` 记录都有 `wasmPositiveMutation:true``evidenceLevel` 为 L2-L5
`desktopPositive:true`
- 每个 `RETAINED_NEGATIVE``READ_COMPATIBILITY` 记录不会生成 queue completion
- 不修改旧 manifest、status 或 queue。
## 失败边界
无法从现有证据区分正向 mutation 与 metadata-only 时,分类为 `BLOCKED`,不得向上乐观归类。
mapping 发生多对一冲突、hash 漂移或 source 目录不完整时也必须保持 `BLOCKED`,并记录
冲突原因,不能自动选择 capability。

View File

@@ -0,0 +1,28 @@
# C1-001 define_parity_levels
状态done
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
阶段P1
GateG1
依赖:`C0-002`, `C0-003`
lifecycleStatus`done`
blockedBy`none`
writeScope`evidence_only`
queueMutationAllowed`false`
## 目标
将 C0-003 的可审计分类收敛为 L0-L5 parity contract并明确哪些字段和
证据组合允许进入 legacy completion、capability evidence 或仅保留为边界。
## 输入
- `tests/golden/corrective/C0-003/legacy-gap-classification.json`
- `tests/golden/corrective/C0-003/cluster-summary.json`
- `docs/BLENDER_WASM_CAPABILITY_MATRIX_TEMPLATE.json`
## 交付
- L0-L5 contract、completion policy 和 focused schema tests。
- 只写入 `tests/golden/corrective/C1-001/` 与对应 status/manifest。
- 不修改旧 M16 queue、manifest、registry、catalog、index 或历史 evidence。

View File

@@ -0,0 +1,29 @@
# C1-002 define_command_result_context_schema
状态done
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
阶段P1
GateG1
依赖:`C1-001`
lifecycleStatus`done`
blockedBy`none`
writeScope`evidence_only`
queueMutationAllowed`false`
## 目标
为 corrective parity contract 定义版本化 command、result、context schema 和
稳定 error/status 表,覆盖正向 mutation、revision conflict、invalid context、
unsupported、malformed 和 resource failure。
## 输入
- `tests/golden/corrective/C1-001/parity-level-contract.json`
- `tests/golden/corrective/C1-001/completion-policy.json`
- `docs/BLENDER_WASM_CAPABILITY_MATRIX_TEMPLATE.json`
## 交付
- versioned JSON schemas、error/status table 和 focused schema tests。
- 只写入 `tests/golden/corrective/C1-002/` 与对应 status/manifest。
- 不修改旧 M16 queue、manifest、registry、catalog、index 或历史 evidence。

View File

@@ -0,0 +1,30 @@
# C1-003 build_shared_case_runner
状态done
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
阶段P1
GateG1
依赖:`C1-002`
lifecycleStatus`done`
blockedBy`none`
writeScope`production_pilot`
queueMutationAllowed`false`
## 目标
构建 desktop/WASM 共用的 case runner 和 result normalizer使同一 fixture、
command、context、revision 和 negative case 在两个执行面产生可比较 receipt。
## 输入
- `tests/golden/corrective/C1-002/command-schema.json`
- `tests/golden/corrective/C1-002/context-schema.json`
- `tests/golden/corrective/C1-002/result-schema.json`
- `tests/golden/corrective/C1-002/error-status-table.json`
## 交付
- shared desktop runner、WASM runner、result normalizer 和 focused tests。
- 只在显式 production pilot 范围内写入 runner证据写入
`tests/golden/corrective/C1-003/` 与对应 status/manifest。
- 不修改旧 M16 queue、manifest、registry、catalog、index 或历史 evidence。

View File

@@ -0,0 +1,43 @@
# C2-001 command_registry_and_validation
状态done
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
阶段P2
GateG2
依赖:`C1-003`
lifecycleStatus`done`
blockedBy`none`
writeScope`production_pilot`
queueMutationAllowed`false`
## 目标
在 C1-003 shared case runner 之上建立 typed command registry、统一 validation
和 authorization 边界。命令必须先完成 schema、context、revision 和授权校验,
才能调用 adapter拒绝路径必须保持 Main revision 和状态不变。
## 输入
- `tests/golden/corrective/C1-002/command-schema.json`
- `tests/golden/corrective/C1-002/context-schema.json`
- `tests/golden/corrective/C1-002/result-schema.json`
- `tests/golden/corrective/C1-002/error-status-table.json`
- `web/protocol/corrective-case-runner.ts`
- `tests/golden/corrective/C1-003/manifest.json`
## 交付
- typed command registry、context validator 和 authorization policy。
- 正向 dispatch、未知命令、无权限、只读 context、revision conflict 和 malformed
negative cases 的 focused tests。
- 证据写入 `tests/golden/corrective/C2-001/`,并生成可复现 receipt、hash manifest
和对应 status。
- 不修改旧 M16 queue、manifest、registry、catalog、index 或历史 evidence。
## 验收
- focused registry/validation test exits 0。
- positive dispatch and all negative cases are normalized by the shared runner。
- deterministic receipt and protected legacy hashes match before/after。
- `npm --prefix web run typecheck`、corrective-plan/context governance 和
`git diff --check` exit 0。

View File

@@ -0,0 +1,33 @@
# C2-002 atomic_main_mutation
状态done
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
阶段P2
GateG2
依赖:`C2-001`
lifecycleStatus`done`
blockedBy`none`
writeScope`production_pilot`
queueMutationAllowed`false`
## 目标
为 registry dispatch 增加 atomic Main mutation boundary。成功命令只能提交
一次 revision/dirty 变化adapter 抛错、返回 malformed result、revision conflict
或取消时必须回滚 provisional state保持 Main snapshot、revision 和 dirty 状态不变。
## 输入
- `web/protocol/corrective-case-runner.ts`
- `web/protocol/corrective-command-registry.ts`
- `tests/golden/corrective/C2-001/manifest.json`
- `tests/golden/corrective/C1-002/result-schema.json`
- `tests/golden/corrective/C1-002/error-status-table.json`
## 交付
- 可测试的 atomic Main mutation transaction boundary。
- success、adapter throw、malformed result、cancel 和 revision conflict 的 focused
tests 与 normalized receipts。
- evidence、determinism、protected-hash、typecheck 和 governance manifest/status。
- 不修改旧 M16 queue、manifest、registry、catalog、index 或历史 evidence。

View File

@@ -0,0 +1,32 @@
# C2-003 undo_redo_save_invariants
状态done
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
阶段P2
GateG2
依赖:`C2-002`
lifecycleStatus`done`
blockedBy`none`
writeScope`production_pilot`
queueMutationAllowed`false`
## 目标
为 atomic Main mutations 增加 bounded undo/redo history、dirty tracking 和
save/reopen invariant。undo/redo 必须恢复完整 snapshot 与 revisionsave 清除
dirty 状态reopen 必须恢复最后保存的 snapshot失败命令不得创建 history entry。
## 输入
- `web/protocol/corrective-main-transaction.ts`
- `web/protocol/corrective-command-registry.ts`
- `tests/golden/corrective/C2-002/manifest.json`
- `tests/golden/corrective/C1-002/result-schema.json`
- `tests/golden/corrective/C1-002/error-status-table.json`
## 交付
- bounded history store with undo/redo/save/reopen operations。
- focused positive/negative/persistence tests and deterministic receipts。
- protected-hash, typecheck, governance, manifest and status evidence。
- 不修改旧 M16 queue、manifest、registry、catalog、index 或历史 evidence。

View File

@@ -0,0 +1,34 @@
# C3-001 asset_catalog_resource_provider
状态done
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
阶段P3
GateG3
依赖:`C2-003`
lifecycleStatus`done`
blockedBy`none`
writeScope`production_pilot`
queueMutationAllowed`false`
## 目标
建立受 hash 约束的 Asset Catalog resource provider 和 active library context
统一 local、external、packed 资源解析、provider capability、取消和缺失资源错误。
provider 只提供资源,不直接改变 Main写入仍由 C2 atomic transaction 负责。
## 输入
- `web/protocol/corrective-case-runner.ts`
- `web/protocol/corrective-command-registry.ts`
- `web/protocol/corrective-main-transaction.ts`
- `web/protocol/corrective-history-store.ts`
- `tests/golden/corrective/C2-003/manifest.json`
- `tests/golden/corrective/C1-002/context-schema.json`
## 交付
- typed resource provider、active library identity 和 bounded source lookup。
- local/packed/external positive lookup、missing provider、hash mismatch、cancel 和
malformed resource negative tests。
- deterministic receipt、protected-hash、typecheck、governance、manifest/status evidence。
- 不修改旧 M16 queue、manifest、registry、catalog、index 或历史 evidence。

View File

@@ -0,0 +1,34 @@
# C3-002 asset_catalog_positive_command
状态done
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
阶段P3
GateG3
依赖:`C3-001`
lifecycleStatus`done`
blockedBy`none`
writeScope`production_pilot`
queueMutationAllowed`false`
## 目标
实现第一个 Asset Catalog 正向 command在 active library resource 通过 hash
校验后,使用 C2 atomic Main transaction 创建一个 catalog entry。desktop 与 WASM
必须共享 command/registry/transaction/result 语义资源缺失、hash mismatch、只读
context 和 stale revision 必须保持 Main 不变。
## 输入
- `web/protocol/corrective-resource-provider.ts`
- `web/protocol/corrective-command-registry.ts`
- `web/protocol/corrective-main-transaction.ts`
- `tests/golden/corrective/C3-001/manifest.json`
- `tests/golden/corrective/C1-002/result-schema.json`
## 交付
- typed catalog append command and desktop/WASM adapter parity。
- positive mutation, resource negative, stale revision, malformed payload and save/dirty
focused tests。
- deterministic receipt、protected-hash、typecheck、governance、manifest/status evidence。
- 不修改旧 M16 queue、manifest、registry、catalog、index 或历史 evidence。

View File

@@ -0,0 +1,34 @@
# C3-003 asset_catalog_pilot_e2e
状态done
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
阶段P3
GateG3
依赖:`C3-002`
lifecycleStatus`done`
blockedBy`none`
writeScope`production_pilot`
queueMutationAllowed`false`
## 目标
在 Chromium production pilot 中运行同一 Asset Catalog fixture 和 command覆盖
至少五个正/负 casesappend、duplicate、missing resource、revision conflict 和
malformed payload。验证 desktop/WASM receipt parity、Main mutation、dirty、save/reopen
和失败不变性;不运行 Firefox/WebKit。
## 输入
- `web/protocol/corrective-resource-provider.ts`
- `web/protocol/corrective-asset-catalog-command.ts`
- `web/protocol/corrective-main-transaction.ts`
- `web/protocol/corrective-history-store.ts`
- `tests/golden/corrective/C3-002/manifest.json`
- Chromium production pilot harness and its minimal fixture
## 交付
- Chromium-only pilot test and five-case receipt matrix。
- save/reopen evidence and normalized desktop/WASM comparison。
- deterministic receipt、protected-hash、typecheck、governance、manifest/status evidence。
- 不修改旧 M16 queue、manifest、registry、catalog、index 或历史 evidence。

View File

@@ -0,0 +1,32 @@
# C4-001 modifier_positive_pilot
状态done
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
阶段P4
GateG4
依赖:`C2-003`
lifecycleStatus`done`
blockedBy`none`
writeScope`production_pilot`
queueMutationAllowed`false`
## 目标
选择一个代表性 Modifier positive workflow复用 C2 atomic Main、history 和
shared desktop/WASM receipt primitive覆盖 modifier delta、dirty、undo/redo 和
save/reopen parity。失败路径不得产生部分 modifier mutation。
## 输入
- `web/protocol/corrective-command-registry.ts`
- `web/protocol/corrective-main-transaction.ts`
- `web/protocol/corrective-history-store.ts`
- `tests/golden/corrective/C2-003/manifest.json`
## 交付
- typed modifier command and desktop/WASM positive pilot。
- delta/save/undo parity and negative rollback tests。
- Chromium-only evidence where applicable, deterministic receipt、protected-hash、
typecheck、governance、manifest/status evidence。
- 不修改旧 M16 queue、manifest、registry、catalog、index 或历史 evidence。

View File

@@ -0,0 +1,32 @@
# C4-002 mesh_positive_pilot
状态done
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
阶段P4
GateG4
依赖:`C4-001`
lifecycleStatus`done`
blockedBy`none`
writeScope`production_pilot`
queueMutationAllowed`false`
## 目标
选择一个代表性 Mesh positive workflow复用 C2 atomic Main、history 和
shared desktop/WASM receipt primitive覆盖 mesh delta、dirty、negative
rollback 和 save/reopen parity。
## 输入
- `web/protocol/corrective-command-registry.ts`
- `web/protocol/corrective-main-transaction.ts`
- `web/protocol/corrective-history-store.ts`
- `tests/golden/corrective/C4-001/manifest.json`
## 交付
- typed mesh command and desktop/WASM positive pilot。
- geometry delta/save parity and negative rollback tests。
- Chromium-only evidence where applicable, deterministic receipt、protected-hash、
typecheck、governance、manifest/status evidence。
- 不修改旧 M16 queue、manifest、registry、catalog、index 或历史 evidence。

View File

@@ -0,0 +1,31 @@
# C4-003 pilot_negative_matrix
状态done
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
阶段P4
GateG4
依赖:`C3-003`, `C4-001`, `C4-002`
lifecycleStatus`done`
blockedBy`none`
writeScope`production_pilot`
queueMutationAllowed`false`
## 目标
在已完成的 Asset Catalog、Modifier 和 Mesh pilots 上运行统一 negative
matrix验证 unsupported、revision conflict、resource missing 和 malformed
路径都保持 Main revision、内容和 dirty 状态不变。
## 输入
- `tests/golden/corrective/C3-003/manifest.json`
- `tests/golden/corrective/C4-001/manifest.json`
- `tests/golden/corrective/C4-002/manifest.json`
- `web/protocol/corrective-case-runner.ts`
## 交付
- typed cross-family negative matrix and rollback report。
- Chromium-only evidence where applicable, deterministic receipt、protected-hash、
typecheck、governance、manifest/status evidence。
- 不修改旧 M16 queue、manifest、registry、catalog、index 或历史 evidence。

View File

@@ -0,0 +1,28 @@
# C5-001 cluster_legacy_gaps
状态done
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
阶段P5
GateG4
依赖:`C4-003`
lifecycleStatus`done`
blockedBy`none`
writeScope`evidence_only`
queueMutationAllowed`false`
## 目标
基于已完成 pilots 和现有 legacy catalog生成 capability family clusters
与代表性 coverage cases。只写 corrective evidence不改变旧 M16 queue、
manifest、registry、catalog、index 或历史 evidence。
## 输入
- `tests/golden/corrective/C4-003/manifest.json`
- `tests/golden/M15-03A/task-catalog.jsonl`
- `docs/BLENDER_WASM_CAPABILITY_MATRIX_TEMPLATE.json`
## 交付
- deterministic cluster report and representative-case mapping。
- protected-hash、typecheck、governance、manifest/status evidence。

View File

@@ -0,0 +1,30 @@
# C5-002 modularize_gap_runner
状态done
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
阶段P5
GateG4
依赖:`C5-001`
lifecycleStatus`done`
blockedBy`none`
writeScope`production_pilot`
queueMutationAllowed`false`
## 目标
提供 family-level、data-driven corrective runner统一 Asset Catalog、Modifier
和 Mesh pilot 的 desktop/WASM dispatch 与 normalized receipt 汇总,避免每个
gap 重复实现协议,同时保留 atomic Main、负例和 revision contract。
## 输入
- `web/protocol/corrective-command-registry.ts`
- `web/protocol/corrective-case-runner.ts`
- `tests/golden/corrective/C5-001/manifest.json`
## 交付
- typed family runner and data-driven case table。
- cross-family desktop/WASM pilot、deterministic receipt、protected-hash、
typecheck、governance、manifest/status evidence。
- 不修改旧 M16 queue、manifest、registry、catalog、index 或历史 evidence。

View File

@@ -0,0 +1,31 @@
# C5-003 migrate_legacy_gap_inventory
状态done
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
阶段P5
GateG4
依赖:`C5-002`
lifecycleStatus`done`
blockedBy`none`
writeScope`staged_generated_state`
queueMutationAllowed`false`
## 目标
把 legacy gap inventory 映射到 capability clusters 和 representative
evidence生成 corrective staging 中的 coverage report、capability manifest
和 legacy evidence classification。正式 M16 queue、registry、catalog、index
与历史 evidence 保持只读。
## 输入
- `tests/golden/corrective/C5-001/cluster-report.json`
- `tests/golden/corrective/C5-002/manifest.json`
- `tests/golden/M15-03A/task-catalog.jsonl`
- `docs/BLENDER_WASM_CAPABILITY_MATRIX_TEMPLATE.json`
## 交付
- deterministic staged inventory mapping and capability manifest。
- protected-hash、typecheck、governance、manifest/status evidence。
- queueMutation 必须保持 `false`

View File

@@ -0,0 +1,29 @@
# C6-001 chromium_workflow_gate
状态done
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
阶段P6
GateG5
依赖:`C5-003`
lifecycleStatus`done`
blockedBy`none`
writeScope`evidence_only`
queueMutationAllowed`false`
## 目标
在 Chromium 中完成 representative workflow 的 open/edit/undo/redo/save/reopen
闭环,记录每一步的 Main revision、dirty、modifier 状态与 normalized receipt。
失败路径不得改变 Main。
## 输入
- `web/protocol/corrective-history-store.ts`
- `web/protocol/corrective-modifier-command.ts`
- `tests/golden/corrective/C5-003/manifest.json`
## 交付
- Chromium-only workflow evidence and deterministic second run。
- protected-hash、typecheck、governance、manifest/status evidence。
- queueMutation 必须保持 `false`

View File

@@ -0,0 +1,29 @@
# C6-002 performance_security_gate
状态done
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
阶段P6
GateG5
依赖:`C6-001`
lifecycleStatus`done`
blockedBy`none`
writeScope`evidence_only`
queueMutationAllowed`false`
## 目标
在 Chromium 和 Node focused lane 中验证 corrective command latency/heap budget
与 malformed、path/context、replay security boundaries。所有拒绝路径必须保持
Main unchanged且 queueMutation 继续为 false。
## 输入
- `web/protocol/corrective-case-runner.ts`
- `web/protocol/corrective-resource-provider.ts`
- `tests/golden/corrective/C6-001/manifest.json`
## 交付
- deterministic security report and bounded performance sample。
- Chromium-only evidence where applicable, protected-hash、typecheck、governance、
manifest/status evidence。

View File

@@ -0,0 +1,35 @@
# C6-003 reactivate_queue
状态in_progress
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
阶段P6
GateG5
依赖:`C6-002`
lifecycleStatus`in_progress`
blockedBy`post_write_verification`
writeScope`queue_reactivation`
queueMutationAllowed`true`owner review 已通过)
## 目标
从已验证 capability manifest 生成 queue-reactivation dry-run、new capability
task cards、manifest/status/context candidates 和 release decision。dry-run 与
write bytes 相同、legacy parent hashes 已在写前验证、primary mapping 唯一且
owner review 已明确通过;原子 queue write 已完成,当前只剩 post-write gates。
## 输入
- `tests/golden/corrective/C5-003/inventory-report.json`
- `tests/golden/corrective/C5-003/capability-manifest.json`
- `tests/golden/corrective/C5-003/legacy-evidence-classification.json`
- `tests/golden/corrective/C6-002/manifest.json`
- `docs/EXECUTION_QUEUE.md`
- `tests/golden/M16-GAP-00275/manifest.json`
## 交付
- `queue-reactivation-dry-run.json` and release decision。
- protected legacy hashes, dry-run/write byte comparison, owner-review evidence,
atomic write receipt, and post-handoff gates。
- 未获得 owner review 或任一 hash/diff 不一致时保持 `in_progress`/`blocked`
不写旧 queue。