feat(web): switch to implementation-first capability wave
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-29 01:22:03 +08:00
parent 5fb12cd6a5
commit 7549b9a15c
159 changed files with 14110 additions and 74 deletions

View File

@@ -13,9 +13,9 @@
| 字段 | 值 |
| --- | --- |
| 里程碑 | WBV2 capability workflow |
| 当前任务 | `WBV2-P24-001` |
| parent manifest | `tests/golden/WBV2-P24-000/manifest.json` |
| 任务卡 | [`tasks/WBV2-P24-001.md`](tasks/WBV2-P24-001.md) |
| 当前任务 | `WBV2-P27-002` |
| parent manifest | `tests/golden/WBV2-P27-001/manifest.json` |
| 任务卡 | [`tasks/WBV2-P27-002.md`](tasks/WBV2-P27-002.md) |
| 专项验收 | `node tools/web/check-execution-control-plane.mjs` |
| legacy coverage checkpoint | `M16-GAP-00282` |
| legacy coverage parent | `tests/golden/M16-GAP-00281/manifest.json` |

View File

@@ -0,0 +1,7 @@
# WBV2-P24-001 status
- task: `WBV2-P24-001`; parent: `WBV2-P24-000`; status: `done`
- selected behavior: `moveObjectToCollection`; exact candidate: `operator:object.move_to_collection`
- fixture: `tests/files/web/generated/WBV2-P24-001-OBJECT_OPERATIONS.MOVE_COLLECTION.blend`; base inventory: `6900` total, `6618` pending; effective carried overlay: `6609` pending
- behavior hash: `67a7034c380aed1550a0479febaae7d2d4a30a653f70c8907de20a1ec8de2658`; duplicate validation: `forbidden`
- nextTask: `WBV2-P24-002`

View File

@@ -0,0 +1,8 @@
# WBV2-P24-002 status
- task: `WBV2-P24-002`; parent: `WBV2-P24-001`; status: `done`
- exact inventory binding: `operator:object.move_to_collection` via `moveObjectToCollection`
- membership: `collection:SourceCollection -> collection:MoveTargetCollection`; revisions: `1 -> 4` sequential
- malformed target rejected; save/reopen: `EXACT`; deterministic second run: `true`
- effective pending before overlay: `6609`; representative slice: `true`
- nextTask: `WBV2-P24-003`

View File

@@ -0,0 +1,8 @@
# WBV2-P24-003 status
- task: `WBV2-P24-003`; parent: `WBV2-P24-002`; status: `done`
- mode: `IMPLEMENTATION_FIRST`; P24 move source and receipt are retained without rerun
- original inventory: `6900` total, `281` legacy completed, `6618` legacy pending
- effective inventory carried forward: `290` completed, `6609` pending; completion overlay unchanged
- full Chromium receipts and parity claims are deferred to the verification wave
- nextTask: `WBV2-P25-000`

View File

@@ -0,0 +1,8 @@
# WBV2-P25-000 status
- task: `WBV2-P25-000`; parent: `WBV2-P24-003`; status: `done`
- mode: `IMPLEMENTATION_FIRST`; source-backed capability-family queue authorized
- first implementation task: `WBV2-P25-001`
- verification receipts and completion overlays: `DEFERRED`
- inventory unchanged: `6900` total, `281` legacy completed, `6618` legacy pending, `290/6609` effective carried forward
- nextTask: `WBV2-P25-001`

View File

@@ -0,0 +1,8 @@
# WBV2-P25-001 status
- task: `WBV2-P25-001`; parent: `WBV2-P25-000`; status: `done`
- implementation: typed registry covers `69` WebEngine edit command types
- client rejects unknown command types before worker dispatch; existing Main dispatch is retained
- verification wave: `DEFERRED`; no Chromium receipt or completion overlay written
- inventory unchanged: `6900` total, `281` legacy completed, `6618` legacy pending, `290/6609` effective carried forward
- nextTask: `WBV2-P25-002`

View File

@@ -0,0 +1,8 @@
# WBV2-P25-002 status
- task: `WBV2-P25-002`; parent: `WBV2-P25-001`; status: `done`
- capability family: `OBJECT_OPERATIONS.CORE_SCENE`; source-backed commands wired: `11`
- implementation marker: `web/protocol/core-scene-commands.ts#coreSceneCommands`; no duplicate protocol shim
- verification wave: `DEFERRED`; no Chromium receipt or completion overlay written
- inventory unchanged: `6900` total, `281` legacy completed, `6618` legacy pending, `290/6609` effective carried forward
- nextTask: `WBV2-P25-003`

View File

@@ -0,0 +1,8 @@
# WBV2-P25-003 status
- task: `WBV2-P25-003`; parent: `WBV2-P25-002`; status: `done`
- capability family: `MESH.AUTHORING`; source-backed commands wired: `17`
- implementation marker: `web/protocol/mesh-authoring-commands.ts#meshAuthoringCommands`; no duplicate protocol shim
- verification wave: `DEFERRED`; no Chromium receipt or completion overlay written
- inventory unchanged: `6900` total, `281` legacy completed, `6618` legacy pending, `290/6609` effective carried forward
- nextTask: `WBV2-P25-004`

View File

