Rebuild local Blender WASM environment and recovery evidence
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-27 20:15:55 +08:00
parent a081c68c87
commit c2c65d3a09
376 changed files with 241951 additions and 114 deletions

View File

@@ -20,13 +20,18 @@ inventory change only; it must not claim feature parity or modify Blender runtim
- `tests/golden/corrective/C5-003/coverage-report.json`
- `tests/golden/corrective/C5-003/inventory-gate.log`
Do: stable IDs, family clustering, unknown classification, deterministic report and
source hashes. Do not: edit legacy manifests, execute arbitrary Blender operators,
or run Firefox/WebKit.
Do: stable IDs, architecture-layer clustering, explicit unknown classification,
deterministic report and source hashes. Reuse the immutable M15 inventory and M16
coverage state as read-only inputs. Every generated entry must remain
`METADATA_ONLY`/`L0` until a capability workflow has desktop, WASM/Main, Chromium,
negative, persistence and hash evidence. Do not edit legacy manifests, execute
arbitrary Blender operators, or run Firefox/WebKit.
## 验收
```bash
node tools/web/generate-wbv2-inventory.mjs
node tools/web/check-wbv2-inventory.mjs
node tools/web/check-execution-control-plane.mjs
node tools/web/check-web-parity-v2-plan.mjs
node tools/web/check-corrective-plan.mjs
@@ -39,7 +44,10 @@ successor may be selected.
## 交付与回滚
- Reports: `tests/golden/WBV2-P0-002/`
- Reports: `tests/golden/WBV2-P0-002/inventory.json`,
`tests/golden/WBV2-P0-002/parity-map.json`,
`tests/golden/WBV2-P0-002/source-hashes.json`,
`tests/golden/WBV2-P0-002/inventory-check-report.json`
- Status: `docs/status/WBV2-P0-002.md`
- Manifest: `tests/golden/WBV2-P0-002/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task WBV2-P0-002 --write`

37
docs/tasks/WBV2-P0-003.md Normal file
View File

@@ -0,0 +1,37 @@
# WBV2-P0-003: workflow:freeze_capability_error_budget_contract LOCAL_EXACT slice
- task: WBV2-P0-003
- parent: WBV2-P0-002
- status: in_progress
- gap: workflow:freeze_capability_error_budget_contract
- ownerFamily: PROTOCOL
- targetImplementationClass: LOCAL_BOUNDED
## 目标
Make the same minimal fixture produce observable workflow:freeze_capability_error_budget_contract data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
## 输入与范围
- Fixture: `tests/files/web/generated/WBV2-P0-003-workflow-freeze_capability_error_budget_contract.blend`
- Generator: `tools/web/generated/WBV2-P0-003.py`
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
- Checker: `tools/web/check-generated-gap.mjs`
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
## 验收
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/WBV2-P0-003.py -- tests/files/web/generated/WBV2-P0-003-workflow-freeze_capability_error_budget_contract.blend
npm --prefix web run test:generated-gap -- --task WBV2-P0-003
node tools/web/check-generated-gap.mjs --task WBV2-P0-003
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
## 交付与回滚
- Reports: `tests/golden/WBV2-P0-003/`
- Status: `docs/status/WBV2-P0-003.md`
- Manifest: `tests/golden/WBV2-P0-003/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task WBV2-P0-003 --write`
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.

37
docs/tasks/WBV2-P1-001.md Normal file
View File

@@ -0,0 +1,37 @@
# WBV2-P1-001: workflow:stabilize_runtime_variants_and_source_receipts LOCAL_EXACT slice
- task: WBV2-P1-001
- parent: WBV2-P0-003
- status: in_progress
- gap: workflow:stabilize_runtime_variants_and_source_receipts
- ownerFamily: RUNTIME
- targetImplementationClass: LOCAL_BOUNDED
## 目标
Make the same minimal fixture produce observable workflow:stabilize_runtime_variants_and_source_receipts data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
## 输入与范围
- Fixture: `tests/files/web/generated/WBV2-P1-001-workflow-stabilize_runtime_variants_and_source_receipts.blend`
- Generator: `tools/web/generated/WBV2-P1-001.py`
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
- Checker: `tools/web/check-generated-gap.mjs`
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
## 验收
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/WBV2-P1-001.py -- tests/files/web/generated/WBV2-P1-001-workflow-stabilize_runtime_variants_and_source_receipts.blend
npm --prefix web run test:generated-gap -- --task WBV2-P1-001
node tools/web/check-generated-gap.mjs --task WBV2-P1-001
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
## 交付与回滚
- Reports: `tests/golden/WBV2-P1-001/`
- Status: `docs/status/WBV2-P1-001.md`
- Manifest: `tests/golden/WBV2-P1-001/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task WBV2-P1-001 --write`
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.

37
docs/tasks/WBV2-P1-002.md Normal file
View File

@@ -0,0 +1,37 @@
# WBV2-P1-002: workflow:unify_sceneir_stable_ids_and_binary_deltas LOCAL_EXACT slice
- task: WBV2-P1-002
- parent: WBV2-P1-001
- status: in_progress
- gap: workflow:unify_sceneir_stable_ids_and_binary_deltas
- ownerFamily: MAIN
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable workflow:unify_sceneir_stable_ids_and_binary_deltas data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
## 输入与范围
- Fixture: `tests/files/web/generated/WBV2-P1-002-workflow-unify_sceneir_stable_ids_and_binary_deltas.blend`
- Generator: `tools/web/generated/WBV2-P1-002.py`
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
- Checker: `tools/web/check-generated-gap.mjs`
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
## 验收
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/WBV2-P1-002.py -- tests/files/web/generated/WBV2-P1-002-workflow-unify_sceneir_stable_ids_and_binary_deltas.blend
npm --prefix web run test:generated-gap -- --task WBV2-P1-002
node tools/web/check-generated-gap.mjs --task WBV2-P1-002
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
## 交付与回滚
- Reports: `tests/golden/WBV2-P1-002/`
- Status: `docs/status/WBV2-P1-002.md`
- Manifest: `tests/golden/WBV2-P1-002/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task WBV2-P1-002 --write`
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.

37
docs/tasks/WBV2-P1-003.md Normal file
View File

@@ -0,0 +1,37 @@
# WBV2-P1-003: workflow:unify_main_transaction_history_and_save LOCAL_EXACT slice
- task: WBV2-P1-003
- parent: WBV2-P1-002
- status: in_progress
- gap: workflow:unify_main_transaction_history_and_save
- ownerFamily: MAIN
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable workflow:unify_main_transaction_history_and_save data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
## 输入与范围
- Fixture: `tests/files/web/generated/WBV2-P1-003-workflow-unify_main_transaction_history_and_save.blend`
- Generator: `tools/web/generated/WBV2-P1-003.py`
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
- Checker: `tools/web/check-generated-gap.mjs`
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
## 验收
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/WBV2-P1-003.py -- tests/files/web/generated/WBV2-P1-003-workflow-unify_main_transaction_history_and_save.blend
npm --prefix web run test:generated-gap -- --task WBV2-P1-003
node tools/web/check-generated-gap.mjs --task WBV2-P1-003
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
## 交付与回滚
- Reports: `tests/golden/WBV2-P1-003/`
- Status: `docs/status/WBV2-P1-003.md`
- Manifest: `tests/golden/WBV2-P1-003/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task WBV2-P1-003 --write`
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.

37
docs/tasks/WBV2-P1-004.md Normal file
View File

@@ -0,0 +1,37 @@
# WBV2-P1-004: workflow:harden_worker_cancel_restart_and_dispose LOCAL_EXACT slice
- task: WBV2-P1-004
- parent: WBV2-P1-003
- status: in_progress
- gap: workflow:harden_worker_cancel_restart_and_dispose
- ownerFamily: RUNTIME
- targetImplementationClass: LOCAL_BOUNDED
## 目标
Make the same minimal fixture produce observable workflow:harden_worker_cancel_restart_and_dispose data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
## 输入与范围
- Fixture: `tests/files/web/generated/WBV2-P1-004-workflow-harden_worker_cancel_restart_and_dispose.blend`
- Generator: `tools/web/generated/WBV2-P1-004.py`
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
- Checker: `tools/web/check-generated-gap.mjs`
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
## 验收
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/WBV2-P1-004.py -- tests/files/web/generated/WBV2-P1-004-workflow-harden_worker_cancel_restart_and_dispose.blend
npm --prefix web run test:generated-gap -- --task WBV2-P1-004
node tools/web/check-generated-gap.mjs --task WBV2-P1-004
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
## 交付与回滚
- Reports: `tests/golden/WBV2-P1-004/`
- Status: `docs/status/WBV2-P1-004.md`
- Manifest: `tests/golden/WBV2-P1-004/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task WBV2-P1-004 --write`
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.

37
docs/tasks/WBV2-P1-005.md Normal file
View File

@@ -0,0 +1,37 @@
# WBV2-P1-005: workflow:harden_opfs_indexeddb_journal_recovery LOCAL_EXACT slice
- task: WBV2-P1-005
- parent: WBV2-P1-004
- status: in_progress
- gap: workflow:harden_opfs_indexeddb_journal_recovery
- ownerFamily: STORAGE
- targetImplementationClass: LOCAL_BOUNDED
## 目标
Make the same minimal fixture produce observable workflow:harden_opfs_indexeddb_journal_recovery data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
## 输入与范围
- Fixture: `tests/files/web/generated/WBV2-P1-005-workflow-harden_opfs_indexeddb_journal_recovery.blend`
- Generator: `tools/web/generated/WBV2-P1-005.py`
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
- Checker: `tools/web/check-generated-gap.mjs`
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
## 验收
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/WBV2-P1-005.py -- tests/files/web/generated/WBV2-P1-005-workflow-harden_opfs_indexeddb_journal_recovery.blend
npm --prefix web run test:generated-gap -- --task WBV2-P1-005
node tools/web/check-generated-gap.mjs --task WBV2-P1-005
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
## 交付与回滚
- Reports: `tests/golden/WBV2-P1-005/`
- Status: `docs/status/WBV2-P1-005.md`
- Manifest: `tests/golden/WBV2-P1-005/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task WBV2-P1-005 --write`
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.

37
docs/tasks/WBV2-P2-001.md Normal file
View File

@@ -0,0 +1,37 @@
# WBV2-P2-001: EDITOR.OPEN_SCENE LOCAL_EXACT slice
- task: WBV2-P2-001
- parent: WBV2-P1-005
- status: in_progress
- gap: EDITOR.OPEN_SCENE
- ownerFamily: EDITOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable EDITOR.OPEN_SCENE data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
## 输入与范围
- Fixture: `tests/files/web/generated/WBV2-P2-001-EDITOR.OPEN_SCENE.blend`
- Generator: `tools/web/generated/WBV2-P2-001.py`
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
- Checker: `tools/web/check-generated-gap.mjs`
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
## 验收
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/WBV2-P2-001.py -- tests/files/web/generated/WBV2-P2-001-EDITOR.OPEN_SCENE.blend
npm --prefix web run test:generated-gap -- --task WBV2-P2-001
node tools/web/check-generated-gap.mjs --task WBV2-P2-001
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
## 交付与回滚
- Reports: `tests/golden/WBV2-P2-001/`
- Status: `docs/status/WBV2-P2-001.md`
- Manifest: `tests/golden/WBV2-P2-001/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task WBV2-P2-001 --write`
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.

37
docs/tasks/WBV2-P2-002.md Normal file
View File

@@ -0,0 +1,37 @@
# WBV2-P2-002: OBJECT.TRANSFORM_HIERARCHY LOCAL_EXACT slice
- task: WBV2-P2-002
- parent: WBV2-P2-001
- status: in_progress
- gap: OBJECT.TRANSFORM_HIERARCHY
- ownerFamily: EDITOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable OBJECT.TRANSFORM_HIERARCHY data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
## 输入与范围
- Fixture: `tests/files/web/generated/WBV2-P2-002-OBJECT.TRANSFORM_HIERARCHY.blend`
- Generator: `tools/web/generated/WBV2-P2-002.py`
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
- Checker: `tools/web/check-generated-gap.mjs`
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
## 验收
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/WBV2-P2-002.py -- tests/files/web/generated/WBV2-P2-002-OBJECT.TRANSFORM_HIERARCHY.blend
npm --prefix web run test:generated-gap -- --task WBV2-P2-002
node tools/web/check-generated-gap.mjs --task WBV2-P2-002
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
## 交付与回滚
- Reports: `tests/golden/WBV2-P2-002/`
- Status: `docs/status/WBV2-P2-002.md`
- Manifest: `tests/golden/WBV2-P2-002/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task WBV2-P2-002 --write`
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.

37
docs/tasks/WBV2-P2-003.md Normal file
View File

@@ -0,0 +1,37 @@
# WBV2-P2-003: MESH.EDIT_CORE LOCAL_EXACT slice
- task: WBV2-P2-003
- parent: WBV2-P2-002
- status: in_progress
- gap: MESH.EDIT_CORE
- ownerFamily: MESH
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable MESH.EDIT_CORE data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
## 输入与范围
- Fixture: `tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend`
- Generator: `tools/web/generated/WBV2-P2-003.py`
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
- Checker: `tools/web/check-generated-gap.mjs`
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
## 验收
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/WBV2-P2-003.py -- tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend
npm --prefix web run test:generated-gap -- --task WBV2-P2-003
node tools/web/check-generated-gap.mjs --task WBV2-P2-003
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
## 交付与回滚
- Reports: `tests/golden/WBV2-P2-003/`
- Status: `docs/status/WBV2-P2-003.md`
- Manifest: `tests/golden/WBV2-P2-003/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task WBV2-P2-003 --write`
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.

37
docs/tasks/WBV2-P2-004.md Normal file
View File

@@ -0,0 +1,37 @@
# WBV2-P2-004: VIEWPORT.MAIN_OFFSCREEN LOCAL_EXACT slice
- task: WBV2-P2-004
- parent: WBV2-P2-003
- status: in_progress
- gap: VIEWPORT.MAIN_OFFSCREEN
- ownerFamily: VIEWPORT
- targetImplementationClass: LOCAL_BOUNDED
## 目标
Make the same minimal fixture produce observable VIEWPORT.MAIN_OFFSCREEN data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
## 输入与范围
- Fixture: `tests/files/web/generated/WBV2-P2-004-VIEWPORT.MAIN_OFFSCREEN.blend`
- Generator: `tools/web/generated/WBV2-P2-004.py`
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
- Checker: `tools/web/check-generated-gap.mjs`
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
## 验收
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/WBV2-P2-004.py -- tests/files/web/generated/WBV2-P2-004-VIEWPORT.MAIN_OFFSCREEN.blend
npm --prefix web run test:generated-gap -- --task WBV2-P2-004
node tools/web/check-generated-gap.mjs --task WBV2-P2-004
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
## 交付与回滚
- Reports: `tests/golden/WBV2-P2-004/`
- Status: `docs/status/WBV2-P2-004.md`
- Manifest: `tests/golden/WBV2-P2-004/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task WBV2-P2-004 --write`
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.

37
docs/tasks/WBV2-P2-005.md Normal file
View File

@@ -0,0 +1,37 @@
# WBV2-P2-005: WORKFLOW.P0_USER_LOOP LOCAL_EXACT slice
- task: WBV2-P2-005
- parent: WBV2-P2-004
- status: in_progress
- gap: WORKFLOW.P0_USER_LOOP
- ownerFamily: INTEGRATION
- targetImplementationClass: LOCAL_BOUNDED
## 目标
Make the same minimal fixture produce observable WORKFLOW.P0_USER_LOOP data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
## 输入与范围
- Fixture: `tests/files/web/generated/WBV2-P2-005-WORKFLOW.P0_USER_LOOP.blend`
- Generator: `tools/web/generated/WBV2-P2-005.py`
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
- Checker: `tools/web/check-generated-gap.mjs`
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
## 验收
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/WBV2-P2-005.py -- tests/files/web/generated/WBV2-P2-005-WORKFLOW.P0_USER_LOOP.blend
npm --prefix web run test:generated-gap -- --task WBV2-P2-005
node tools/web/check-generated-gap.mjs --task WBV2-P2-005
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
## 交付与回滚
- Reports: `tests/golden/WBV2-P2-005/`
- Status: `docs/status/WBV2-P2-005.md`
- Manifest: `tests/golden/WBV2-P2-005/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task WBV2-P2-005 --write`
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.

37
docs/tasks/WBV2-P3-001.md Normal file
View File

@@ -0,0 +1,37 @@
# WBV2-P3-001: MATERIAL.PBR_UV LOCAL_EXACT slice
- task: WBV2-P3-001
- parent: WBV2-P2-005
- status: in_progress
- gap: MATERIAL.PBR_UV
- ownerFamily: MATERIAL
- targetImplementationClass: LOCAL_BOUNDED
## 目标
Make the same minimal fixture produce observable MATERIAL.PBR_UV data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
## 输入与范围
- Fixture: `tests/files/web/generated/WBV2-P3-001-MATERIAL.PBR_UV.blend`
- Generator: `tools/web/generated/WBV2-P3-001.py`
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
- Checker: `tools/web/check-generated-gap.mjs`
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
## 验收
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/WBV2-P3-001.py -- tests/files/web/generated/WBV2-P3-001-MATERIAL.PBR_UV.blend
npm --prefix web run test:generated-gap -- --task WBV2-P3-001
node tools/web/check-generated-gap.mjs --task WBV2-P3-001
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
## 交付与回滚
- Reports: `tests/golden/WBV2-P3-001/`
- Status: `docs/status/WBV2-P3-001.md`
- Manifest: `tests/golden/WBV2-P3-001/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task WBV2-P3-001 --write`
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.

37
docs/tasks/WBV2-P3-002.md Normal file
View File

@@ -0,0 +1,37 @@
# WBV2-P3-002: ANIMATION.TRS_ACTION LOCAL_EXACT slice
- task: WBV2-P3-002
- parent: WBV2-P3-001
- status: in_progress
- gap: ANIMATION.TRS_ACTION
- ownerFamily: ANIMATION
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable ANIMATION.TRS_ACTION data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
## 输入与范围
- Fixture: `tests/files/web/generated/WBV2-P3-002-ANIMATION.TRS_ACTION.blend`
- Generator: `tools/web/generated/WBV2-P3-002.py`
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
- Checker: `tools/web/check-generated-gap.mjs`
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
## 验收
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/WBV2-P3-002.py -- tests/files/web/generated/WBV2-P3-002-ANIMATION.TRS_ACTION.blend
npm --prefix web run test:generated-gap -- --task WBV2-P3-002
node tools/web/check-generated-gap.mjs --task WBV2-P3-002
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
## 交付与回滚
- Reports: `tests/golden/WBV2-P3-002/`
- Status: `docs/status/WBV2-P3-002.md`
- Manifest: `tests/golden/WBV2-P3-002/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task WBV2-P3-002 --write`
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.

37
docs/tasks/WBV2-P3-003.md Normal file
View File

@@ -0,0 +1,37 @@
# WBV2-P3-003: RIG.POSE_SKIN LOCAL_EXACT slice
- task: WBV2-P3-003
- parent: WBV2-P3-002
- status: in_progress
- gap: RIG.POSE_SKIN
- ownerFamily: RIG
- targetImplementationClass: LOCAL_BOUNDED
## 目标
Make the same minimal fixture produce observable RIG.POSE_SKIN data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
## 输入与范围
- Fixture: `tests/files/web/generated/WBV2-P3-003-RIG.POSE_SKIN.blend`
- Generator: `tools/web/generated/WBV2-P3-003.py`
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
- Checker: `tools/web/check-generated-gap.mjs`
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
## 验收
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/WBV2-P3-003.py -- tests/files/web/generated/WBV2-P3-003-RIG.POSE_SKIN.blend
npm --prefix web run test:generated-gap -- --task WBV2-P3-003
node tools/web/check-generated-gap.mjs --task WBV2-P3-003
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
## 交付与回滚
- Reports: `tests/golden/WBV2-P3-003/`
- Status: `docs/status/WBV2-P3-003.md`
- Manifest: `tests/golden/WBV2-P3-003/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task WBV2-P3-003 --write`
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.

37
docs/tasks/WBV2-P3-004.md Normal file
View File

@@ -0,0 +1,37 @@
# WBV2-P3-004: IO.GLB_ROUNDTRIP LOCAL_EXACT slice
- task: WBV2-P3-004
- parent: WBV2-P3-003
- status: in_progress
- gap: IO.GLB_ROUNDTRIP
- ownerFamily: IO
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable IO.GLB_ROUNDTRIP data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
## 输入与范围
- Fixture: `tests/files/web/generated/WBV2-P3-004-IO.GLB_ROUNDTRIP.blend`
- Generator: `tools/web/generated/WBV2-P3-004.py`
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
- Checker: `tools/web/check-generated-gap.mjs`
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
## 验收
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/WBV2-P3-004.py -- tests/files/web/generated/WBV2-P3-004-IO.GLB_ROUNDTRIP.blend
npm --prefix web run test:generated-gap -- --task WBV2-P3-004
node tools/web/check-generated-gap.mjs --task WBV2-P3-004
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
## 交付与回滚
- Reports: `tests/golden/WBV2-P3-004/`
- Status: `docs/status/WBV2-P3-004.md`
- Manifest: `tests/golden/WBV2-P3-004/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task WBV2-P3-004 --write`
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.

37
docs/tasks/WBV2-P3-005.md Normal file
View File

@@ -0,0 +1,37 @@
# WBV2-P3-005: ASSET.LIBRARY_OPERATIONS LOCAL_EXACT slice
- task: WBV2-P3-005
- parent: WBV2-P3-004
- status: in_progress
- gap: ASSET.LIBRARY_OPERATIONS
- ownerFamily: ASSET
- targetImplementationClass: LOCAL_BOUNDED
## 目标
Make the same minimal fixture produce observable ASSET.LIBRARY_OPERATIONS data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
## 输入与范围
- Fixture: `tests/files/web/generated/WBV2-P3-005-ASSET.LIBRARY_OPERATIONS.blend`
- Generator: `tools/web/generated/WBV2-P3-005.py`
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
- Checker: `tools/web/check-generated-gap.mjs`
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
## 验收
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/WBV2-P3-005.py -- tests/files/web/generated/WBV2-P3-005-ASSET.LIBRARY_OPERATIONS.blend
npm --prefix web run test:generated-gap -- --task WBV2-P3-005
node tools/web/check-generated-gap.mjs --task WBV2-P3-005
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
## 交付与回滚
- Reports: `tests/golden/WBV2-P3-005/`
- Status: `docs/status/WBV2-P3-005.md`
- Manifest: `tests/golden/WBV2-P3-005/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task WBV2-P3-005 --write`
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.

37
docs/tasks/WBV2-P4-001.md Normal file
View File

@@ -0,0 +1,37 @@
# WBV2-P4-001: MODIFIER.DECLARED_SLICES LOCAL_EXACT slice
- task: WBV2-P4-001
- parent: WBV2-P3-005
- status: in_progress
- gap: MODIFIER.DECLARED_SLICES
- ownerFamily: MODIFIER
- targetImplementationClass: LOCAL_BOUNDED
## 目标
Make the same minimal fixture produce observable MODIFIER.DECLARED_SLICES data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
## 输入与范围
- Fixture: `tests/files/web/generated/WBV2-P4-001-MODIFIER.DECLARED_SLICES.blend`
- Generator: `tools/web/generated/WBV2-P4-001.py`
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
- Checker: `tools/web/check-generated-gap.mjs`
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
## 验收
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/WBV2-P4-001.py -- tests/files/web/generated/WBV2-P4-001-MODIFIER.DECLARED_SLICES.blend
npm --prefix web run test:generated-gap -- --task WBV2-P4-001
node tools/web/check-generated-gap.mjs --task WBV2-P4-001
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
## 交付与回滚
- Reports: `tests/golden/WBV2-P4-001/`
- Status: `docs/status/WBV2-P4-001.md`
- Manifest: `tests/golden/WBV2-P4-001/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task WBV2-P4-001 --write`
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.

37
docs/tasks/WBV2-P4-002.md Normal file
View File

@@ -0,0 +1,37 @@
# WBV2-P4-002: NODES.ALLOWLIST LOCAL_EXACT slice
- task: WBV2-P4-002
- parent: WBV2-P4-001
- status: in_progress
- gap: NODES.ALLOWLIST
- ownerFamily: NODES
- targetImplementationClass: LOCAL_BOUNDED
## 目标
Make the same minimal fixture produce observable NODES.ALLOWLIST data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
## 输入与范围
- Fixture: `tests/files/web/generated/WBV2-P4-002-NODES.ALLOWLIST.blend`
- Generator: `tools/web/generated/WBV2-P4-002.py`
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
- Checker: `tools/web/check-generated-gap.mjs`
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
## 验收
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/WBV2-P4-002.py -- tests/files/web/generated/WBV2-P4-002-NODES.ALLOWLIST.blend
npm --prefix web run test:generated-gap -- --task WBV2-P4-002
node tools/web/check-generated-gap.mjs --task WBV2-P4-002
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
## 交付与回滚
- Reports: `tests/golden/WBV2-P4-002/`
- Status: `docs/status/WBV2-P4-002.md`
- Manifest: `tests/golden/WBV2-P4-002/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task WBV2-P4-002 --write`
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.

37
docs/tasks/WBV2-P4-003.md Normal file
View File

@@ -0,0 +1,37 @@
# WBV2-P4-003: SCULPT.NONMESH.PAINT_BOUNDED LOCAL_EXACT slice
- task: WBV2-P4-003
- parent: WBV2-P4-002
- status: in_progress
- gap: SCULPT.NONMESH.PAINT_BOUNDED
- ownerFamily: SCULPT
- targetImplementationClass: LOCAL_BOUNDED
## 目标
Make the same minimal fixture produce observable SCULPT.NONMESH.PAINT_BOUNDED data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
## 输入与范围
- Fixture: `tests/files/web/generated/WBV2-P4-003-SCULPT.NONMESH.PAINT_BOUNDED.blend`
- Generator: `tools/web/generated/WBV2-P4-003.py`
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
- Checker: `tools/web/check-generated-gap.mjs`
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
## 验收
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/WBV2-P4-003.py -- tests/files/web/generated/WBV2-P4-003-SCULPT.NONMESH.PAINT_BOUNDED.blend
npm --prefix web run test:generated-gap -- --task WBV2-P4-003
node tools/web/check-generated-gap.mjs --task WBV2-P4-003
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
## 交付与回滚
- Reports: `tests/golden/WBV2-P4-003/`
- Status: `docs/status/WBV2-P4-003.md`
- Manifest: `tests/golden/WBV2-P4-003/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task WBV2-P4-003 --write`
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.

37
docs/tasks/WBV2-P4-004.md Normal file
View File

@@ -0,0 +1,37 @@
# WBV2-P4-004: SIMULATION.CACHE_LIFECYCLE LOCAL_EXACT slice
- task: WBV2-P4-004
- parent: WBV2-P4-003
- status: in_progress
- gap: SIMULATION.CACHE_LIFECYCLE
- ownerFamily: SIMULATION
- targetImplementationClass: LOCAL_BOUNDED
## 目标
Make the same minimal fixture produce observable SIMULATION.CACHE_LIFECYCLE data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
## 输入与范围
- Fixture: `tests/files/web/generated/WBV2-P4-004-SIMULATION.CACHE_LIFECYCLE.blend`
- Generator: `tools/web/generated/WBV2-P4-004.py`
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
- Checker: `tools/web/check-generated-gap.mjs`
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
## 验收
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/WBV2-P4-004.py -- tests/files/web/generated/WBV2-P4-004-SIMULATION.CACHE_LIFECYCLE.blend
npm --prefix web run test:generated-gap -- --task WBV2-P4-004
node tools/web/check-generated-gap.mjs --task WBV2-P4-004
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
## 交付与回滚
- Reports: `tests/golden/WBV2-P4-004/`
- Status: `docs/status/WBV2-P4-004.md`
- Manifest: `tests/golden/WBV2-P4-004/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task WBV2-P4-004 --write`
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.

37
docs/tasks/WBV2-P5-001.md Normal file
View File

@@ -0,0 +1,37 @@
# WBV2-P5-001: RENDER.ROUTING LOCAL_EXACT slice
- task: WBV2-P5-001
- parent: WBV2-P4-004
- status: in_progress
- gap: RENDER.ROUTING
- ownerFamily: RENDER
- targetImplementationClass: LOCAL_BOUNDED
## 目标
Make the same minimal fixture produce observable RENDER.ROUTING data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
## 输入与范围
- Fixture: `tests/files/web/generated/WBV2-P5-001-RENDER.ROUTING.blend`
- Generator: `tools/web/generated/WBV2-P5-001.py`
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
- Checker: `tools/web/check-generated-gap.mjs`
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
## 验收
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/WBV2-P5-001.py -- tests/files/web/generated/WBV2-P5-001-RENDER.ROUTING.blend
npm --prefix web run test:generated-gap -- --task WBV2-P5-001
node tools/web/check-generated-gap.mjs --task WBV2-P5-001
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
## 交付与回滚
- Reports: `tests/golden/WBV2-P5-001/`
- Status: `docs/status/WBV2-P5-001.md`
- Manifest: `tests/golden/WBV2-P5-001/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task WBV2-P5-001 --write`
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.

37
docs/tasks/WBV2-P5-002.md Normal file
View File

@@ -0,0 +1,37 @@
# WBV2-P5-002: MEDIA.BOUNDED_WORKFLOW LOCAL_EXACT slice
- task: WBV2-P5-002
- parent: WBV2-P5-001
- status: in_progress
- gap: MEDIA.BOUNDED_WORKFLOW
- ownerFamily: MEDIA
- targetImplementationClass: LOCAL_BOUNDED
## 目标
Make the same minimal fixture produce observable MEDIA.BOUNDED_WORKFLOW data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
## 输入与范围
- Fixture: `tests/files/web/generated/WBV2-P5-002-MEDIA.BOUNDED_WORKFLOW.blend`
- Generator: `tools/web/generated/WBV2-P5-002.py`
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
- Checker: `tools/web/check-generated-gap.mjs`
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
## 验收
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/WBV2-P5-002.py -- tests/files/web/generated/WBV2-P5-002-MEDIA.BOUNDED_WORKFLOW.blend
npm --prefix web run test:generated-gap -- --task WBV2-P5-002
node tools/web/check-generated-gap.mjs --task WBV2-P5-002
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
## 交付与回滚
- Reports: `tests/golden/WBV2-P5-002/`
- Status: `docs/status/WBV2-P5-002.md`
- Manifest: `tests/golden/WBV2-P5-002/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task WBV2-P5-002 --write`
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.

37
docs/tasks/WBV2-P5-003.md Normal file
View File

@@ -0,0 +1,37 @@
# WBV2-P5-003: SERVER.JOB_BINDING LOCAL_EXACT slice
- task: WBV2-P5-003
- parent: WBV2-P5-002
- status: in_progress
- gap: SERVER.JOB_BINDING
- ownerFamily: SERVER
- targetImplementationClass: SERVER_EXACT
## 目标
Make the same minimal fixture produce observable SERVER.JOB_BINDING data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
## 输入与范围
- Fixture: `tests/files/web/generated/WBV2-P5-003-SERVER.JOB_BINDING.blend`
- Generator: `tools/web/generated/WBV2-P5-003.py`
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
- Checker: `tools/web/check-generated-gap.mjs`
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
## 验收
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/WBV2-P5-003.py -- tests/files/web/generated/WBV2-P5-003-SERVER.JOB_BINDING.blend
npm --prefix web run test:generated-gap -- --task WBV2-P5-003
node tools/web/check-generated-gap.mjs --task WBV2-P5-003
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
## 交付与回滚
- Reports: `tests/golden/WBV2-P5-003/`
- Status: `docs/status/WBV2-P5-003.md`
- Manifest: `tests/golden/WBV2-P5-003/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task WBV2-P5-003 --write`
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.

37
docs/tasks/WBV2-P6-001.md Normal file
View File

@@ -0,0 +1,37 @@
# WBV2-P6-001: SECURITY.SCRIPTING LOCAL_EXACT slice
- task: WBV2-P6-001
- parent: WBV2-P5-003
- status: in_progress
- gap: SECURITY.SCRIPTING
- ownerFamily: SECURITY
- targetImplementationClass: EXCLUDED
## 目标
Make the same minimal fixture produce observable SECURITY.SCRIPTING data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
## 输入与范围
- Fixture: `tests/files/web/generated/WBV2-P6-001-SECURITY.SCRIPTING.blend`
- Generator: `tools/web/generated/WBV2-P6-001.py`
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
- Checker: `tools/web/check-generated-gap.mjs`
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
## 验收
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/WBV2-P6-001.py -- tests/files/web/generated/WBV2-P6-001-SECURITY.SCRIPTING.blend
npm --prefix web run test:generated-gap -- --task WBV2-P6-001
node tools/web/check-generated-gap.mjs --task WBV2-P6-001
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
## 交付与回滚
- Reports: `tests/golden/WBV2-P6-001/`
- Status: `docs/status/WBV2-P6-001.md`
- Manifest: `tests/golden/WBV2-P6-001/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task WBV2-P6-001 --write`
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.

37
docs/tasks/WBV2-P6-002.md Normal file
View File

@@ -0,0 +1,37 @@
# WBV2-P6-002: workflow:performance_fault_and_recovery_matrix LOCAL_EXACT slice
- task: WBV2-P6-002
- parent: WBV2-P6-001
- status: in_progress
- gap: workflow:performance_fault_and_recovery_matrix
- ownerFamily: RELIABILITY
- targetImplementationClass: LOCAL_BOUNDED
## 目标
Make the same minimal fixture produce observable workflow:performance_fault_and_recovery_matrix data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
## 输入与范围
- Fixture: `tests/files/web/generated/WBV2-P6-002-workflow-performance_fault_and_recovery_matrix.blend`
- Generator: `tools/web/generated/WBV2-P6-002.py`
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
- Checker: `tools/web/check-generated-gap.mjs`
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
## 验收
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/WBV2-P6-002.py -- tests/files/web/generated/WBV2-P6-002-workflow-performance_fault_and_recovery_matrix.blend
npm --prefix web run test:generated-gap -- --task WBV2-P6-002
node tools/web/check-generated-gap.mjs --task WBV2-P6-002
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
## 交付与回滚
- Reports: `tests/golden/WBV2-P6-002/`
- Status: `docs/status/WBV2-P6-002.md`
- Manifest: `tests/golden/WBV2-P6-002/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task WBV2-P6-002 --write`
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.

37
docs/tasks/WBV2-P6-003.md Normal file
View File

@@ -0,0 +1,37 @@
# WBV2-P6-003: workflow:offline_ci_sbom_and_rollback_release LOCAL_EXACT slice
- task: WBV2-P6-003
- parent: WBV2-P6-002
- status: in_progress
- gap: workflow:offline_ci_sbom_and_rollback_release
- ownerFamily: RELEASE
- targetImplementationClass: LOCAL_BOUNDED
## 目标
Make the same minimal fixture produce observable workflow:offline_ci_sbom_and_rollback_release data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
## 输入与范围
- Fixture: `tests/files/web/generated/WBV2-P6-003-workflow-offline_ci_sbom_and_rollback_release.blend`
- Generator: `tools/web/generated/WBV2-P6-003.py`
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
- Checker: `tools/web/check-generated-gap.mjs`
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
## 验收
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/WBV2-P6-003.py -- tests/files/web/generated/WBV2-P6-003-workflow-offline_ci_sbom_and_rollback_release.blend
npm --prefix web run test:generated-gap -- --task WBV2-P6-003
node tools/web/check-generated-gap.mjs --task WBV2-P6-003
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
## 交付与回滚
- Reports: `tests/golden/WBV2-P6-003/`
- Status: `docs/status/WBV2-P6-003.md`
- Manifest: `tests/golden/WBV2-P6-003/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task WBV2-P6-003 --write`
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.

37
docs/tasks/WBV2-P7-001.md Normal file
View File

@@ -0,0 +1,37 @@
# WBV2-P7-001: workflow:cluster_full_blender_gap_inventory LOCAL_EXACT slice
- task: WBV2-P7-001
- parent: WBV2-P6-003
- status: in_progress
- gap: workflow:cluster_full_blender_gap_inventory
- ownerFamily: PARITY
- targetImplementationClass: LOCAL_BOUNDED
## 目标
Make the same minimal fixture produce observable workflow:cluster_full_blender_gap_inventory data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
## 输入与范围
- Fixture: `tests/files/web/generated/WBV2-P7-001-workflow-cluster_full_blender_gap_inventory.blend`
- Generator: `tools/web/generated/WBV2-P7-001.py`
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
- Checker: `tools/web/check-generated-gap.mjs`
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
## 验收
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/WBV2-P7-001.py -- tests/files/web/generated/WBV2-P7-001-workflow-cluster_full_blender_gap_inventory.blend
npm --prefix web run test:generated-gap -- --task WBV2-P7-001
node tools/web/check-generated-gap.mjs --task WBV2-P7-001
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
## 交付与回滚
- Reports: `tests/golden/WBV2-P7-001/`
- Status: `docs/status/WBV2-P7-001.md`
- Manifest: `tests/golden/WBV2-P7-001/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task WBV2-P7-001 --write`
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.

37
docs/tasks/WBV2-P7-002.md Normal file
View File

@@ -0,0 +1,37 @@
# WBV2-P7-002: workflow:generate_atomic_family_gap_queue LOCAL_EXACT slice
- task: WBV2-P7-002
- parent: WBV2-P7-001
- status: in_progress
- gap: workflow:generate_atomic_family_gap_queue
- ownerFamily: PROGRAM
- targetImplementationClass: LOCAL_BOUNDED
## 目标
Make the same minimal fixture produce observable workflow:generate_atomic_family_gap_queue data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
## 输入与范围
- Fixture: `tests/files/web/generated/WBV2-P7-002-workflow-generate_atomic_family_gap_queue.blend`
- Generator: `tools/web/generated/WBV2-P7-002.py`
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
- Checker: `tools/web/check-generated-gap.mjs`
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
## 验收
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/WBV2-P7-002.py -- tests/files/web/generated/WBV2-P7-002-workflow-generate_atomic_family_gap_queue.blend
npm --prefix web run test:generated-gap -- --task WBV2-P7-002
node tools/web/check-generated-gap.mjs --task WBV2-P7-002
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
## 交付与回滚
- Reports: `tests/golden/WBV2-P7-002/`
- Status: `docs/status/WBV2-P7-002.md`
- Manifest: `tests/golden/WBV2-P7-002/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task WBV2-P7-002 --write`
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.

37
docs/tasks/WBV2-P7-003.md Normal file
View File

@@ -0,0 +1,37 @@
# WBV2-P7-003: workflow:full_parity_candidate_release_gate LOCAL_EXACT slice
- task: WBV2-P7-003
- parent: WBV2-P7-002
- status: in_progress
- gap: workflow:full_parity_candidate_release_gate
- ownerFamily: RELEASE
- targetImplementationClass: LOCAL_BOUNDED
## 目标
Make the same minimal fixture produce observable workflow:full_parity_candidate_release_gate data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
## 输入与范围
- Fixture: `tests/files/web/generated/WBV2-P7-003-workflow-full_parity_candidate_release_gate.blend`
- Generator: `tools/web/generated/WBV2-P7-003.py`
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
- Checker: `tools/web/check-generated-gap.mjs`
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
## 验收
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/WBV2-P7-003.py -- tests/files/web/generated/WBV2-P7-003-workflow-full_parity_candidate_release_gate.blend
npm --prefix web run test:generated-gap -- --task WBV2-P7-003
node tools/web/check-generated-gap.mjs --task WBV2-P7-003
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
## 交付与回滚
- Reports: `tests/golden/WBV2-P7-003/`
- Status: `docs/status/WBV2-P7-003.md`
- Manifest: `tests/golden/WBV2-P7-003/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task WBV2-P7-003 --write`
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.

18
docs/tasks/WBV2-P8-000.md Normal file
View File

@@ -0,0 +1,18 @@
# WBV2-P8-000: recovery capability root
- task: WBV2-P8-000
- parent: WBV2-P7-003
- status: done
- gap: workflow:authorize_recovery_capability_root
- ownerFamily: PROGRAM
- targetImplementationClass: LOCAL_BOUNDED
## 目标
Authorize an explicit recovery epoch without changing the blocked P7 evidence.
## 验收
node tools/web/generate-wbv2-recovery-root.mjs
node tools/web/check-execution-control-plane.mjs
node tools/web/check-v2-task-index.mjs

34
docs/tasks/WBV2-P8-001.md Normal file
View File

@@ -0,0 +1,34 @@
# WBV2-P8-001: mutable inventory recovery baseline
- task: WBV2-P8-001
- parent: WBV2-P8-000
- status: in_progress
- gap: workflow:rebaseline_mutable_inventories
- ownerFamily: PROGRAM
- targetImplementationClass: LOCAL_BOUNDED
## 目标
Rebaseline the mutable WBV2 plan and npm dependency inventory without rewriting historical manifests.
## 输入与范围
- Checker: `tools/web/check-wbv2-recovery-baseline.mjs`
- Historical WBV2 inventory: `tests/golden/WBV2-P0-002/`
- Historical dependency inventory: `tests/golden/M13-05C/`
## 验收
node tools/web/check-wbv2-recovery-baseline.mjs --write
node tools/web/check-execution-control-plane.mjs
node tools/web/check-v2-task-index.mjs
node tools/web/check-task-context.mjs --task WBV2-P8-001 --write
Unexpected dependency closure drift, unsupported plan transitions, missing files, or hash failures must keep the task in_progress and must not advance nextTask.
## 交付与回滚
- Reports: `tests/golden/WBV2-P8-001/`
- Status: `docs/status/WBV2-P8-001.md`
- Manifest: `tests/golden/WBV2-P8-001/manifest.json`
- Rollback: restore the recovery root as the queue parent without changing P7 evidence.

33
docs/tasks/WBV2-P8-002.md Normal file
View File

@@ -0,0 +1,33 @@
# WBV2-P8-002: close atomic Chromium receipts
- task: WBV2-P8-002
- parent: WBV2-P8-001
- status: in_progress
- gap: workflow:close_atomic_chromium_receipts
- ownerFamily: PARITY
- targetImplementationClass: LOCAL_BOUNDED
## 目标
Produce manifest-bound Chromium receipts for all 45 family behaviors by reusing verified WBV2 desktop/WASM/save-reopen evidence and running the shared production protocol in Chromium.
## 输入与范围
- Queue: `tests/golden/WBV2-P7-002/atomic-queue-desktop-report.json`
- Existing receipts: `tests/golden/WBV2-P7-003/atomic-chromium-receipt-index.json`
- Chromium runner: `web/tests/e2e/wbv2-atomic-recovery.spec.ts`
## 验收
npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-atomic-recovery.spec.ts
node tools/web/generate-wbv2-recovery-receipts.mjs --write
node tools/web/check-task-context.mjs --task WBV2-P8-002 --write
Missing Chromium output, unsupported family mapping, source hash drift, or non-exact save/reopen must keep in_progress and must not advance nextTask.
## 交付与回滚
- Reports: `tests/golden/WBV2-P8-002/`
- Status: `docs/status/WBV2-P8-002.md`
- Manifest: `tests/golden/WBV2-P8-002/manifest.json`
- Rollback: restore P8-001 as queue parent without modifying earlier evidence.

32
docs/tasks/WBV2-P8-003.md Normal file
View File

@@ -0,0 +1,32 @@
# WBV2-P8-003: authorize M12 provenance epoch
- task: WBV2-P8-003
- parent: WBV2-P8-002
- status: in_progress
- gap: workflow:authorize_m12_provenance_epoch
- ownerFamily: PROGRAM
- targetImplementationClass: LOCAL_BOUNDED
## 目标
Preserve 22 exact M12 originals and bind 62 unavailable records to an explicit authorized recovery baseline without calling replacements restored originals.
## 输入与范围
- Drift report: `tests/golden/corrective/rehydration/M12-manifest-sha-drift.json`
- Intake: `tests/golden/corrective/rehydration/M12-provenance-intake.json`
- Generator: `tools/web/generate-m12-provenance-epoch.mjs`
## 验收
node tools/web/generate-m12-provenance-epoch.mjs --write
node tools/web/check-task-context.mjs --task WBV2-P8-003 --write
Missing replacement, malformed provenance, unsupported source, mismatched SHA, false restored-original claim, or historical evidence rewrite must keep in_progress and must not advance nextTask.
## 交付与回滚
- Reports: `tests/golden/WBV2-P8-003/`
- Status: `docs/status/WBV2-P8-003.md`
- Manifest: `tests/golden/WBV2-P8-003/manifest.json`
- Rollback: restore P8-002 as queue parent; keep the M12 drift report unchanged.

32
docs/tasks/WBV2-P8-004.md Normal file
View File

@@ -0,0 +1,32 @@
# WBV2-P8-004: recompute recovery release gate
- task: WBV2-P8-004
- parent: WBV2-P8-003
- status: in_progress
- gap: workflow:recompute_recovery_release_gate
- ownerFamily: RELEASE
- targetImplementationClass: LOCAL_BOUNDED
## 目标
Recompute the final release decision from 45 atomic Chromium receipts and the explicit M12 provenance epoch.
## 输入与范围
- Atomic receipts: `tests/golden/WBV2-P8-002/atomic-receipt-index.json`
- M12 epoch: `tests/golden/WBV2-P8-003/m12-provenance-epoch.json`
- Release gate: `tools/web/check-wbv2-recovery-release-gate.mjs`
## 验收
node tools/web/check-wbv2-recovery-release-gate.mjs --write
node tools/web/check-task-context.mjs --task WBV2-P8-004 --write
Missing receipt, provenance ambiguity, hash drift, unsupported release claim, or governance failure must keep in_progress and must not advance nextTask.
## 交付与回滚
- Reports: `tests/golden/WBV2-P8-004/`
- Status: `docs/status/WBV2-P8-004.md`
- Manifest: `tests/golden/WBV2-P8-004/manifest.json`
- Rollback: restore P8-003 as queue parent and preserve all historical evidence.