{ "schemaVersion": 1, "task": "WBV2-P7-002", "parentTask": "WBV2-P7-001", "status": "in_progress", "goal": "Make the same minimal fixture produce observable workflow:generate_atomic_family_gap_queue 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.", "scope": { "gap": "workflow:generate_atomic_family_gap_queue", "ownerFamily": "PROGRAM", "implementationClass": "LOCAL_BOUNDED" }, "commands": [ "build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/WBV2-P7-002.py -- tests/files/web/generated/WBV2-P7-002-workflow-generate_atomic_family_gap_queue.blend", "npm --prefix web run test:generated-gap -- --task WBV2-P7-002", "node tools/web/check-generated-gap.mjs --task WBV2-P7-002" ], "inputPaths": [], "inputSelection": { "schemaVersion": 1, "limits": { "maxFiles": 12, "evidenceBytes": 8192, "contextRemainingBytes": 950, "contextRemainingTokens": 237 }, "source": { "bytes": 8954, "tokens": 2239 }, "selected": [], "excluded": [ { "path": "tests/files/web/generated/WBV2-P7-002-workflow-generate_atomic_family_gap_queue.blend", "bytes": 88321, "reason": "EVIDENCE_BYTE_BUDGET" }, { "path": "tools/web/generated/WBV2-P7-002.py", "bytes": 3501, "reason": "CONTEXT_REMAINING_SPACE" }, { "path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "bytes": 286273, "reason": "EVIDENCE_BYTE_BUDGET" }, { "path": "tools/web/check-generated-gap.mjs", "bytes": 1049617, "reason": "EVIDENCE_BYTE_BUDGET" }, { "path": "tests/golden/WBV2-P7-002/", "bytes": null, "reason": "GENERATED_EVIDENCE_OUTPUT" }, { "path": "docs/status/WBV2-P7-002.md", "bytes": null, "reason": "GENERATED_EVIDENCE_OUTPUT" }, { "path": "tests/golden/WBV2-P7-002/manifest.json", "bytes": null, "reason": "GENERATED_EVIDENCE_OUTPUT" } ], "totals": { "files": 0, "bytes": 0, "tokens": 0 } }, "exitCriteria": [ "one active ready task", "no guessed successor", "each card fits context budget" ], "nextTask": "WBV2-P7-003", "sourceDocuments": { "queue": "docs/EXECUTION_QUEUE.md", "taskCard": "docs/tasks/WBV2-P7-002.md", "taskIndex": "tests/golden/WBV2/task-index.json", "parentManifest": "tests/golden/WBV2-P7-001/manifest.json", "parentStatus": "docs/status/WBV2-P7-001.md" }, "readPolicy": { "required": [ "docs/EXECUTION_QUEUE.md", "docs/tasks/WBV2-P7-002.md", "tests/golden/WBV2-P7-001/manifest.json", "docs/status/WBV2-P7-001.md" ], "machineOnly": [ "tests/golden/WBV2/task-index.json", "tests/golden/M15-03A/task-catalog.jsonl" ], "optionalByNeed": [ "docs/WEB_BLENDER_MODELER_V1_SCOPE.md", "任务卡列出的精确协议/生产路径", "任务卡明确命名的长期计划小节" ], "forbiddenByDefault": [ "完整 CURRENT_EXECUTION_PLAN.md", "完整 PROJECT_STATUS_AND_NEXT_WORK.md", "全部 docs/status/*.md", "完整 parity/WBS 计划", "README 历史和 test-results/" ] }, "parent": { "manifest": { "schemaVersion": 1, "task": "WBV2-P7-001", "parentTask": "WBV2-P6-003", "status": "done", "nextTask": "WBV2-P7-002", "artifactCount": 12 }, "statusSummary": [ "# WBV2-P7-001 status", "- task: `WBV2-P7-001`; parent: `WBV2-P6-003`; status: `done`", "- gap: `workflow:cluster_full_blender_gap_inventory`; implementationClass: `LOCAL_BOUNDED`", "- fixture: `tests/files/web/generated/WBV2-P7-001-workflow-cluster_full_blender_gap_inventory.blend`", "## Evidence", "The Blender 5.2 P0-002 parity map is now exposed as one deterministic receipt with 15 capability clusters and 6,900 inventory entries. Each cluster has a stable capability ID, owner family, layer, legacy completion counts, representative IDs, deterministic risk score/ranking, and explicit `L0` / `METADATA_ONLY` / `NOT_RUN` / `GAP` state. No inventory row or cluster claims feature parity.", "The desktop checker and WASM reader agree on the receipt, including the P0-002 source SHA. Save/reopen is exact. The reader validates schema, source binding shape, cluster cardinality/counts, duplicate IDs, and fail-closed classification before exposing an optional typed SceneIR field; older WASM remains compatible through the Text receipt fallback. Malformed input rejects without mutating Main. Unsupported schema, duplicate receipt, over-budget, cancellation, and hash-drift cases remain blocked and cannot advance the queue.", "## Commands" ] }, "budgets": { "queueBytes": 4096, "taskBytes": 1824, "parentManifestBytes": 24576, "parentStatusBytes": 6144, "evidenceFiles": 12, "evidenceBytes": 8192, "contextTokens": 3500, "contextEnvelopeTokens": 1024, "taskLines": 38, "taskTokens": 456 }, "size": { "documents": [ { "path": "docs/EXECUTION_QUEUE.md", "bytes": 2799, "lines": 51, "tokens": 700 }, { "path": "docs/tasks/WBV2-P7-002.md", "bytes": 1824, "lines": 38, "tokens": 456 }, { "path": "tests/golden/WBV2-P7-001/manifest.json", "bytes": 2352, "lines": 2, "tokens": 588 }, { "path": "docs/status/WBV2-P7-001.md", "bytes": 1979, "lines": 24, "tokens": 495 } ], "sourceTokens": 2239, "evidenceFiles": 0, "evidenceBytes": 0, "evidenceTokens": 0, "totalTokens": 2239, "reservedEnvelopeTokens": 1024, "estimatedContextTokens": 3263, "serializedContextTokens": 699, "withinBudget": true } }