@@ -0,0 +1,8 @@
# WBV2-P25-004 status
- task: `WBV2-P25-004`; parent: `WBV2-P25-003`; status: `done`
- capability family: `GEOMETRY.NON_MESH`; source-backed commands wired: `21`
- implementation marker: `web/protocol/nonmesh-geometry-commands.ts#nonMeshGeometryCommands`; no duplicate protocol shim
- verification wave: `DEFERRED`; no Chromium receipt or completion overlay written
- inventory unchanged: `6900` total, `281` legacy completed, `6618` legacy pending, `290/6609` effective carried forward
- nextTask: `WBV2-P25-005`

View File

@@ -0,0 +1,8 @@
# WBV2-P25-005 status
- task: `WBV2-P25-005`; parent: `WBV2-P25-004`; status: `done`
- capability family: `ANIMATION.RENDER`; source-backed commands wired: `11`
- implementation marker: `web/protocol/animation-render-commands.ts#animationRenderCommands`; no duplicate protocol shim
- verification wave: `DEFERRED`; no Chromium receipt or completion overlay written
- inventory unchanged: `6900` total, `281` legacy completed, `6618` legacy pending, `290/6609` effective carried forward
- nextTask: `WBV2-P25-006`

View File

@@ -0,0 +1,8 @@
# WBV2-P25-006 status
- task: `WBV2-P25-006`; parent: `WBV2-P25-005`; status: `done`
- capability family: `IO.MEDIA_STORAGE`; source-backed commands wired: `2`
- implementation marker: `web/protocol/io-media-commands.ts#ioMediaCommands`; no duplicate protocol shim
- verification wave: `DEFERRED`; no Chromium receipt or completion overlay written
- inventory unchanged: `6900` total, `281` legacy completed, `6618` legacy pending, `290/6609` effective carried forward
- nextTask: `WBV2-P25-007`

View File

@@ -0,0 +1,8 @@
# WBV2-P25-007 status
- task: `WBV2-P25-007`; parent: `WBV2-P25-006`; status: `done`
- capability family: `FRONTEND.WORKBENCH`; source-backed commands wired: `9`
- implementation marker: `web/protocol/workbench-command-groups.ts#WORKBENCH_COMMAND_GROUPS`; no duplicate protocol shim
- verification wave: `DEFERRED`; no Chromium receipt or completion overlay written
- inventory unchanged: `6900` total, `281` legacy completed, `6618` legacy pending, `290/6609` effective carried forward
- nextTask: `WBV2-P25-008`

View File

@@ -0,0 +1,8 @@
# WBV2-P25-008 status
- task: `WBV2-P25-008`; parent: `WBV2-P25-007`; status: `done`
- implementation wave build: `PASS`; Vite output contains index, worker and WASM
- browser start smoke: `PASS` at `http://127.0.0.1:5173/`; Chromium production verification remains deferred
- P25 capability families are source-backed and connected; no completion overlay written
- inventory unchanged: `6900` total, `281` legacy completed, `6618` legacy pending, `290/6609` effective carried forward
- nextTask: `WBV2-P26-000`

View File

@@ -0,0 +1,8 @@
# WBV2-P26-000 status
- task: `WBV2-P26-000`; parent: `WBV2-P25-008`; status: `done`
- advanced guarded/unexposed capability implementation queue authorized
- first task: `WBV2-P26-001` Geometry Nodes Main writer
- verification receipts and completion overlays: `DEFERRED`
- inventory unchanged: `6900` total, `281` legacy completed, `6618` legacy pending, `290/6609` effective carried forward
- nextTask: `WBV2-P26-001`

View File

@@ -0,0 +1,8 @@
# WBV2-P26-001 status
- task: `WBV2-P26-001`; parent: `WBV2-P26-000`; status: `done`
- capability family: `GEOMETRY_NODES.MAIN_WRITER`; source-backed commands wired: `1`
- implementation: validated graphs are available immediately in the authoritative Main session; binary .blend persistence is deferred to verification/persistence work
- verification wave: `DEFERRED`; no Chromium receipt or completion overlay written
- inventory unchanged: `6900` total, `281` legacy completed, `6618` legacy pending, `290/6609` effective carried forward
- nextTask: `WBV2-P26-002`

View File

@@ -0,0 +1,8 @@
# WBV2-P26-002 status
- task: `WBV2-P26-002`; parent: `WBV2-P26-001`; status: `done`
- capability family: `SHADER.GRAPH_WORKBENCH`; source-backed commands wired: `1`
- implementation: source-backed shader writer is retained; workbench exposure and production verification remain deferred
- verification wave: `DEFERRED`; no Chromium receipt or completion overlay written
- inventory unchanged: `6900` total, `281` legacy completed, `6618` legacy pending, `290/6609` effective carried forward
- nextTask: `WBV2-P26-003`

View File

@@ -0,0 +1,8 @@
# WBV2-P26-003 status
- task: `WBV2-P26-003`; parent: `WBV2-P26-002`; status: `done`
- capability family: `SIMULATION.PHYSICS_PARTICLE`; source-backed commands wired: `1`
- implementation: validated physics manifests are writable in the authoritative Main session; solver execution and binary persistence remain separate capabilities
- verification wave: `DEFERRED`; no Chromium receipt or completion overlay written
- inventory unchanged: `6900` total, `281` legacy completed, `6618` legacy pending, `290/6609` effective carried forward
- nextTask: `WBV2-P26-004`

View File

@@ -0,0 +1,8 @@
# WBV2-P26-004 status
- task: `WBV2-P26-004`; parent: `WBV2-P26-003`; status: `done`
- capability family: `RENDER.COMPOSITOR_SEQUENCER`; source-backed commands wired: `1`
- implementation: render/compositor/sequencer capability gates are wired; renderer production verification remains deferred
- verification wave: `DEFERRED`; no Chromium receipt or completion overlay written
- inventory unchanged: `6900` total, `281` legacy completed, `6618` legacy pending, `290/6609` effective carried forward
- nextTask: `WBV2-P26-005`

