From 56a0b295f5596b133c1ac0f78b9c90113caf5b70 Mon Sep 17 00:00:00 2001 From: mes123456 Date: Fri, 4 Sep 2026 08:02:53 +0800 Subject: [PATCH] chore(web): continuous handoff WBV2-P1218-001 --- docs/EXECUTION_QUEUE.md | 6 +- docs/status/WBV2-P1218-001.md | 9 + docs/tasks/WBV2-P1218-001.md | 48 + .../wbv2-geometry-34abb58eedf43c5f.blend | Bin 0 -> 97982 bytes tests/golden/WBV2-P1218-000/manifest.json | 50 + .../WBV2-P1218-000/module-execution-plan.json | 18934 ++++++++++++++++ .../geometry-node-reader-production.json | 43 + tests/golden/WBV2-P1218-001/manifest.json | 116 + .../golden/WBV2-P1218-001/module-receipt.json | 154 + tests/golden/WBV2-P1218-001/module-run.log | 49 + tests/golden/WBV2-P1218-001/task-context.json | 217 + tests/golden/WBV2/task-catalog.jsonl | 2 + tests/golden/WBV2/task-index.json | 2 +- 13 files changed, 19626 insertions(+), 4 deletions(-) create mode 100644 docs/status/WBV2-P1218-001.md create mode 100644 docs/tasks/WBV2-P1218-001.md create mode 100644 tests/files/web/generated/wbv2-geometry-34abb58eedf43c5f.blend create mode 100644 tests/golden/WBV2-P1218-000/manifest.json create mode 100644 tests/golden/WBV2-P1218-000/module-execution-plan.json create mode 100644 tests/golden/WBV2-P1218-001/geometry-node-reader-production.json create mode 100644 tests/golden/WBV2-P1218-001/manifest.json create mode 100644 tests/golden/WBV2-P1218-001/module-receipt.json create mode 100644 tests/golden/WBV2-P1218-001/module-run.log create mode 100644 tests/golden/WBV2-P1218-001/task-context.json diff --git a/docs/EXECUTION_QUEUE.md b/docs/EXECUTION_QUEUE.md index 0c5000054..6d71afa90 100644 --- a/docs/EXECUTION_QUEUE.md +++ b/docs/EXECUTION_QUEUE.md @@ -15,9 +15,9 @@ | 字段 | 值 | | --- | --- | | 里程碑 | WBV2 capability workflow | -| 当前任务 | `WBV2-P1217-001` | -| parent manifest | `tests/golden/WBV2-P1217-000/manifest.json` | -| 任务卡 | [`tasks/WBV2-P1217-001.md`](tasks/WBV2-P1217-001.md) | +| 当前任务 | `WBV2-P1218-001` | +| parent manifest | `tests/golden/WBV2-P1218-000/manifest.json` | +| 任务卡 | [`tasks/WBV2-P1218-001.md`](tasks/WBV2-P1218-001.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` | diff --git a/docs/status/WBV2-P1218-001.md b/docs/status/WBV2-P1218-001.md new file mode 100644 index 000000000..e0515f195 --- /dev/null +++ b/docs/status/WBV2-P1218-001.md @@ -0,0 +1,9 @@ +# WBV2-P1218-001 status + +- task: `WBV2-P1218-001`; module: `AUTO_GEOMETRY_NATIVE_NODE_READER`; status: `done` +- source hashes stable: `true`; commands passed: `4` +- existing production evidence reused: `false`; skipped commands: `0` +- positive Main mutation, negative no-mutation, recovery and Chromium gates are recorded in the module receipt +- dynamic source inventory: `3745` units; verified `768`; unverified `2977`; planning estimate `5200` (non-binding); this-segment binding delta: `5` +- historical 6900-entry inventory remains read-only; full-family parity: `false` +- nextTask: `NONE` diff --git a/docs/tasks/WBV2-P1218-001.md b/docs/tasks/WBV2-P1218-001.md new file mode 100644 index 000000000..ac8d1ef29 --- /dev/null +++ b/docs/tasks/WBV2-P1218-001.md @@ -0,0 +1,48 @@ +# WBV2-P1218-001: verify auto-generated native geometry node reader batch + +- task: WBV2-P1218-001 +- parent: WBV2-P1218-000 +- status: in_progress +- gap: capability:AUTO_GEOMETRY_NATIVE_NODE_READER +- ownerFamily: NODES +- targetImplementationClass: LOCAL_EXACT +- batchId: WBV2-P1218-001:AUTO_GEOMETRY_NATIVE_NODE_READER:34abb58eedf43c5f +- selectedRecordIds: ["node:FunctionNodeTransformPoint","node:FunctionNodeTransposeMatrix","node:FunctionNodeTrimString","node:FunctionNodeValueToString","node:GeometryNodeInputObject"] +- commandBudget: max=48; read/exploration max=16 +- Implementation entrypoint: `node tools/web/run-wbv2-module-task.mjs --task WBV2-P1218-001 --write` + +## 目标 + +以一个共享 Blender Main reader、WASM build、Worker 路由和 Chromium receipt 批量验证 FunctionNodeTransformPoint, FunctionNodeTransposeMatrix, FunctionNodeTrimString, FunctionNodeValueToString, GeometryNodeInputObject 的真实 modifier/RNA 元数据。 + +## 输入与范围 + +- Blender modifier sources: `blender-5.2.0/source/blender/modifiers/intern/` +- RNA source: `blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc` +- Native reader: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Fixtures: `tests/files/web/generated/wbv2-geometry-34abb58eedf43c5f.blend` +- Chromium test: `web/tests/e2e/geometry-node-main-reader.spec.ts` +- Selected modifier units: `modifier-source:FunctionNodeTransformPoint`, `modifier-source:FunctionNodeTransposeMatrix`, `modifier-source:FunctionNodeTrimString`, `modifier-source:FunctionNodeValueToString`, `modifier-source:GeometryNodeInputObject` +- Selected RNA units: none (source-only dependency batch) + +## 验收 + +- one shared Main/WASM/Worker/Chromium chain observes every selected type +- malformed input is rejected without Main mutation +- save/reopen and deterministic second read are exact +- only Chromium is used; JS simulation and per-API duplicate workers are forbidden +- each selected source unit receives an explicit hash-bound coverage binding +- `node tools/web/check-task-context.mjs --task WBV2-P1218-001 --write` + +## 失败边界 + +- any missing source, unsupported type, hash drift, malformed data or non-exact recovery keeps the batch `in_progress`/`blocked` +- partial batch success never claims the omitted family; historical inventory remains read-only + +## 交付与回滚 + +- Receipt: `tests/golden/WBV2-P1218-001/module-receipt.json` +- Aggregate production evidence: `tests/golden/WBV2-P1218-001/modifier-reader-batch-production.json` +- Manifest: `tests/golden/WBV2-P1218-001/manifest.json` +- Status: `docs/status/WBV2-P1218-001.md` +- Rollback: restore WBV2-P1218-000 as queue parent without rewriting prior evidence. diff --git a/tests/files/web/generated/wbv2-geometry-34abb58eedf43c5f.blend b/tests/files/web/generated/wbv2-geometry-34abb58eedf43c5f.blend new file mode 100644 index 0000000000000000000000000000000000000000..08c004ce0dbbf3bc2b328516e45ac21678f78d35 GIT binary patch literal 97982 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