Reorganize Blender Web execution around capabilities
This commit is contained in:
77
docs/corrective/C0-001-freeze-and-snapshot.md
Normal file
77
docs/corrective/C0-001-freeze-and-snapshot.md
Normal file
@@ -0,0 +1,77 @@
|
||||
# C0-001 freeze_and_snapshot
|
||||
|
||||
状态:done
|
||||
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
|
||||
阶段:P0
|
||||
Gate:G0
|
||||
依赖:无
|
||||
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 保持原样。
|
||||
77
docs/corrective/C0-002-reconcile-generated-state.md
Normal file
77
docs/corrective/C0-002-reconcile-generated-state.md
Normal file
@@ -0,0 +1,77 @@
|
||||
# C0-002 reconcile_generated_state
|
||||
|
||||
状态:done
|
||||
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
|
||||
阶段:P0
|
||||
Gate:G0
|
||||
依赖:`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-plan;summary 必须包含
|
||||
`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/catalog;queue 更新是 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。
|
||||
74
docs/corrective/C0-003-classify-legacy-273.md
Normal file
74
docs/corrective/C0-003-classify-legacy-273.md
Normal file
@@ -0,0 +1,74 @@
|
||||
# C0-003 classify_legacy_273
|
||||
|
||||
状态:done
|
||||
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
|
||||
阶段:P0
|
||||
Gate:G0
|
||||
依赖:`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。
|
||||
28
docs/corrective/C1-001-define-parity-levels.md
Normal file
28
docs/corrective/C1-001-define-parity-levels.md
Normal file
@@ -0,0 +1,28 @@
|
||||
# C1-001 define_parity_levels
|
||||
|
||||
状态:done
|
||||
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
|
||||
阶段:P1
|
||||
Gate:G1
|
||||
依赖:`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。
|
||||
@@ -0,0 +1,29 @@
|
||||
# C1-002 define_command_result_context_schema
|
||||
|
||||
状态:done
|
||||
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
|
||||
阶段:P1
|
||||
Gate:G1
|
||||
依赖:`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。
|
||||
30
docs/corrective/C1-003-build-shared-case-runner.md
Normal file
30
docs/corrective/C1-003-build-shared-case-runner.md
Normal file
@@ -0,0 +1,30 @@
|
||||
# C1-003 build_shared_case_runner
|
||||
|
||||
状态:done
|
||||
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
|
||||
阶段:P1
|
||||
Gate:G1
|
||||
依赖:`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。
|
||||
43
docs/corrective/C2-001-command-registry-and-validation.md
Normal file
43
docs/corrective/C2-001-command-registry-and-validation.md
Normal file
@@ -0,0 +1,43 @@
|
||||
# C2-001 command_registry_and_validation
|
||||
|
||||
状态:done
|
||||
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
|
||||
阶段:P2
|
||||
Gate:G2
|
||||
依赖:`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。
|
||||
33
docs/corrective/C2-002-atomic-main-mutation.md
Normal file
33
docs/corrective/C2-002-atomic-main-mutation.md
Normal file
@@ -0,0 +1,33 @@
|
||||
# C2-002 atomic_main_mutation
|
||||
|
||||
状态:done
|
||||
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
|
||||
阶段:P2
|
||||
Gate:G2
|
||||
依赖:`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。
|
||||
32
docs/corrective/C2-003-undo-redo-save-invariants.md
Normal file
32
docs/corrective/C2-003-undo-redo-save-invariants.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# C2-003 undo_redo_save_invariants
|
||||
|
||||
状态:done
|
||||
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
|
||||
阶段:P2
|
||||
Gate:G2
|
||||
依赖:`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 与 revision,save 清除
|
||||
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。
|
||||
34
docs/corrective/C3-001-asset-catalog-resource-provider.md
Normal file
34
docs/corrective/C3-001-asset-catalog-resource-provider.md
Normal file
@@ -0,0 +1,34 @@
|
||||
# C3-001 asset_catalog_resource_provider
|
||||
|
||||
状态:done
|
||||
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
|
||||
阶段:P3
|
||||
Gate:G3
|
||||
依赖:`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。
|
||||
34
docs/corrective/C3-002-asset-catalog-positive-command.md
Normal file
34
docs/corrective/C3-002-asset-catalog-positive-command.md
Normal file
@@ -0,0 +1,34 @@
|
||||
# C3-002 asset_catalog_positive_command
|
||||
|
||||
状态:done
|
||||
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
|
||||
阶段:P3
|
||||
Gate:G3
|
||||
依赖:`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。
|
||||
34
docs/corrective/C3-003-asset-catalog-pilot-e2e.md
Normal file
34
docs/corrective/C3-003-asset-catalog-pilot-e2e.md
Normal file
@@ -0,0 +1,34 @@
|
||||
# C3-003 asset_catalog_pilot_e2e
|
||||
|
||||
状态:done
|
||||
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
|
||||
阶段:P3
|
||||
Gate:G3
|
||||
依赖:`C3-002`
|
||||
lifecycleStatus:`done`
|
||||
blockedBy:`none`
|
||||
writeScope:`production_pilot`
|
||||
queueMutationAllowed:`false`
|
||||
|
||||
## 目标
|
||||
|
||||
在 Chromium production pilot 中运行同一 Asset Catalog fixture 和 command,覆盖
|
||||
至少五个正/负 cases:append、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。
|
||||
32
docs/corrective/C4-001-modifier-positive-pilot.md
Normal file
32
docs/corrective/C4-001-modifier-positive-pilot.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# C4-001 modifier_positive_pilot
|
||||
|
||||
状态:done
|
||||
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
|
||||
阶段:P4
|
||||
Gate:G4
|
||||
依赖:`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。
|
||||
32
docs/corrective/C4-002-mesh-positive-pilot.md
Normal file
32
docs/corrective/C4-002-mesh-positive-pilot.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# C4-002 mesh_positive_pilot
|
||||
|
||||
状态:done
|
||||
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
|
||||
阶段:P4
|
||||
Gate:G4
|
||||
依赖:`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。
|
||||
31
docs/corrective/C4-003-pilot-negative-matrix.md
Normal file
31
docs/corrective/C4-003-pilot-negative-matrix.md
Normal file
@@ -0,0 +1,31 @@
|
||||
# C4-003 pilot_negative_matrix
|
||||
|
||||
状态:done
|
||||
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
|
||||
阶段:P4
|
||||
Gate:G4
|
||||
依赖:`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。
|
||||
28
docs/corrective/C5-001-cluster-legacy-gaps.md
Normal file
28
docs/corrective/C5-001-cluster-legacy-gaps.md
Normal file
@@ -0,0 +1,28 @@
|
||||
# C5-001 cluster_legacy_gaps
|
||||
|
||||
状态:done
|
||||
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
|
||||
阶段:P5
|
||||
Gate:G4
|
||||
依赖:`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。
|
||||
30
docs/corrective/C5-002-modularize-gap-runner.md
Normal file
30
docs/corrective/C5-002-modularize-gap-runner.md
Normal file
@@ -0,0 +1,30 @@
|
||||
# C5-002 modularize_gap_runner
|
||||
|
||||
状态:done
|
||||
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
|
||||
阶段:P5
|
||||
Gate:G4
|
||||
依赖:`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。
|
||||
31
docs/corrective/C5-003-migrate-legacy-gap-inventory.md
Normal file
31
docs/corrective/C5-003-migrate-legacy-gap-inventory.md
Normal file
@@ -0,0 +1,31 @@
|
||||
# C5-003 migrate_legacy_gap_inventory
|
||||
|
||||
状态:done
|
||||
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
|
||||
阶段:P5
|
||||
Gate:G4
|
||||
依赖:`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`。
|
||||
29
docs/corrective/C6-001-chromium-workflow-gate.md
Normal file
29
docs/corrective/C6-001-chromium-workflow-gate.md
Normal file
@@ -0,0 +1,29 @@
|
||||
# C6-001 chromium_workflow_gate
|
||||
|
||||
状态:done
|
||||
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
|
||||
阶段:P6
|
||||
Gate:G5
|
||||
依赖:`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`。
|
||||
29
docs/corrective/C6-002-performance-security-gate.md
Normal file
29
docs/corrective/C6-002-performance-security-gate.md
Normal file
@@ -0,0 +1,29 @@
|
||||
# C6-002 performance_security_gate
|
||||
|
||||
状态:done
|
||||
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
|
||||
阶段:P6
|
||||
Gate:G5
|
||||
依赖:`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。
|
||||
35
docs/corrective/C6-003-reactivate-queue.md
Normal file
35
docs/corrective/C6-003-reactivate-queue.md
Normal file
@@ -0,0 +1,35 @@
|
||||
# C6-003 reactivate_queue
|
||||
|
||||
状态:in_progress
|
||||
计划:`BLENDER_WASM_CORRECTIVE_TASK_PLAN`
|
||||
阶段:P6
|
||||
Gate:G5
|
||||
依赖:`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。
|
||||
Reference in New Issue
Block a user