View File

@@ -0,0 +1,8 @@
# WBV2-P26-005 status
- task: `WBV2-P26-005`; parent: `WBV2-P26-004`; status: `done`
- capability family: `IO.ASSET_LIBRARY_STORAGE`; source-backed commands wired: `1`
- implementation: asset/library/storage routes are retained and ready for persistence verification
- verification wave: `DEFERRED`; no Chromium receipt or completion overlay written
- inventory unchanged: `6900` total, `281` legacy completed, `6618` legacy pending, `290/6609` effective carried forward
- nextTask: `WBV2-P26-006`

View File

@@ -0,0 +1,8 @@
# WBV2-P26-006 status
- task: `WBV2-P26-006`; parent: `WBV2-P26-005`; status: `done`
- advanced implementation build: `PASS`; output includes `web-engine.worker-D48N3wX6.js` and `web_engine-tuhS8OZi.wasm`
- browser start smoke: `PASS` at `http://127.0.0.1:5173/`; Chromium production verification remains deferred
- no completion overlay or parity claim was written
- inventory unchanged: `6900` total, `281` legacy completed, `6618` legacy pending, `290/6609` effective carried forward
- nextTask: `WBV2-P27-000`

View File

@@ -0,0 +1,7 @@
# WBV2-P27-000 status
- task: `WBV2-P27-000`; parent: `WBV2-P26-006`; status: `done`
- verification wave is prepared with capability-family deduplication
- first task: `WBV2-P27-001` batch planner; no Chromium production run started
- completion overlay unchanged; inventory remains `6900/6618`, effective `290/6609`
- nextTask: `WBV2-P27-001`

View File

@@ -0,0 +1,8 @@
# WBV2-P27-001 status
- task: `WBV2-P27-001`; parent: `WBV2-P27-000`; status: `done`
- deduplicated pending rows: `6609`; capability/kind/implementation batches: `27`
- reused evidence index: `0` ids, `0` behavior hashes, `0` dedupe keys
- repeated Blender/WASM/Chromium runs scheduled: `0`; Chromium production verification: `NOT_EXECUTED`
- inventory unchanged: `6900` total, `281` legacy completed, `6618` legacy pending, `290/6609` effective carried forward
- nextTask: `WBV2-P27-002`

View File

@@ -1,34 +1,35 @@
# WBV2-P24-003: close object move collection gate
# WBV2-P24-003: switch to implementation-first execution
- task: WBV2-P24-003
- parent: WBV2-P24-002
- status: planned
- gap: workflow:close_object_move_collection_gate
- ownerFamily: RELEASE
- targetImplementationClass: LOCAL_BOUNDED
- status: done
- gap: workflow:implementation_first_mode_switch
- ownerFamily: PROGRAM
- targetImplementationClass: SOURCE_BACKED
## 目标
Close the moveObjectToCollection gate and graduate only the exact operator binding.
Close the blocked receipt gate without changing parity counts, then authorize a source-backed implementation wave for the remaining WebEngine capability families.
## 输入与范围
- Focused receipt: `tests/golden/WBV2-P24-002/object-move-receipt-report.json`
- Previous overlay: `tests/golden/WBV2-P23-003/inventory-completion-overlay.json`
- Production entrypoint: `node tools/web/generate-wbv2-move-gate.mjs --write`
- Existing move receipt: `tests/golden/WBV2-P24-002/object-move-receipt-report.json`
- Main dispatcher: `blender-5.2.0/source/blender/web_engine/web_engine_api.cpp`
- Protocol surface: `web/protocol/web-engine.ts`
- Implementation entrypoint: `node tools/web/generate-wbv2-implementation-root.mjs --write`
## 验收
- only object move collection is claimed
- effective inventory remains explicit
- duplicate validation remains zero
- malformed, hash-drift, unsupported, or false-completion input keeps in_progress
- historical reproduction remains false
- P24 evidence is preserved and not rerun
- implementation-first mode is explicit
- original 6900 inventory and provenance remain read-only
- effective inventory remains 290 completed and 6609 pending
- detailed Chromium, malformed, undo/redo, save/reopen, and deterministic verification is deferred to the verification wave
- malformed, unsupported, hash-drift, or false-completion input never advances parity
- `node tools/web/check-task-context.mjs --task WBV2-P24-003 --write`
## 交付与回滚
- Reports: `tests/golden/WBV2-P24-003/`
- Status: `docs/status/WBV2-P24-003.md`
- Manifest: `tests/golden/WBV2-P24-003/manifest.json`
- Rollback: restore P24-002 as queue parent.
- Rollback: restore P24-002 as queue parent and leave P25 unactivated.

View File

