diff --git a/tests/golden/M16-GAP-00282/task-context.json b/tests/golden/M16-GAP-00282/task-context.json new file mode 100644 index 00000000..706be5e4 --- /dev/null +++ b/tests/golden/M16-GAP-00282/task-context.json @@ -0,0 +1,182 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00282", + "parentTask": "M16-GAP-00281", + "status": "in_progress", + "goal": "Make the same minimal fixture produce observable operator:asset.screenshot_preview 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": "operator:asset.screenshot_preview", + "ownerFamily": "OPERATOR", + "implementationClass": "LOCAL_EXACT" + }, + "commands": [ + "build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00282.py -- tests/files/web/generated/M16-GAP-00282-operator-asset.screenshot_preview.blend", + "npm --prefix web run test:generated-gap -- --task M16-GAP-00282", + "node tools/web/check-generated-gap.mjs --task M16-GAP-00282" + ], + "inputPaths": [], + "inputSelection": { + "schemaVersion": 1, + "limits": { + "maxFiles": 12, + "evidenceBytes": 8192, + "contextRemainingBytes": 1425, + "contextRemainingTokens": 355 + }, + "source": { + "bytes": 8479, + "tokens": 2121 + }, + "selected": [], + "excluded": [ + { + "path": "tests/files/web/generated/M16-GAP-00282-operator-asset.screenshot_preview.blend", + "bytes": null, + "reason": "MISSING_PATH" + }, + { + "path": "tools/web/generated/M16-GAP-00282.py", + "bytes": null, + "reason": "MISSING_PATH" + }, + { + "path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", + "bytes": 242091, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tools/web/check-generated-gap.mjs", + "bytes": 849534, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tests/golden/M16-GAP-00282/", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "docs/status/M16-GAP-00282.md", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "tests/golden/M16-GAP-00282/manifest.json", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + } + ], + "totals": { + "files": 0, + "bytes": 0, + "tokens": 0 + } + }, + "exitCriteria": [ + "desktop fixture evidence exists", + "WASM uses the same fixture", + "comparator passes", + "save/reopen preserves Main", + "manifest hashes all artifacts" + ], + "nextTask": "M16-GAP-00283", + "sourceDocuments": { + "queue": "docs/EXECUTION_QUEUE.md", + "taskCard": "docs/tasks/M16-GAP-00282.md", + "taskIndex": "tests/golden/M15-03A/task-index.json", + "parentManifest": "tests/golden/M16-GAP-00281/manifest.json", + "parentStatus": "docs/status/M16-GAP-00281.md" + }, + "readPolicy": { + "required": [ + "docs/EXECUTION_QUEUE.md", + "docs/tasks/M16-GAP-00282.md", + "tests/golden/M16-GAP-00281/manifest.json", + "docs/status/M16-GAP-00281.md" + ], + "machineOnly": [ + "tests/golden/M15-03A/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": "M16-GAP-00281", + "parentTask": "M16-GAP-00280", + "status": "done", + "nextTask": "M16-GAP-00282", + "artifactCount": 17 + }, + "statusSummary": [ + "# M16-GAP-00281 Status", + "status: done", + "task: asset.open_containing_blend_file operator LOCAL_EXACT slice", + "updated: 2026-08-24 America/New_York", + "scope:", + "- The minimal fixture links one object from external `WebGapOpenContaining.blend`.", + " Blender desktop observes the no-selected-asset boundary as `poll=false`, records", + " `CANCELLED` for `asset.open_containing_blend_file`, and confirms no Main mutation." + ] + }, + "budgets": { + "queueBytes": 4096, + "taskBytes": 1809, + "parentManifestBytes": 24576, + "parentStatusBytes": 6144, + "evidenceFiles": 12, + "evidenceBytes": 8192, + "contextTokens": 3500, + "contextEnvelopeTokens": 1024, + "taskLines": 38, + "taskTokens": 453 + }, + "size": { + "documents": [ + { + "path": "docs/EXECUTION_QUEUE.md", + "bytes": 2495, + "lines": 47, + "tokens": 624 + }, + { + "path": "docs/tasks/M16-GAP-00282.md", + "bytes": 1809, + "lines": 38, + "tokens": 453 + }, + { + "path": "tests/golden/M16-GAP-00281/manifest.json", + "bytes": 2996, + "lines": 31, + "tokens": 749 + }, + { + "path": "docs/status/M16-GAP-00281.md", + "bytes": 1179, + "lines": 28, + "tokens": 295 + } + ], + "sourceTokens": 2121, + "evidenceFiles": 0, + "evidenceBytes": 0, + "evidenceTokens": 0, + "totalTokens": 2121, + "reservedEnvelopeTokens": 1024, + "estimatedContextTokens": 3145, + "serializedContextTokens": 719, + "withinBudget": true + } +}