Advance deduplicated collection creation coverage
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-28 15:16:11 +08:00
parent c21813334d
commit ec46223aba
40 changed files with 2124 additions and 20 deletions

View File

@@ -13,9 +13,9 @@
| 字段 | 值 |
| --- | --- |
| 里程碑 | WBV2 capability workflow |
| 当前任务 | `WBV2-P19-003` |
| parent manifest | `tests/golden/WBV2-P19-002/manifest.json` |
| 任务卡 | [`tasks/WBV2-P19-003.md`](tasks/WBV2-P19-003.md) |
| 当前任务 | `WBV2-P20-003` |
| parent manifest | `tests/golden/WBV2-P20-002/manifest.json` |
| 任务卡 | [`tasks/WBV2-P20-003.md`](tasks/WBV2-P20-003.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

@@ -7,3 +7,6 @@
- repeated Blender/Chromium validation: `0`; unique behavior batches: Paint, Duplicate, Create, Parent
- provenance epoch: `2`; release: `AUTHORIZED_REBASELINE_ONLY`; fullHistoricalReproduction: `false`
- nextTask: `NONE`
- authorized continuation: `WBV2-P20-000`
Collection Add may continue under a new root without changing the P19 overlay.

View File

@@ -0,0 +1,7 @@
# WBV2-P20-000 status
- task: `WBV2-P20-000`; parent: `WBV2-P19-003`; status: `done`
- candidate: `OBJECT_OPERATIONS.COLLECTION_CREATE`; source API is present
- effective inventory carried forward: `286` completed, `6613` pending
- duplicate validation: `forbidden`; representative slice only
- nextTask: `WBV2-P20-001`

View File

@@ -0,0 +1,7 @@
# WBV2-P20-001 status
- task: `WBV2-P20-001`; parent: `WBV2-P20-000`; status: `done`
- selected behavior: `createCollection`; exact candidate: `operator:object.collection_add`
- base inventory: `6900` total, `6618` pending; effective carried overlay: `6613` pending
- behavior hash: `c02606bfd07e72c848be849cd65e743824ea496e465c303e043f21fd7bcf4ef4`; duplicate validation: `forbidden`
- nextTask: `WBV2-P20-002`

View File

@@ -0,0 +1,8 @@
# WBV2-P20-002 status
- task: `WBV2-P20-002`; parent: `WBV2-P20-001`; status: `done`
- exact inventory binding: `operator:object.collection_add` via `createCollection`
- collections: `2 -> 3`; revisions: `1 -> 4` sequential
- malformed collection rejected; save/reopen: `EXACT`; deterministic second run: `true`
- effective pending before overlay: `6613`; representative slice: `true`
- nextTask: `WBV2-P20-003`

View File

@@ -0,0 +1,9 @@
# WBV2-P20-003 status
- task: `WBV2-P20-003`; parent: `WBV2-P20-002`; status: `done`
- new feature claim: `OBJECT_OPERATIONS.COLLECTION_CREATE`; exact binding: `operator:object.collection_add`
- base inventory: `6900` total, `281` completed, `6618` pending
- cumulative overlay: `287` effective completed, `6612` effective pending, claimed complete overlay: `6`
- repeated Blender/Chromium validation: `0`; unique behavior batches: Paint, Duplicate, Create, Parent, Collection
- provenance epoch: `2`; release: `AUTHORIZED_REBASELINE_ONLY`; fullHistoricalReproduction: `false`
- nextTask: `NONE`

View File

@@ -0,0 +1,23 @@
# WBV2-P20-000: collection create continuation root
- task: WBV2-P20-000
- parent: WBV2-P19-003
- status: done
- gap: workflow:authorize_collection_create_continuation
- ownerFamily: PROGRAM
- targetImplementationClass: LOCAL_BOUNDED
## 目标
Authorize one source-backed Collection Add behavior after the P19 parent overlay.
## 验收
- `node tools/web/generate-wbv2-collection-root.mjs`
- `node tools/web/check-execution-control-plane.mjs`
## 交付与回滚
- Reports: `tests/golden/WBV2-P20-000/`
- Manifest: `tests/golden/WBV2-P20-000/manifest.json`
- Rollback: restore P19-003 as queue parent.

View File

@@ -0,0 +1,34 @@
# WBV2-P20-001: select_collection_create_batch
- task: WBV2-P20-001
- parent: WBV2-P20-000
- status: in_progress
- gap: capability:OBJECT_OPERATIONS.COLLECTION_CREATE
- ownerFamily: PARITY
- targetImplementationClass: LOCAL_BOUNDED
## 目标
Select createCollection as one unique Object Operations behavior.
## 输入与范围
- Focused source: `blender-5.2.0/source/blender/web_engine/web_engine_api.cpp`
- Existing client: `web/app/src/engine-client/WebEngineClient.ts`
- Inventory: `tests/golden/WBV2-P0-002/parity-map.json`
- Production entrypoint: `node tools/web/generate-wbv2-collection-selection.mjs --write`
## 验收
- source command is hash-bound
- parent/create/duplicate evidence is not rerun
- one legacy operator binding is selected
- malformed, hash-drift, unsupported, or false-completion input keeps in_progress
- `node tools/web/check-task-context.mjs --task WBV2-P20-001 --write`
## 交付与回滚
- Reports: `tests/golden/WBV2-P20-001/`
- Status: `docs/status/WBV2-P20-001.md`
- Manifest: `tests/golden/WBV2-P20-001/manifest.json`
- Rollback: restore P20-000 as queue parent.

View File

@@ -0,0 +1,34 @@
# WBV2-P20-002: collection create engine receipt
- task: WBV2-P20-002
- parent: WBV2-P20-001
- status: in_progress
- gap: capability:OBJECT_OPERATIONS.COLLECTION_CREATE
- ownerFamily: OBJECT
- targetImplementationClass: LOCAL_EXACT
## 目标
Bind createCollection, undo/redo, malformed rejection, and exact save/reopen to compiled WASM Main in Chromium.
## 输入与范围
- Focused source: `tests/golden/WBV2-P20-001/collection-selection-report.json`
- Production test: `web/tests/e2e/wbv2-collection-create-production.spec.ts`
- Production entrypoint: `npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-collection-create-production.spec.ts`
## 验收
- collection is created
- undo/redo revisions are sequential
- malformed collection fails closed without Main mutation
- save/reopen is exact and deterministic
- Chromium is the only browser
- `node tools/web/check-task-context.mjs --task WBV2-P20-002 --write`
## 交付与回滚
- Reports: `tests/golden/WBV2-P20-002/`
- Status: `docs/status/WBV2-P20-002.md`
- Manifest: `tests/golden/WBV2-P20-002/manifest.json`
- Rollback: restore P20-001 as queue parent.

View File

@@ -0,0 +1,34 @@
# WBV2-P20-003: close collection create gate
- task: WBV2-P20-003
- parent: WBV2-P20-002
- status: in_progress
- gap: workflow:close_collection_create_gate
- ownerFamily: RELEASE
- targetImplementationClass: LOCAL_BOUNDED
## 目标
Close the createCollection gate and graduate only the exact operator binding.
## 输入与范围
- Focused receipt: `tests/golden/WBV2-P20-002/collection-create-receipt-report.json`
- Previous overlay: `tests/golden/WBV2-P19-003/inventory-completion-overlay.json`
- Production entrypoint: `node tools/web/generate-wbv2-collection-gate.mjs --write`
## 验收
- only collection add 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
- `node tools/web/check-task-context.mjs --task WBV2-P20-003 --write`
## 交付与回滚
- Reports: `tests/golden/WBV2-P20-003/`
- Status: `docs/status/WBV2-P20-003.md`
- Manifest: `tests/golden/WBV2-P20-003/manifest.json`
- Rollback: restore P20-002 as queue parent.