Reorganize Blender Web execution around capabilities
This commit is contained in:
37
docs/tasks/M16-GAP-00277.md
Normal file
37
docs/tasks/M16-GAP-00277.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00277: operator:asset.library_refresh LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00277
|
||||
- parent: M16-GAP-00276
|
||||
- status: in_progress
|
||||
- gap: operator:asset.library_refresh
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:asset.library_refresh 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/M16-GAP-00277-operator-asset.library_refresh.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00277.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/M16-GAP-00277.py -- tests/files/web/generated/M16-GAP-00277-operator-asset.library_refresh.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00277
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00277
|
||||
|
||||
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/M16-GAP-00277/`
|
||||
- Status: `docs/status/M16-GAP-00277.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00277/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00277 --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/M16-GAP-00278.md
Normal file
37
docs/tasks/M16-GAP-00278.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00278: operator:asset.library_reload_listing LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00278
|
||||
- parent: M16-GAP-00277
|
||||
- status: in_progress
|
||||
- gap: operator:asset.library_reload_listing
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:asset.library_reload_listing 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/M16-GAP-00278-operator-asset.library_reload_listing.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00278.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/M16-GAP-00278.py -- tests/files/web/generated/M16-GAP-00278-operator-asset.library_reload_listing.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00278
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00278
|
||||
|
||||
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/M16-GAP-00278/`
|
||||
- Status: `docs/status/M16-GAP-00278.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00278/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00278 --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/M16-GAP-00279.md
Normal file
37
docs/tasks/M16-GAP-00279.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00279: operator:asset.mark LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00279
|
||||
- parent: M16-GAP-00278
|
||||
- status: in_progress
|
||||
- gap: operator:asset.mark
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:asset.mark 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/M16-GAP-00279-operator-asset.mark.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00279.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/M16-GAP-00279.py -- tests/files/web/generated/M16-GAP-00279-operator-asset.mark.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00279
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00279
|
||||
|
||||
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/M16-GAP-00279/`
|
||||
- Status: `docs/status/M16-GAP-00279.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00279/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00279 --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/M16-GAP-00280.md
Normal file
37
docs/tasks/M16-GAP-00280.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00280: operator:asset.mark_single LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00280
|
||||
- parent: M16-GAP-00279
|
||||
- status: in_progress
|
||||
- gap: operator:asset.mark_single
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:asset.mark_single 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/M16-GAP-00280-operator-asset.mark_single.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00280.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/M16-GAP-00280.py -- tests/files/web/generated/M16-GAP-00280-operator-asset.mark_single.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00280
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00280
|
||||
|
||||
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/M16-GAP-00280/`
|
||||
- Status: `docs/status/M16-GAP-00280.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00280/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00280 --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/M16-GAP-00281.md
Normal file
37
docs/tasks/M16-GAP-00281.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00281: operator:asset.open_containing_blend_file LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00281
|
||||
- parent: M16-GAP-00280
|
||||
- status: in_progress
|
||||
- gap: operator:asset.open_containing_blend_file
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:asset.open_containing_blend_file 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/M16-GAP-00281-operator-asset.open_containing_blend_file.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00281.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/M16-GAP-00281.py -- tests/files/web/generated/M16-GAP-00281-operator-asset.open_containing_blend_file.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00281
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00281
|
||||
|
||||
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/M16-GAP-00281/`
|
||||
- Status: `docs/status/M16-GAP-00281.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00281/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00281 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
47
docs/tasks/WBV2-P0-001.md
Normal file
47
docs/tasks/WBV2-P0-001.md
Normal file
@@ -0,0 +1,47 @@
|
||||
# WBV2-P0-001: reconcile scope and checkpoints
|
||||
|
||||
- task: WBV2-P0-001
|
||||
- parent: WBV2-BASELINE
|
||||
- status: in_progress
|
||||
- gap: workflow:execution-control-plane
|
||||
- ownerFamily: PROGRAM
|
||||
- targetImplementationClass: LOCAL_BOUNDED
|
||||
|
||||
## 目标
|
||||
|
||||
冻结 V1 与 Blender 5.2 full-parity 的业务边界,建立 capability production lane
|
||||
和 legacy coverage lane,并证明 V2 指针、legacy checkpoint 与 corrective handoff
|
||||
没有互相覆盖。
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- `docs/BLENDER_WEB_PARITY_EXECUTION_PLAN_V2.md`
|
||||
- `docs/BLENDER_WEB_PARITY_TASK_PLAN_V2.json`
|
||||
- `docs/BLENDER_WEB_EXECUTION_CONTROL_PLANE.md`
|
||||
- `docs/EXECUTION_QUEUE.md`
|
||||
- `tests/golden/corrective/C6-003/handoff.json`
|
||||
- `docs/WEB_BLENDER_MODELER_V1_SCOPE.md`
|
||||
|
||||
做:计划 schema、依赖图、能力分类、双 lane index、checkpoint ancestry、protected
|
||||
hash 交叉检查。保留 legacy manifest/status/corrective handoff,不重写历史证据。
|
||||
|
||||
## 验收
|
||||
|
||||
```bash
|
||||
node tools/web/check-web-parity-v2-plan.mjs
|
||||
node tools/web/check-corrective-plan.mjs
|
||||
node tools/web/check-context-governance.mjs
|
||||
npm --prefix web run test:execution-control-plane
|
||||
git diff --check
|
||||
```
|
||||
|
||||
Malformed plan、重复 ready task、parent mismatch、hash drift 或缺失 task card 必须失败,
|
||||
不得推进 capability successor 或改写 legacy checkpoint。
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/WBV2-P0-001/`
|
||||
- Status: `docs/status/WBV2-P0-001.md`
|
||||
- Manifest: `tests/golden/WBV2-P0-001/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task WBV2-P0-001 --write`
|
||||
- Rollback: restore `WBV2-BASELINE` as the capability queue tail; leave M16 and corrective evidence unchanged.
|
||||
47
docs/tasks/WBV2-P0-002.md
Normal file
47
docs/tasks/WBV2-P0-002.md
Normal file
@@ -0,0 +1,47 @@
|
||||
# WBV2-P0-002: generate Blender 5.2 inventory and parity map
|
||||
|
||||
- task: WBV2-P0-002
|
||||
- parent: WBV2-P0-001
|
||||
- status: in_progress
|
||||
- gap: workflow:blender52-inventory
|
||||
- ownerFamily: PARITY
|
||||
- targetImplementationClass: LOCAL_BOUNDED
|
||||
|
||||
## 目标
|
||||
|
||||
Generate a deterministic Blender 5.2 inventory and map each entry to a capability
|
||||
family, completion class, parity level, owner, and evidence state. This is an
|
||||
inventory change only; it must not claim feature parity or modify Blender runtime.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- `docs/BLENDER_WEB_EXECUTION_CONTROL_PLANE.md`
|
||||
- `tests/golden/corrective/C5-003/capability-manifest.json`
|
||||
- `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.
|
||||
|
||||
## 验收
|
||||
|
||||
```bash
|
||||
node tools/web/check-execution-control-plane.mjs
|
||||
node tools/web/check-web-parity-v2-plan.mjs
|
||||
node tools/web/check-corrective-plan.mjs
|
||||
npm --prefix web run test:context-governance
|
||||
```
|
||||
|
||||
Malformed inventory input, duplicate IDs, unsupported classification, hash drift, or
|
||||
budget overflow must fail closed and keep this task `in_progress`/`blocked`; no
|
||||
successor may be selected.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/WBV2-P0-002/`
|
||||
- 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`
|
||||
- Rollback: remove only this task's report/status/manifest/context; restore
|
||||
`WBV2-P0-001` as the queue tail without rewriting its evidence.
|
||||
Reference in New Issue
Block a user