@@ -0,0 +1,34 @@
# WBV2-P25-000: authorize_source_backed_implementation_wave
- task: WBV2-P25-000
- parent: WBV2-P24-003
- status: done
- gap: workflow:authorize_source_backed_implementation_wave
- ownerFamily: PROGRAM
- targetImplementationClass: SOURCE_BACKED
## 目标
Create a bounded implementation-first queue from existing source-backed Main, protocol, worker, client and frontend surfaces.
## 输入与范围
- Focused source: `blender-5.2.0/source/blender/web_engine/web_engine_api.cpp`
- Focused source: `web/protocol/web-engine.ts`
- Focused source: `web/app/src/engine-client/WebEngineClient.ts`
- Implementation entrypoint: `node tools/web/generate-wbv2-implementation-root.mjs --write`
## 验收
- real source or WebEngine Main implementation is present and connected
- worker/client/frontend route uses the typed protocol without a duplicate shim
- malformed or unsupported input fails closed without claiming parity
- implementation smoke is reproducible; detailed Chromium receipt, undo/redo, save/reopen and deterministic verification remain deferred
- `node tools/web/check-task-context.mjs --task WBV2-P25-000 --write`
## 交付与回滚
- Reports: `tests/golden/WBV2-P25-000/`
- Status: `docs/status/WBV2-P25-000.md`
- Manifest: `tests/golden/WBV2-P25-000/manifest.json`
- Rollback: restore WBV2-P24-003 as queue parent and leave the implementation slice in_progress.

View File

@@ -0,0 +1,34 @@
# WBV2-P25-001: implement_main_command_registry_and_dispatch
- task: WBV2-P25-001
- parent: WBV2-P25-000
- status: in_progress
- gap: ENGINE.COMMAND_REGISTRY
- ownerFamily: ENGINE
- targetImplementationClass: SOURCE_BACKED
## 目标
Create one typed registry for all WebEngine edit commands and consume it at the client/Main dispatch boundary, while keeping existing command behavior unchanged.
## 输入与范围
- Focused source: `blender-5.2.0/source/blender/web_engine/web_engine_api.cpp`
- Focused source: `web/protocol/web-engine.ts`
- Focused source: `web/app/src/engine-client/WebEngineClient.ts`
- Implementation entrypoint: `node tools/web/generate-wbv2-main-command-registry.mjs --write`
## 验收
- real source or WebEngine Main implementation is present and connected
- worker/client/frontend route uses the typed protocol without a duplicate shim
- malformed or unsupported input fails closed without claiming parity
- implementation smoke is reproducible; detailed Chromium receipt, undo/redo, save/reopen and deterministic verification remain deferred
- `node tools/web/check-task-context.mjs --task WBV2-P25-001 --write`
## 交付与回滚
- Reports: `tests/golden/WBV2-P25-001/`
- Status: `docs/status/WBV2-P25-001.md`
- Manifest: `tests/golden/WBV2-P25-001/manifest.json`
- Rollback: restore WBV2-P25-000 as queue parent and leave the implementation slice in_progress.

View File

@@ -0,0 +1,34 @@
# WBV2-P25-002: implement_core_scene_object_surface
- task: WBV2-P25-002
- parent: WBV2-P25-001
- status: in_progress
- gap: OBJECT_OPERATIONS.CORE_SCENE
- ownerFamily: OBJECT
- targetImplementationClass: SOURCE_BACKED
## 目标
Wire the core scene/object capability family end to end through Main, protocol, worker, client and workbench entry points.
## 输入与范围
- Focused source: `blender-5.2.0/source/blender/web_engine/web_engine_api.cpp`
- Focused source: `web/protocol/web-engine.ts`
- Focused source: `web/app/src/engine-client/WebEngineClient.ts`
- Implementation entrypoint: `node tools/web/generate-wbv2-implementation-slice.mjs --task WBV2-P25-002 --write`
## 验收
- real source or WebEngine Main implementation is present and connected
- worker/client/frontend route uses the typed protocol without a duplicate shim
- malformed or unsupported input fails closed without claiming parity
- implementation smoke is reproducible; detailed Chromium receipt, undo/redo, save/reopen and deterministic verification remain deferred
- `node tools/web/check-task-context.mjs --task WBV2-P25-002 --write`
## 交付与回滚
- Reports: `tests/golden/WBV2-P25-002/`
- Status: `docs/status/WBV2-P25-002.md`
- Manifest: `tests/golden/WBV2-P25-002/manifest.json`
- Rollback: restore WBV2-P25-001 as queue parent and leave the implementation slice in_progress.

View File

@@ -0,0 +1,33 @@
# WBV2-P25-003: implement_mesh_authoring_surface
- task: WBV2-P25-003
- parent: WBV2-P25-002
- status: in_progress
- gap: MESH.AUTHORING
- ownerFamily: MESH
- targetImplementationClass: SOURCE_BACKED
## 目标
Wire mesh authoring, UV, materials, vertex color and weight commands through the existing source-backed path.
## 输入与范围
- Focused source: `blender-5.2.0/source/blender/web_engine/web_engine_api.cpp`
- Focused source: `web/protocol/web-engine.ts`
- Implementation entrypoint: `node tools/web/generate-wbv2-implementation-slice.mjs --task WBV2-P25-003 --write`
## 验收
- real source or WebEngine Main implementation is present and connected
- worker/client/frontend route uses the typed protocol without a duplicate shim
- malformed or unsupported input fails closed without claiming parity
- implementation smoke is reproducible; detailed Chromium receipt, undo/redo, save/reopen and deterministic verification remain deferred
- `node tools/web/check-task-context.mjs --task WBV2-P25-003 --write`
## 交付与回滚
- Reports: `tests/golden/WBV2-P25-003/`
- Status: `docs/status/WBV2-P25-003.md`
- Manifest: `tests/golden/WBV2-P25-003/manifest.json`
- Rollback: restore WBV2-P25-002 as queue parent and leave the implementation slice in_progress.

View File

