feat(web): authorize corrective smooth reader
This commit is contained in:
@@ -2,20 +2,22 @@
|
||||
|
||||
更新时间:2026-08-22(America/New_York)
|
||||
|
||||
本页是唯一的当前任务指针,不保存历史任务表、实现日志或长期规划。领取任务前只读取本页、当前任务上下文、parent manifest 和 parent status;完整规则见 [`CONTEXT_BUDGET.md`](CONTEXT_BUDGET.md)。
|
||||
本页是唯一的当前任务指针,不保存历史任务表、实现日志或长期规划。当前生产单位是功能模块,不是重复 continuation 任务。领取任务前只读取本页、当前任务上下文、parent manifest 和 parent status;完整规则见 [`CONTEXT_BUDGET.md`](CONTEXT_BUDGET.md)。
|
||||
|
||||
生产实现按能力工作流推进,legacy `M16-GAP-*` 只作为覆盖回归;能力矩阵、共享 runner 和效率规则见 [`BLENDER_WEB_EXECUTION_CONTROL_PLANE.md`](BLENDER_WEB_EXECUTION_CONTROL_PLANE.md)。
|
||||
|
||||
连续接续入口见 [`nextTask.md`](../nextTask.md):用户发送“按 nextTask.md 接续执行”时,进入连续模式;每个迭代只完成一个任务并以 fresh compact context 交接,成功后自动读取新指针继续,直到失败、阻塞、预算/环境/传输异常、闭合门或用户要求停止。
|
||||
连续接续入口见 [`nextTask.md`](../nextTask.md):用户发送“按 nextTask.md 接续执行”时,按当前模块卡执行;模块未通过完整生产验证时不得推进,不得把授权、索引或重复构建当作能力完成。
|
||||
|
||||
跨会话无人值守执行统一使用 `node tools/web/run-wbv2-scheduler.mjs --max-iterations 0 --commit --push`;调度器会委托 guardian/supervisor 逐个完成当前 `nextTask`,并在源码映射、队列交接和远端提交均可证明安全时自动继续。
|
||||
|
||||
## 当前指针
|
||||
|
||||
| 字段 | 值 |
|
||||
| --- | --- |
|
||||
| 里程碑 | WBV2 capability workflow |
|
||||
| 当前任务 | `WBV2-P607-002` |
|
||||
| parent manifest | `tests/golden/WBV2-P607-001/manifest.json` |
|
||||
| 任务卡 | [`tasks/WBV2-P607-002.md`](tasks/WBV2-P607-002.md) |
|
||||
| 当前任务 | `WBV2-P1145-001` |
|
||||
| parent manifest | `tests/golden/WBV2-P1145-000/manifest.json` |
|
||||
| 任务卡 | [`tasks/WBV2-P1145-001.md`](tasks/WBV2-P1145-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` |
|
||||
@@ -32,10 +34,13 @@ node tools/web/print-task-context.mjs
|
||||
|
||||
## 铁律
|
||||
|
||||
- 移植过程的功能不得使用 JS 模拟;功能实现必须调用 Blender 5.2 源码编译出的原生 WebEngine/WASM 路径,并由 Chromium 生产证据验证。
|
||||
- 浏览器执行、CI、验收证据和发布声明永久仅限 Chromium;禁止领取 Firefox/WebKit 任务。
|
||||
- 当前任务必须等于 parent manifest 的 `nextTask`;不得从 Markdown 历史编号手工推导。
|
||||
- 一个任务只能有一个主要行为变化或一个独立证据变化。实现、浏览器接线、负例和证据需要拆成明确子任务时,沿任务卡的门逐项完成。
|
||||
- 完成必须有真实命令、退出码、构件 SHA-256、manifest 和 status;协议、fixture 或测试文件存在不等于完成。
|
||||
- 一个模块任务覆盖一个连贯功能边界,可包含多个共享命令和 operator case;必须完成 source/协议/Worker/前端接线,以及模块契约规定的正例 Main mutation 或精确 Main reader/context 证据、负例 no-mutation、undo/redo、save/reopen、Chromium 和聚合 manifest。
|
||||
- generic continuation、QUEUE_ENABLEMENT、索引生成和单纯 build 只能作为模块前置或证据,不得单独计入移植完成。
|
||||
- 模块完成必须有真实命令、退出码、构件 SHA-256、正负例和恢复证据、聚合 manifest 和 status;协议、fixture 或测试文件存在不等于完成。
|
||||
- 每完成一个段落或模块,报告必须明确列出源码动态 inventory 的 unitCount、verifiedUnits、unverifiedUnits、sourceTreeSha256,以及本段绑定的 unit 增量;历史 `6900-entry` 只读保留,未绑定源码单元不得计为覆盖进度。
|
||||
- 失败、环境缺失或 hash 漂移保持 `in_progress`/`blocked`,不得推进指针。
|
||||
|
||||
## 交接
|
||||
|
||||
13
docs/status/WBV2-DYNAMIC-INVENTORY.md
Normal file
13
docs/status/WBV2-DYNAMIC-INVENTORY.md
Normal file
@@ -0,0 +1,13 @@
|
||||
# WBV2 source dynamic inventory status
|
||||
|
||||
- operation: `BLENDER_52_SOURCE_DYNAMIC_INVENTORY`; status: `done`
|
||||
- source authority: `blender-5.2.0/source/blender`; tree SHA: `600cb3dd441f09d9655b740735fbf8fa49ad6c14d308c68d59a29f9c338e4202`
|
||||
- source scan: `6206` files, `96049182` bytes, `3745` deduplicated units
|
||||
- explicit coverage: verified `350`, unverified `3395`; this audit delta: `350`
|
||||
- planning estimate: `5200` (non-binding); hard target: `false`
|
||||
- unverified boundary: operators `2012`, operator-macros `58`, nodes `476`, RNA structs `785`, modifier sources `64`
|
||||
- boundary rule: no source-backed WebEngine route plus Chromium behavior receipt means the unit remains `UNVERIFIED`
|
||||
- historical 6900-entry parity map remains immutable and is retained only for regression provenance
|
||||
- cmd json transport: `web_engine_call_json` provides one stable Worker-to-WASM entrypoint for stateful commands and read-only reports; it reduces native registration points but does not replace per-unit Chromium evidence
|
||||
- headless boundary: `blender-5.2.0/source/blender/web_engine/web_engine_headless_fallback.cpp` records the intentional absence of window manager, desktop sequencer playback and GPU context for operator/macro execution
|
||||
- deterministic generator/checker: `PASS`
|
||||
9
docs/status/WBV2-P1144-001.md
Normal file
9
docs/status/WBV2-P1144-001.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# WBV2-P1144-001 status
|
||||
|
||||
- task: `WBV2-P1144-001`; module: `DRIVER_READER`; status: `done`
|
||||
- source hashes stable: `true`; commands passed: `4`
|
||||
- positive Main mutation, negative no-mutation, recovery and Chromium gates are recorded in the module receipt
|
||||
- Driver/AnimData reader exposes Blender scripted expression, variables and DriverTarget RNA path/ID metadata; Chromium undo/redo, malformed-input rejection and save/reopen passed; no JS simulation
|
||||
- dynamic source inventory: `3745` units; verified `350`; unverified `3395`; planning estimate `5200` (non-binding); sourceTreeSha256=`600cb3dd441f09d9655b740735fbf8fa49ad6c14d308c68d59a29f9c338e4202`; this-segment binding delta: `6`
|
||||
- historical 6900-entry inventory remains read-only; full-family parity: `false`
|
||||
- nextTask: `WBV2-P1145-000`
|
||||
7
docs/status/WBV2-P1145-000.md
Normal file
7
docs/status/WBV2-P1145-000.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# WBV2-P1145-000 status
|
||||
|
||||
- task: `WBV2-P1145-000`; parent: `WBV2-P1144-001`; status: `done`
|
||||
- taskClass: `QUEUE_ENABLEMENT`; no Corrective Smooth parity completion claimed
|
||||
- source-backed successor authorized for `CORRECTIVE_SMOOTH_READER`
|
||||
- dynamic inventory remains `3745` units; verified `350`; unverified `3395`; bound delta `0`
|
||||
- nextTask: `WBV2-P1145-001`
|
||||
8
docs/status/WBV2-P1145-001.md
Normal file
8
docs/status/WBV2-P1145-001.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# WBV2-P1145-001 status
|
||||
|
||||
- task: `WBV2-P1145-001`; module: `CORRECTIVE_SMOOTH_READER`; status: `done`
|
||||
- source hashes stable: `true`; commands passed: `4`
|
||||
- positive Main mutation, negative no-mutation, recovery and Chromium gates are recorded in the module receipt
|
||||
- dynamic source inventory: `3745` units; verified `350`; unverified `3395`; planning estimate `5200` (non-binding)
|
||||
- historical 6900-entry inventory remains read-only; full-family parity: `false`
|
||||
- nextTask: `NONE`
|
||||
41
docs/tasks/WBV2-P1145-001.md
Normal file
41
docs/tasks/WBV2-P1145-001.md
Normal file
@@ -0,0 +1,41 @@
|
||||
# WBV2-P1145-001: verify Corrective Smooth reader module
|
||||
|
||||
- task: WBV2-P1145-001
|
||||
- parent: WBV2-P1145-000
|
||||
- status: in_progress
|
||||
- gap: capability:CORRECTIVE_SMOOTH_READER
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
- Implementation entrypoint: `node tools/web/run-wbv2-module-task.mjs --task WBV2-P1145-001 --write`
|
||||
|
||||
## 目标
|
||||
|
||||
验证 Blender Main 中 Corrective Smooth modifier 的真实类型和 RNA 元数据,并确认 save/reopen、worker termination 和 malformed 输入保持确定性。
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Blender source: `blender-5.2.0/source/blender/modifiers/intern/MOD_correctivesmooth.cc`
|
||||
- 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`
|
||||
- Fixture: `tests/files/web/modifier_corrective_smooth_scene.blend`
|
||||
- Chromium test: `web/tests/e2e/wbv2-corrective-smooth-reader-production.spec.ts`
|
||||
|
||||
## 验收
|
||||
|
||||
- Corrective Smooth is read from Blender Main through the compiled WebEngine/WASM path
|
||||
- malformed blend is rejected without Main mutation
|
||||
- save/reopen and deterministic second read are exact
|
||||
- Chromium is the only browser and JS simulation is forbidden
|
||||
- `node tools/web/check-task-context.mjs --task WBV2-P1145-001 --write`
|
||||
|
||||
## 失败边界
|
||||
|
||||
- missing source, unsupported modifier, hash drift, malformed data or non-exact recovery remains `in_progress`/`blocked`
|
||||
- this slice never claims full modifier-family parity or mutates historical inventory
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Receipt: `tests/golden/WBV2-P1145-001/module-receipt.json`
|
||||
- Manifest: `tests/golden/WBV2-P1145-001/manifest.json`
|
||||
- Status: `docs/status/WBV2-P1145-001.md`
|
||||
- Rollback: restore WBV2-P1145-000 as queue parent without rewriting prior evidence.
|
||||
Reference in New Issue
Block a user