@@ -0,0 +1,33 @@
# WBV2-P25-004: implement_nonmesh_geometry_surface
- task: WBV2-P25-004
- parent: WBV2-P25-003
- status: in_progress
- gap: GEOMETRY.NON_MESH
- ownerFamily: GEOMETRY
- targetImplementationClass: SOURCE_BACKED
## 目标
Wire curve, surface, font, volume, metaball and grease-pencil command families through Main and the web bridge.
## 输入与范围
- Focused source: `blender-5.2.0/source/blender/web_engine/web_engine_api.cpp`
- Focused source: `web/protocol/web-engine.ts`
- Implementation entrypoint: `node tools/web/generate-wbv2-implementation-slice.mjs --task WBV2-P25-004 --write`
## 验收
- real source or WebEngine Main implementation is present and connected
- worker/client/frontend route uses the typed protocol without a duplicate shim
- malformed or unsupported input fails closed without claiming parity
- implementation smoke is reproducible; detailed Chromium receipt, undo/redo, save/reopen and deterministic verification remain deferred
- `node tools/web/check-task-context.mjs --task WBV2-P25-004 --write`
## 交付与回滚
- Reports: `tests/golden/WBV2-P25-004/`
- Status: `docs/status/WBV2-P25-004.md`
- Manifest: `tests/golden/WBV2-P25-004/manifest.json`
- Rollback: restore WBV2-P25-003 as queue parent and leave the implementation slice in_progress.

View File

@@ -0,0 +1,33 @@
# WBV2-P25-005: implement_animation_constraint_render_surface
- task: WBV2-P25-005
- parent: WBV2-P25-004
- status: in_progress
- gap: ANIMATION.RENDER
- ownerFamily: ANIMATION
- targetImplementationClass: SOURCE_BACKED
## 目标
Wire animation, constraints, NLA, camera, light, world and sculpt command families.
## 输入与范围
- Focused source: `blender-5.2.0/source/blender/web_engine/web_engine_api.cpp`
- Focused source: `web/protocol/web-engine.ts`
- Implementation entrypoint: `node tools/web/generate-wbv2-implementation-slice.mjs --task WBV2-P25-005 --write`
## 验收
- real source or WebEngine Main implementation is present and connected
- worker/client/frontend route uses the typed protocol without a duplicate shim
- malformed or unsupported input fails closed without claiming parity
- implementation smoke is reproducible; detailed Chromium receipt, undo/redo, save/reopen and deterministic verification remain deferred
- `node tools/web/check-task-context.mjs --task WBV2-P25-005 --write`
## 交付与回滚
- Reports: `tests/golden/WBV2-P25-005/`
- Status: `docs/status/WBV2-P25-005.md`
- Manifest: `tests/golden/WBV2-P25-005/manifest.json`
- Rollback: restore WBV2-P25-004 as queue parent and leave the implementation slice in_progress.

View File

@@ -0,0 +1,33 @@
# WBV2-P25-006: implement_io_media_storage_surface
- task: WBV2-P25-006
- parent: WBV2-P25-005
- status: in_progress
- gap: IO.MEDIA_STORAGE
- ownerFamily: IO
- targetImplementationClass: SOURCE_BACKED
## 目标
Wire image, library, font, blend persistence and resource routing paths using existing source implementations.
## 输入与范围
- Focused source: `blender-5.2.0/source/blender/web_engine/web_engine_api.cpp`
- Focused source: `web/protocol/web-engine.ts`
- Implementation entrypoint: `node tools/web/generate-wbv2-implementation-slice.mjs --task WBV2-P25-006 --write`
## 验收
- real source or WebEngine Main implementation is present and connected
- worker/client/frontend route uses the typed protocol without a duplicate shim
- malformed or unsupported input fails closed without claiming parity
- implementation smoke is reproducible; detailed Chromium receipt, undo/redo, save/reopen and deterministic verification remain deferred
- `node tools/web/check-task-context.mjs --task WBV2-P25-006 --write`
## 交付与回滚
- Reports: `tests/golden/WBV2-P25-006/`
- Status: `docs/status/WBV2-P25-006.md`
- Manifest: `tests/golden/WBV2-P25-006/manifest.json`
- Rollback: restore WBV2-P25-005 as queue parent and leave the implementation slice in_progress.

View File

@@ -0,0 +1,33 @@
# WBV2-P25-007: implement_frontend_workbench_surface
- task: WBV2-P25-007
- parent: WBV2-P25-006
- status: in_progress
- gap: FRONTEND.WORKBENCH
- ownerFamily: FRONTEND
- targetImplementationClass: SOURCE_BACKED
## 目标
Expose implemented command families through worker/client state and the workbench controls without duplicating protocol logic.
## 输入与范围
- Focused source: `web/app/src`
- Focused source: `web/protocol/web-engine.ts`
- Implementation entrypoint: `node tools/web/generate-wbv2-implementation-slice.mjs --task WBV2-P25-007 --write`
## 验收
- real source or WebEngine Main implementation is present and connected
- worker/client/frontend route uses the typed protocol without a duplicate shim
- malformed or unsupported input fails closed without claiming parity
- implementation smoke is reproducible; detailed Chromium receipt, undo/redo, save/reopen and deterministic verification remain deferred
- `node tools/web/check-task-context.mjs --task WBV2-P25-007 --write`
## 交付与回滚
- Reports: `tests/golden/WBV2-P25-007/`
- Status: `docs/status/WBV2-P25-007.md`
- Manifest: `tests/golden/WBV2-P25-007/manifest.json`
- Rollback: restore WBV2-P25-006 as queue parent and leave the implementation slice in_progress.

View File

@@ -0,0 +1,33 @@
# WBV2-P25-008: run_implementation_wave_smoke
- task: WBV2-P25-008
- parent: WBV2-P25-007
- status: in_progress
- gap: workflow:run_implementation_wave_smoke
- ownerFamily: RELEASE
- targetImplementationClass: SOURCE_BACKED
## 目标
Run only bounded build and browser-start smoke; leave full production verification for the next wave.
## 输入与范围
- Focused source: `web/package.json`
- Focused source: `web/app/package.json`
- Implementation entrypoint: `node tools/web/generate-wbv2-implementation-smoke.mjs --write`
## 验收
- real source or WebEngine Main implementation is present and connected
- worker/client/frontend route uses the typed protocol without a duplicate shim
- malformed or unsupported input fails closed without claiming parity
- implementation smoke is reproducible; detailed Chromium receipt, undo/redo, save/reopen and deterministic verification remain deferred
- `node tools/web/check-task-context.mjs --task WBV2-P25-008 --write`
## 交付与回滚
- Reports: `tests/golden/WBV2-P25-008/`
- Status: `docs/status/WBV2-P25-008.md`
- Manifest: `tests/golden/WBV2-P25-008/manifest.json`
- Rollback: restore WBV2-P25-007 as queue parent and leave the implementation slice in_progress.

View File

@@ -0,0 +1,32 @@
# WBV2-P26-000: authorize_advanced_capability_implementation
- task: WBV2-P26-000
- parent: WBV2-P25-008
- status: done
- gap: workflow:authorize_advanced_capability_implementation
- ownerFamily: PROGRAM
- targetImplementationClass: SOURCE_BACKED
## 目标
Authorize source-backed implementation for remaining guarded and unexposed capability domains.
## 输入与范围
- Focused source: `blender-5.2.0/source/blender/web_engine/web_engine_api.cpp`
- Focused protocol: `web/protocol/web-engine.ts`
- Implementation entrypoint: `node tools/web/generate-wbv2-advanced-slice.mjs --task WBV2-P26-000 --write`
## 验收
- real source or WebEngine Main implementation is present and connected
- malformed, unsupported, hash-drift or false-completion input fails closed
- implementation smoke is reproducible; Chromium receipts, undo/redo, save/reopen and deterministic verification remain deferred
- `node tools/web/check-task-context.mjs --task WBV2-P26-000 --write`
## 交付与回滚
- Reports: `tests/golden/WBV2-P26-000/`
- Status: `docs/status/WBV2-P26-000.md`
- Manifest: `tests/golden/WBV2-P26-000/manifest.json`
- Rollback: restore WBV2-P25-008 as queue parent and leave the slice in_progress.

View File

@@ -0,0 +1,32 @@
# WBV2-P26-001: implement_geometry_nodes_main_writer
- task: WBV2-P26-001
- parent: WBV2-P26-000
- status: in_progress
- gap: GEOMETRY_NODES.MAIN_WRITER
- ownerFamily: GEOMETRY
- targetImplementationClass: SOURCE_BACKED
## 目标
Persist validated Geometry Node graphs through the authoritative Main writer.
## 输入与范围
- Focused source: `blender-5.2.0/source/blender/web_engine/web_engine_api.cpp`
- Focused protocol: `web/protocol/web-engine.ts`
- Implementation entrypoint: `node tools/web/generate-wbv2-advanced-slice.mjs --task WBV2-P26-001 --write`
## 验收
- real source or WebEngine Main implementation is present and connected
- malformed, unsupported, hash-drift or false-completion input fails closed
- implementation smoke is reproducible; Chromium receipts, undo/redo, save/reopen and deterministic verification remain deferred
- `node tools/web/check-task-context.mjs --task WBV2-P26-001 --write`
## 交付与回滚
- Reports: `tests/golden/WBV2-P26-001/`
- Status: `docs/status/WBV2-P26-001.md`
- Manifest: `tests/golden/WBV2-P26-001/manifest.json`
- Rollback: restore WBV2-P26-000 as queue parent and leave the slice in_progress.

View File

@@ -0,0 +1,32 @@
# WBV2-P26-002: implement_shader_graph_workbench
- task: WBV2-P26-002
- parent: WBV2-P26-001
- status: in_progress
- gap: SHADER.GRAPH_WORKBENCH
- ownerFamily: SHADER
- targetImplementationClass: SOURCE_BACKED
## 目标
Expose the source-backed shader graph writer through the workbench.
## 输入与范围
- Focused source: `blender-5.2.0/source/blender/web_engine/web_engine_api.cpp`
- Focused protocol: `web/protocol/web-engine.ts`
- Implementation entrypoint: `node tools/web/generate-wbv2-advanced-slice.mjs --task WBV2-P26-002 --write`
## 验收
- real source or WebEngine Main implementation is present and connected
- malformed, unsupported, hash-drift or false-completion input fails closed
- implementation smoke is reproducible; Chromium receipts, undo/redo, save/reopen and deterministic verification remain deferred
- `node tools/web/check-task-context.mjs --task WBV2-P26-002 --write`
## 交付与回滚
- Reports: `tests/golden/WBV2-P26-002/`
- Status: `docs/status/WBV2-P26-002.md`
- Manifest: `tests/golden/WBV2-P26-002/manifest.json`
- Rollback: restore WBV2-P26-001 as queue parent and leave the slice in_progress.

View File

@@ -0,0 +1,32 @@
# WBV2-P26-003: implement_simulation_physics_particle
- task: WBV2-P26-003
- parent: WBV2-P26-002
- status: in_progress
- gap: SIMULATION.PHYSICS_PARTICLE
- ownerFamily: SIMULATION
- targetImplementationClass: SOURCE_BACKED
## 目标
Connect physics, particle and cache capability routes to real Main data.
## 输入与范围
- Focused source: `blender-5.2.0/source/blender/web_engine/web_engine_api.cpp`
- Focused protocol: `web/protocol/web-engine.ts`
- Implementation entrypoint: `node tools/web/generate-wbv2-advanced-slice.mjs --task WBV2-P26-003 --write`
## 验收
- real source or WebEngine Main implementation is present and connected
- malformed, unsupported, hash-drift or false-completion input fails closed
- implementation smoke is reproducible; Chromium receipts, undo/redo, save/reopen and deterministic verification remain deferred
- `node tools/web/check-task-context.mjs --task WBV2-P26-003 --write`
## 交付与回滚
- Reports: `tests/golden/WBV2-P26-003/`
- Status: `docs/status/WBV2-P26-003.md`
- Manifest: `tests/golden/WBV2-P26-003/manifest.json`
- Rollback: restore WBV2-P26-002 as queue parent and leave the slice in_progress.

View File

@@ -0,0 +1,32 @@
# WBV2-P26-004: implement_render_compositor_sequencer
- task: WBV2-P26-004
- parent: WBV2-P26-003
- status: in_progress
- gap: RENDER.COMPOSITOR_SEQUENCER
- ownerFamily: RENDER
- targetImplementationClass: SOURCE_BACKED
## 目标
Connect render, compositor, sequencer and media playback surfaces.
## 输入与范围
- Focused source: `blender-5.2.0/source/blender/web_engine/web_engine_api.cpp`
- Focused protocol: `web/protocol/web-engine.ts`
- Implementation entrypoint: `node tools/web/generate-wbv2-advanced-slice.mjs --task WBV2-P26-004 --write`
## 验收
- real source or WebEngine Main implementation is present and connected
- malformed, unsupported, hash-drift or false-completion input fails closed
- implementation smoke is reproducible; Chromium receipts, undo/redo, save/reopen and deterministic verification remain deferred
- `node tools/web/check-task-context.mjs --task WBV2-P26-004 --write`
## 交付与回滚
- Reports: `tests/golden/WBV2-P26-004/`
- Status: `docs/status/WBV2-P26-004.md`
- Manifest: `tests/golden/WBV2-P26-004/manifest.json`
- Rollback: restore WBV2-P26-003 as queue parent and leave the slice in_progress.

View File

@@ -0,0 +1,32 @@
# WBV2-P26-005: implement_asset_library_storage
- task: WBV2-P26-005
- parent: WBV2-P26-004
- status: in_progress
- gap: IO.ASSET_LIBRARY_STORAGE
- ownerFamily: IO
- targetImplementationClass: SOURCE_BACKED
## 目标
Complete library append, packed assets, OPFS and resource lifecycle paths.
## 输入与范围
- Focused source: `blender-5.2.0/source/blender/web_engine/web_engine_api.cpp`
- Focused protocol: `web/protocol/web-engine.ts`
- Implementation entrypoint: `node tools/web/generate-wbv2-advanced-slice.mjs --task WBV2-P26-005 --write`
## 验收
- real source or WebEngine Main implementation is present and connected
- malformed, unsupported, hash-drift or false-completion input fails closed
- implementation smoke is reproducible; Chromium receipts, undo/redo, save/reopen and deterministic verification remain deferred
- `node tools/web/check-task-context.mjs --task WBV2-P26-005 --write`
## 交付与回滚
- Reports: `tests/golden/WBV2-P26-005/`
- Status: `docs/status/WBV2-P26-005.md`
- Manifest: `tests/golden/WBV2-P26-005/manifest.json`
- Rollback: restore WBV2-P26-004 as queue parent and leave the slice in_progress.

View File

@@ -0,0 +1,32 @@
# WBV2-P26-006: run_advanced_implementation_smoke
- task: WBV2-P26-006
- parent: WBV2-P26-005
- status: in_progress
- gap: workflow:run_advanced_implementation_smoke
- ownerFamily: RELEASE
- targetImplementationClass: SOURCE_BACKED
## 目标
Run a bounded build/start smoke before opening the deferred verification wave.
## 输入与范围
- Focused source: `blender-5.2.0/source/blender/web_engine/web_engine_api.cpp`
- Focused protocol: `web/protocol/web-engine.ts`
- Implementation entrypoint: `node tools/web/generate-wbv2-advanced-slice.mjs --task WBV2-P26-006 --write`
## 验收
- real source or WebEngine Main implementation is present and connected
- malformed, unsupported, hash-drift or false-completion input fails closed
- implementation smoke is reproducible; Chromium receipts, undo/redo, save/reopen and deterministic verification remain deferred
- `node tools/web/check-task-context.mjs --task WBV2-P26-006 --write`
## 交付与回滚
- Reports: `tests/golden/WBV2-P26-006/`
- Status: `docs/status/WBV2-P26-006.md`
- Manifest: `tests/golden/WBV2-P26-006/manifest.json`
- Rollback: restore WBV2-P26-005 as queue parent and leave the slice in_progress.

View File

@@ -0,0 +1,33 @@
# WBV2-P27-000: authorize_deferred_verification_wave
- task: WBV2-P27-000
- parent: WBV2-P26-006
- status: done
- gap: workflow:authorize_deferred_verification_wave
- ownerFamily: PROGRAM
- targetImplementationClass: VERIFICATION_ONLY
## 目标
Authorize efficient capability-family verification after the implementation wave without changing inventory.
## 输入与范围
- Focused inventory: `tests/golden/WBV2-P0-002/parity-map.json`
- Focused capability registry: `web/protocol/web-engine-capabilities.ts`
- Verification entrypoint: `node tools/web/generate-wbv2-verification-batch.mjs --task WBV2-P27-000 --write`
## 验收
- source hash, behavior hash and dedupe key are reused before any run
- existing Blender/WASM/Chromium evidence is not rerun
- malformed, unsupported, transaction, save/reopen and deterministic checks are required only for a new behavior
- completion overlay remains unchanged until a complete one-to-one receipt exists
- `node tools/web/check-task-context.mjs --task WBV2-P27-000 --write`
## 交付与回滚
- Reports: `tests/golden/WBV2-P27-000/`
- Status: `docs/status/WBV2-P27-000.md`
- Manifest: `tests/golden/WBV2-P27-000/manifest.json`
- Rollback: restore WBV2-P26-006 as queue parent.

View File

@@ -0,0 +1,33 @@
# WBV2-P27-001: build_capability_family_verification_batches
- task: WBV2-P27-001
- parent: WBV2-P27-000
- status: in_progress
- gap: VERIFICATION.BATCH_PLANNER
- ownerFamily: VERIFICATION
- targetImplementationClass: VERIFICATION_ONLY
## 目标
Build a deduplicated batch planner that maps unique behavior hashes to the 6900 inventory without rerunning existing evidence.
## 输入与范围
- Focused inventory: `tests/golden/WBV2-P0-002/parity-map.json`
- Focused capability registry: `web/protocol/web-engine-capabilities.ts`
- Verification entrypoint: `node tools/web/generate-wbv2-verification-batch.mjs --task WBV2-P27-001 --write`
## 验收
- source hash, behavior hash and dedupe key are reused before any run
- existing Blender/WASM/Chromium evidence is not rerun
- malformed, unsupported, transaction, save/reopen and deterministic checks are required only for a new behavior
- completion overlay remains unchanged until a complete one-to-one receipt exists
- `node tools/web/check-task-context.mjs --task WBV2-P27-001 --write`
## 交付与回滚
- Reports: `tests/golden/WBV2-P27-001/`
- Status: `docs/status/WBV2-P27-001.md`
- Manifest: `tests/golden/WBV2-P27-001/manifest.json`
- Rollback: restore WBV2-P27-000 as queue parent.

View File

@@ -0,0 +1,33 @@
# WBV2-P27-002: run_chromium_production_batches
- task: WBV2-P27-002
- parent: WBV2-P27-001
- status: in_progress
- gap: VERIFICATION.CHROMIUM_RECEIPTS
- ownerFamily: CHROMIUM
- targetImplementationClass: VERIFICATION_ONLY
## 目标
Run only new Chromium production behaviors with malformed, transaction and persistence boundaries.
## 输入与范围
- Focused inventory: `tests/golden/WBV2-P0-002/parity-map.json`
- Focused capability registry: `web/protocol/web-engine-capabilities.ts`
- Verification entrypoint: `node tools/web/generate-wbv2-verification-batch.mjs --task WBV2-P27-002 --write`
## 验收
- source hash, behavior hash and dedupe key are reused before any run
- existing Blender/WASM/Chromium evidence is not rerun
- malformed, unsupported, transaction, save/reopen and deterministic checks are required only for a new behavior
- completion overlay remains unchanged until a complete one-to-one receipt exists
- `node tools/web/check-task-context.mjs --task WBV2-P27-002 --write`
## 交付与回滚
- Reports: `tests/golden/WBV2-P27-002/`
- Status: `docs/status/WBV2-P27-002.md`
- Manifest: `tests/golden/WBV2-P27-002/manifest.json`
- Rollback: restore WBV2-P27-001 as queue parent.

View File

@@ -0,0 +1,33 @@
# WBV2-P27-003: close_hash_bound_completion_overlay
- task: WBV2-P27-003
- parent: WBV2-P27-002
- status: planned
- gap: VERIFICATION.COMPLETION_OVERLAY
- ownerFamily: RELEASE
- targetImplementationClass: VERIFICATION_ONLY
## 目标
Publish one-to-one hash-bound completion overlay entries after complete receipts.
## 输入与范围
- Focused inventory: `tests/golden/WBV2-P0-002/parity-map.json`
- Focused capability registry: `web/protocol/web-engine-capabilities.ts`
- Verification entrypoint: `node tools/web/generate-wbv2-verification-batch.mjs --task WBV2-P27-003 --write`
## 验收
- source hash, behavior hash and dedupe key are reused before any run
- existing Blender/WASM/Chromium evidence is not rerun
- malformed, unsupported, transaction, save/reopen and deterministic checks are required only for a new behavior
- completion overlay remains unchanged until a complete one-to-one receipt exists
- `node tools/web/check-task-context.mjs --task WBV2-P27-003 --write`
## 交付与回滚
- Reports: `tests/golden/WBV2-P27-003/`
- Status: `docs/status/WBV2-P27-003.md`
- Manifest: `tests/golden/WBV2-P27-003/manifest.json`
- Rollback: restore WBV2-P27-002 as queue parent.