Complete M16 asset operator parity chain
This commit is contained in:
@@ -261,5 +261,17 @@
|
||||
"operator:armature.split",
|
||||
"operator:armature.subdivide",
|
||||
"operator:armature.switch_direction",
|
||||
"operator:armature.symmetrize"
|
||||
"operator:armature.symmetrize",
|
||||
"operator:asset.asset_download",
|
||||
"operator:asset.assets_download",
|
||||
"operator:asset.assign_action",
|
||||
"operator:asset.browse_containing_blend_file",
|
||||
"operator:asset.bundle_install",
|
||||
"operator:asset.catalog_delete",
|
||||
"operator:asset.catalog_new",
|
||||
"operator:asset.catalog_redo",
|
||||
"operator:asset.catalog_undo",
|
||||
"operator:asset.catalog_undo_push",
|
||||
"operator:asset.catalogs_save",
|
||||
"operator:asset.clear"
|
||||
]
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
},
|
||||
"generator": {
|
||||
"path": "tools/web/generate-blender-next-task-plan.mjs",
|
||||
"sha256": "b944d9e0ee37497d397fac6bede348702768ec2fa84ff2246ef39cc58d4242c0"
|
||||
"sha256": "d9f8bf8f666e5843c5d776d10d8afb772fb9f3e890cb071e249ed1ff000b0e68"
|
||||
},
|
||||
"checker": {
|
||||
"path": "tools/web/check-blender-next-task-plan.mjs",
|
||||
@@ -20,11 +20,11 @@
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/M15-03A/next-task-plan.json",
|
||||
"sha256": "f10310d6530d8a9adfde0bc6bca35e4bfae7a05169028e1a8b36e374b059c8bb"
|
||||
"sha256": "edc59e235e492bd5982cea233d75d74a219021c8ee70348ea1e0985ada7f6a17"
|
||||
},
|
||||
"report": {
|
||||
"path": "tests/golden/M15-03A/next-task-plan-check-report.json",
|
||||
"sha256": "1fede6a6bba0a935ffbdc1aa21ea7ca0addd741139b754c2a27d380eacf5c794"
|
||||
"sha256": "302db2256fec76ee32d5fdc691a9a540333e4a0163aa603b8d843a97f7b6bcc1"
|
||||
},
|
||||
"package": {
|
||||
"path": "web/package.json",
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
"summary": {
|
||||
"taskCount": 6900,
|
||||
"active": 1,
|
||||
"pending": 6636,
|
||||
"completed": 263,
|
||||
"pending": 6624,
|
||||
"completed": 275,
|
||||
"blocked": 0,
|
||||
"byWave": {
|
||||
"M16": 2667,
|
||||
@@ -18,7 +18,7 @@
|
||||
"M22": 19
|
||||
}
|
||||
},
|
||||
"firstTask": "M16-GAP-00264",
|
||||
"planSha256": "f10310d6530d8a9adfde0bc6bca35e4bfae7a05169028e1a8b36e374b059c8bb",
|
||||
"firstTask": "M16-GAP-00276",
|
||||
"planSha256": "edc59e235e492bd5982cea233d75d74a219021c8ee70348ea1e0985ada7f6a17",
|
||||
"nextTask": "M15-03B"
|
||||
}
|
||||
|
||||
@@ -13,14 +13,14 @@
|
||||
},
|
||||
"completions": {
|
||||
"path": "tests/golden/M15-03A/completed-gap-tasks.json",
|
||||
"sha256": "b927d84d995f64669fabdcb50019a7db895d9a6f4e004913122d32c2dfca01ac"
|
||||
"sha256": "32f4c11ebf8563f3aa500583f3979c1b38d711cc7328a428968118f0375b90b4"
|
||||
}
|
||||
},
|
||||
"summary": {
|
||||
"taskCount": 6900,
|
||||
"active": 1,
|
||||
"pending": 6636,
|
||||
"completed": 263,
|
||||
"pending": 6624,
|
||||
"completed": 275,
|
||||
"blocked": 0,
|
||||
"byWave": {
|
||||
"M16": 2667,
|
||||
@@ -6087,7 +6087,7 @@
|
||||
"gapId": "operator:asset.asset_download",
|
||||
"ownerFamily": "OPERATOR",
|
||||
"sourceTask": "M15-01B",
|
||||
"state": "active",
|
||||
"state": "completed",
|
||||
"dependencies": [],
|
||||
"targetImplementationClass": "LOCAL_EXACT",
|
||||
"fixture": {
|
||||
@@ -6110,7 +6110,7 @@
|
||||
"gapId": "operator:asset.assets_download",
|
||||
"ownerFamily": "OPERATOR",
|
||||
"sourceTask": "M15-01B",
|
||||
"state": "pending",
|
||||
"state": "completed",
|
||||
"dependencies": [],
|
||||
"targetImplementationClass": "LOCAL_EXACT",
|
||||
"fixture": {
|
||||
@@ -6133,7 +6133,7 @@
|
||||
"gapId": "operator:asset.assign_action",
|
||||
"ownerFamily": "OPERATOR",
|
||||
"sourceTask": "M15-01B",
|
||||
"state": "pending",
|
||||
"state": "completed",
|
||||
"dependencies": [],
|
||||
"targetImplementationClass": "LOCAL_EXACT",
|
||||
"fixture": {
|
||||
@@ -6156,7 +6156,7 @@
|
||||
"gapId": "operator:asset.browse_containing_blend_file",
|
||||
"ownerFamily": "OPERATOR",
|
||||
"sourceTask": "M15-01B",
|
||||
"state": "pending",
|
||||
"state": "completed",
|
||||
"dependencies": [],
|
||||
"targetImplementationClass": "LOCAL_EXACT",
|
||||
"fixture": {
|
||||
@@ -6179,7 +6179,7 @@
|
||||
"gapId": "operator:asset.bundle_install",
|
||||
"ownerFamily": "OPERATOR",
|
||||
"sourceTask": "M15-01B",
|
||||
"state": "pending",
|
||||
"state": "completed",
|
||||
"dependencies": [],
|
||||
"targetImplementationClass": "LOCAL_EXACT",
|
||||
"fixture": {
|
||||
@@ -6202,7 +6202,7 @@
|
||||
"gapId": "operator:asset.catalog_delete",
|
||||
"ownerFamily": "OPERATOR",
|
||||
"sourceTask": "M15-01B",
|
||||
"state": "pending",
|
||||
"state": "completed",
|
||||
"dependencies": [],
|
||||
"targetImplementationClass": "LOCAL_EXACT",
|
||||
"fixture": {
|
||||
@@ -6225,7 +6225,7 @@
|
||||
"gapId": "operator:asset.catalog_new",
|
||||
"ownerFamily": "OPERATOR",
|
||||
"sourceTask": "M15-01B",
|
||||
"state": "pending",
|
||||
"state": "completed",
|
||||
"dependencies": [],
|
||||
"targetImplementationClass": "LOCAL_EXACT",
|
||||
"fixture": {
|
||||
@@ -6248,7 +6248,7 @@
|
||||
"gapId": "operator:asset.catalog_redo",
|
||||
"ownerFamily": "OPERATOR",
|
||||
"sourceTask": "M15-01B",
|
||||
"state": "pending",
|
||||
"state": "completed",
|
||||
"dependencies": [],
|
||||
"targetImplementationClass": "LOCAL_EXACT",
|
||||
"fixture": {
|
||||
@@ -6271,7 +6271,7 @@
|
||||
"gapId": "operator:asset.catalog_undo",
|
||||
"ownerFamily": "OPERATOR",
|
||||
"sourceTask": "M15-01B",
|
||||
"state": "pending",
|
||||
"state": "completed",
|
||||
"dependencies": [],
|
||||
"targetImplementationClass": "LOCAL_EXACT",
|
||||
"fixture": {
|
||||
@@ -6294,7 +6294,7 @@
|
||||
"gapId": "operator:asset.catalog_undo_push",
|
||||
"ownerFamily": "OPERATOR",
|
||||
"sourceTask": "M15-01B",
|
||||
"state": "pending",
|
||||
"state": "completed",
|
||||
"dependencies": [],
|
||||
"targetImplementationClass": "LOCAL_EXACT",
|
||||
"fixture": {
|
||||
@@ -6317,7 +6317,7 @@
|
||||
"gapId": "operator:asset.catalogs_save",
|
||||
"ownerFamily": "OPERATOR",
|
||||
"sourceTask": "M15-01B",
|
||||
"state": "pending",
|
||||
"state": "completed",
|
||||
"dependencies": [],
|
||||
"targetImplementationClass": "LOCAL_EXACT",
|
||||
"fixture": {
|
||||
@@ -6340,7 +6340,7 @@
|
||||
"gapId": "operator:asset.clear",
|
||||
"ownerFamily": "OPERATOR",
|
||||
"sourceTask": "M15-01B",
|
||||
"state": "pending",
|
||||
"state": "completed",
|
||||
"dependencies": [],
|
||||
"targetImplementationClass": "LOCAL_EXACT",
|
||||
"fixture": {
|
||||
@@ -6363,7 +6363,7 @@
|
||||
"gapId": "operator:asset.clear_single",
|
||||
"ownerFamily": "OPERATOR",
|
||||
"sourceTask": "M15-01B",
|
||||
"state": "pending",
|
||||
"state": "active",
|
||||
"dependencies": [],
|
||||
"targetImplementationClass": "LOCAL_EXACT",
|
||||
"fixture": {
|
||||
@@ -158734,7 +158734,7 @@
|
||||
]
|
||||
}
|
||||
],
|
||||
"firstTask": "M16-GAP-00264",
|
||||
"firstTask": "M16-GAP-00276",
|
||||
"closureGate": "M15-03E",
|
||||
"nextTask": "M15-03B"
|
||||
}
|
||||
|
||||
@@ -261,19 +261,19 @@
|
||||
{"id":"M16-GAP-00261","gapId":"operator:armature.subdivide","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00262","gapId":"operator:armature.switch_direction","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00263","gapId":"operator:armature.symmetrize","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00264","gapId":"operator:asset.asset_download","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"active","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00265","gapId":"operator:asset.assets_download","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00266","gapId":"operator:asset.assign_action","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00267","gapId":"operator:asset.browse_containing_blend_file","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00268","gapId":"operator:asset.bundle_install","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00269","gapId":"operator:asset.catalog_delete","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00270","gapId":"operator:asset.catalog_new","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00271","gapId":"operator:asset.catalog_redo","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00272","gapId":"operator:asset.catalog_undo","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00273","gapId":"operator:asset.catalog_undo_push","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00274","gapId":"operator:asset.catalogs_save","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00275","gapId":"operator:asset.clear","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00276","gapId":"operator:asset.clear_single","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00264","gapId":"operator:asset.asset_download","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00265","gapId":"operator:asset.assets_download","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00266","gapId":"operator:asset.assign_action","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00267","gapId":"operator:asset.browse_containing_blend_file","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00268","gapId":"operator:asset.bundle_install","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00269","gapId":"operator:asset.catalog_delete","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00270","gapId":"operator:asset.catalog_new","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00271","gapId":"operator:asset.catalog_redo","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00272","gapId":"operator:asset.catalog_undo","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00273","gapId":"operator:asset.catalog_undo_push","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00274","gapId":"operator:asset.catalogs_save","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00275","gapId":"operator:asset.clear","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00276","gapId":"operator:asset.clear_single","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"active","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00277","gapId":"operator:asset.library_refresh","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00278","gapId":"operator:asset.library_reload_listing","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00279","gapId":"operator:asset.mark","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"}
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"after": {
|
||||
"filepath": "//assets/WebGapAssetDownload.png",
|
||||
"name": "WebGapAssetDownloadImage",
|
||||
"packed": false,
|
||||
"size": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"source": "FILE"
|
||||
},
|
||||
"before": {
|
||||
"filepath": "//assets/WebGapAssetDownload.png",
|
||||
"name": "WebGapAssetDownloadImage",
|
||||
"packed": false,
|
||||
"size": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"source": "FILE"
|
||||
},
|
||||
"blenderVersion": "5.2.0 LTS",
|
||||
"fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00264-operator-asset.asset_download.blend",
|
||||
"fixtureSha256": "79332080394950857a3b99087140aba51df6ad2fd731e314af67c473a48602b4",
|
||||
"mainMutation": "NONE",
|
||||
"operation": "ASSET_ASSET_DOWNLOAD_DESKTOP",
|
||||
"operatorStatus": "CANCELLED",
|
||||
"poll": true,
|
||||
"saveReopen": "EXACT",
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00264"
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00264",
|
||||
"operation": "ASSET_ASSET_DOWNLOAD_LOCAL_EXACT",
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00264-operator-asset.asset_download.blend",
|
||||
"sha256": "79332080394950857a3b99087140aba51df6ad2fd731e314af67c473a48602b4"
|
||||
},
|
||||
"desktop": {
|
||||
"status": "EXACT",
|
||||
"report": "tests/golden/M16-GAP-00264/asset-download-desktop-report.json",
|
||||
"poll": true,
|
||||
"operatorStatus": "CANCELLED",
|
||||
"mainMutation": "NONE"
|
||||
},
|
||||
"wasm": {
|
||||
"status": "EXACT",
|
||||
"imageId": "image:WebGapAssetDownloadImage",
|
||||
"sourcePath": "//assets/WebGapAssetDownload.png",
|
||||
"assetStatus": "EXTERNAL",
|
||||
"packed": false,
|
||||
"dimensions": [
|
||||
1,
|
||||
1
|
||||
]
|
||||
},
|
||||
"saveReopen": "EXACT",
|
||||
"negative": {
|
||||
"malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION"
|
||||
},
|
||||
"nextTask": "M16-GAP-00265"
|
||||
}
|
||||
28
tests/golden/M16-GAP-00264/manifest.json
Normal file
28
tests/golden/M16-GAP-00264/manifest.json
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00264",
|
||||
"parentTask": "M16-GAP-00263",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "ASSET_ASSET_DOWNLOAD_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {"path": "tests/golden/M16-GAP-00263/manifest.json", "sha256": "174eb122a99cd96c634a78e9689dcc1e0317f17bd52727e782a20599ba6b730b"},
|
||||
"fixture": {"path": "tests/files/web/generated/M16-GAP-00264-operator-asset.asset_download.blend", "sha256": "79332080394950857a3b99087140aba51df6ad2fd731e314af67c473a48602b4"},
|
||||
"generator": {"path": "tools/web/generated/M16-GAP-00264.py", "sha256": "e7fd141d87414ee12669a83dbfe54ef47b557a9c517ba8ec164264882c80e8bd"},
|
||||
"desktopChecker": {"path": "tools/web/check-action-asset-download-desktop.py", "sha256": "c8af3ac7b0fd53e955a9c5d925e0ea004f219ef9c5b6629fdb57e6fecdba55a6"},
|
||||
"webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "9429c88eb60c403ecd9e7f69ce024eb03667a0bf9243f0b31c0cb3fadc9c97ad"},
|
||||
"reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"},
|
||||
"nativeStub": {"path": "web/engine/web_engine_native_reader_stub.cpp", "sha256": "2a1526e08cf446bb23a91c8c2ae799db38a0aeed0a809a15ead427780600481a"},
|
||||
"wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"},
|
||||
"wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"},
|
||||
"wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"},
|
||||
"wasmJsPublic": {"path": "web/app/public/vendor/blender/web_engine.js", "sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"},
|
||||
"desktopReport": {"path": "tests/golden/M16-GAP-00264/asset-download-desktop-report.json", "sha256": "399aed90c3b236f1c169fad88dbc92f5409d26ca35bdeb5768bb9272a50a7157"},
|
||||
"webReport": {"path": "tests/golden/M16-GAP-00264/asset-download-local-exact-report.json", "sha256": "ad88b3a8b18007bf61d4351185ee2cab8c09e9e3a74958d521f94ff1a221795c"},
|
||||
"status": {"path": "docs/status/M16-GAP-00264.md", "sha256": "57cdac22f8e6e6bb5e233b4568e9d06885869341fac96ec5bd8e717f040edcac"},
|
||||
"taskContext": {"path": "tests/golden/M16-GAP-00264/task-context.json", "sha256": "d22c02c55e889b252ab0e11580693c6fc44225d4d650591942bee294557f4134"}
|
||||
},
|
||||
"nextTask": "M16-GAP-00265"
|
||||
}
|
||||
185
tests/golden/M16-GAP-00264/task-context.json
Normal file
185
tests/golden/M16-GAP-00264/task-context.json
Normal file
@@ -0,0 +1,185 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00264",
|
||||
"parentTask": "M16-GAP-00263",
|
||||
"status": "in_progress",
|
||||
"goal": "Make the same minimal fixture produce observable operator:asset.asset_download 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.asset_download",
|
||||
"ownerFamily": "OPERATOR",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00264.py -- tests/files/web/generated/M16-GAP-00264-operator-asset.asset_download.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00264",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00264"
|
||||
],
|
||||
"inputPaths": [
|
||||
"tools/web/generated/M16-GAP-00264.py"
|
||||
],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 2123,
|
||||
"contextRemainingTokens": 529
|
||||
},
|
||||
"source": {
|
||||
"bytes": 7781,
|
||||
"tokens": 1947
|
||||
},
|
||||
"selected": [
|
||||
{
|
||||
"path": "tools/web/generated/M16-GAP-00264.py",
|
||||
"bytes": 738,
|
||||
"tokens": 185
|
||||
}
|
||||
],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00264-operator-asset.asset_download.blend",
|
||||
"bytes": 85874,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"bytes": 240371,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 788450,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00264/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00264.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00264/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 1,
|
||||
"bytes": 738,
|
||||
"tokens": 185
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00265",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00264.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00263/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00263.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00264.md",
|
||||
"tests/golden/M16-GAP-00263/manifest.json",
|
||||
"docs/status/M16-GAP-00263.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-00263",
|
||||
"parentTask": "M16-GAP-00262",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00264",
|
||||
"artifactCount": 15
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00263 Status",
|
||||
"status: done",
|
||||
"task: armature.symmetrize operator LOCAL_EXACT slice",
|
||||
"updated: 2026-08-23 America/New_York",
|
||||
"scope:",
|
||||
"- The fixture contains one selected positive-X `WebGapArmatureSymmetrizeSource.L`",
|
||||
" bone and one unrelated unselected bone. Blender desktop runs",
|
||||
" `ARMATURE_OT_symmetrize(direction=\"NEGATIVE_X\")`, producing the mirrored"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1789,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 448
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2495,
|
||||
"lines": 47,
|
||||
"tokens": 624
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/M16-GAP-00264.md",
|
||||
"bytes": 1789,
|
||||
"lines": 38,
|
||||
"tokens": 448
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00263/manifest.json",
|
||||
"bytes": 2667,
|
||||
"lines": 29,
|
||||
"tokens": 667
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00263.md",
|
||||
"bytes": 830,
|
||||
"lines": 25,
|
||||
"tokens": 208
|
||||
}
|
||||
],
|
||||
"sourceTokens": 1947,
|
||||
"evidenceFiles": 1,
|
||||
"evidenceBytes": 738,
|
||||
"evidenceTokens": 185,
|
||||
"totalTokens": 2132,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 3156,
|
||||
"serializedContextTokens": 753,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"after": {
|
||||
"filepath": "//assets/WebGapAssetsDownload.png",
|
||||
"name": "WebGapAssetsDownloadImage",
|
||||
"packed": false,
|
||||
"size": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"source": "FILE"
|
||||
},
|
||||
"before": {
|
||||
"filepath": "//assets/WebGapAssetsDownload.png",
|
||||
"name": "WebGapAssetsDownloadImage",
|
||||
"packed": false,
|
||||
"size": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"source": "FILE"
|
||||
},
|
||||
"blenderVersion": "5.2.0 LTS",
|
||||
"fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00265-operator-asset.assets_download.blend",
|
||||
"fixtureSha256": "d2c09f34febbef1db3de830c37c33c1f7de8d6fc7ea1ef2aaf9eed7de243bb27",
|
||||
"mainMutation": "NONE",
|
||||
"operation": "ASSET_ASSETS_DOWNLOAD_DESKTOP",
|
||||
"operatorStatus": "CANCELLED",
|
||||
"poll": false,
|
||||
"saveReopen": "EXACT",
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00265"
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00265",
|
||||
"operation": "ASSET_ASSETS_DOWNLOAD_LOCAL_EXACT",
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00265-operator-asset.assets_download.blend",
|
||||
"sha256": "d2c09f34febbef1db3de830c37c33c1f7de8d6fc7ea1ef2aaf9eed7de243bb27"
|
||||
},
|
||||
"desktop": {
|
||||
"status": "EXACT",
|
||||
"report": "tests/golden/M16-GAP-00265/assets-download-desktop-report.json",
|
||||
"poll": false,
|
||||
"operatorStatus": "CANCELLED",
|
||||
"mainMutation": "NONE"
|
||||
},
|
||||
"wasm": {
|
||||
"status": "EXACT",
|
||||
"imageId": "image:WebGapAssetsDownloadImage",
|
||||
"sourcePath": "//assets/WebGapAssetsDownload.png",
|
||||
"assetStatus": "EXTERNAL",
|
||||
"packed": false,
|
||||
"dimensions": [
|
||||
1,
|
||||
1
|
||||
]
|
||||
},
|
||||
"saveReopen": "EXACT",
|
||||
"negative": {
|
||||
"malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION"
|
||||
},
|
||||
"nextTask": "M16-GAP-00266"
|
||||
}
|
||||
28
tests/golden/M16-GAP-00265/manifest.json
Normal file
28
tests/golden/M16-GAP-00265/manifest.json
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00265",
|
||||
"parentTask": "M16-GAP-00264",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "ASSET_ASSETS_DOWNLOAD_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {"path": "tests/golden/M16-GAP-00264/manifest.json", "sha256": "227db04b1571e0ae7eb9c698b1b2d440118da166a525f3114d212825e9ebd67b"},
|
||||
"fixture": {"path": "tests/files/web/generated/M16-GAP-00265-operator-asset.assets_download.blend", "sha256": "d2c09f34febbef1db3de830c37c33c1f7de8d6fc7ea1ef2aaf9eed7de243bb27"},
|
||||
"generator": {"path": "tools/web/generated/M16-GAP-00265.py", "sha256": "1a86706f3c011d4a0f0b443bb6db3500704b898f0b42af5795ed2ee94b6c4286"},
|
||||
"desktopChecker": {"path": "tools/web/check-action-assets-download-desktop.py", "sha256": "512737cde0efa6cc6a669939c243e7b609cc7c37fc223c4923cc6a9adc035318"},
|
||||
"webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "b4c76eefccf111de9b184220aacacd892221089eca5c857683efb8d2fee1a050"},
|
||||
"reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"},
|
||||
"nativeStub": {"path": "web/engine/web_engine_native_reader_stub.cpp", "sha256": "2a1526e08cf446bb23a91c8c2ae799db38a0aeed0a809a15ead427780600481a"},
|
||||
"wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"},
|
||||
"wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"},
|
||||
"wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"},
|
||||
"wasmJsPublic": {"path": "web/app/public/vendor/blender/web_engine.js", "sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"},
|
||||
"desktopReport": {"path": "tests/golden/M16-GAP-00265/assets-download-desktop-report.json", "sha256": "1ce5009ec4582730437cbefbb5722699bc6d2fe0824eede52bf8de98b85ccb24"},
|
||||
"webReport": {"path": "tests/golden/M16-GAP-00265/assets-download-local-exact-report.json", "sha256": "35d1005b88bb477b0bc686297d4e178fbdf1c3feeb7fb29bb443a019d7a34b4d"},
|
||||
"status": {"path": "docs/status/M16-GAP-00265.md", "sha256": "377f5180ae25d3912237ca1b3283f0a5f9d5292fe28952515918ec22467f8d9f"},
|
||||
"taskContext": {"path": "tests/golden/M16-GAP-00265/task-context.json", "sha256": "d9b040e30c2443cfb11dc196dbb042b1aa6a72a3a27b599ccdc591a98e340395"}
|
||||
},
|
||||
"nextTask": "M16-GAP-00266"
|
||||
}
|
||||
185
tests/golden/M16-GAP-00265/task-context.json
Normal file
185
tests/golden/M16-GAP-00265/task-context.json
Normal file
@@ -0,0 +1,185 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00265",
|
||||
"parentTask": "M16-GAP-00264",
|
||||
"status": "in_progress",
|
||||
"goal": "Make the same minimal fixture produce observable operator:asset.assets_download 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.assets_download",
|
||||
"ownerFamily": "OPERATOR",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00265.py -- tests/files/web/generated/M16-GAP-00265-operator-asset.assets_download.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00265",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00265"
|
||||
],
|
||||
"inputPaths": [
|
||||
"tools/web/generated/M16-GAP-00265.py"
|
||||
],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 1972,
|
||||
"contextRemainingTokens": 491
|
||||
},
|
||||
"source": {
|
||||
"bytes": 7932,
|
||||
"tokens": 1985
|
||||
},
|
||||
"selected": [
|
||||
{
|
||||
"path": "tools/web/generated/M16-GAP-00265.py",
|
||||
"bytes": 740,
|
||||
"tokens": 185
|
||||
}
|
||||
],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00265-operator-asset.assets_download.blend",
|
||||
"bytes": 85879,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"bytes": 240371,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 791968,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00265/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00265.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00265/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 1,
|
||||
"bytes": 740,
|
||||
"tokens": 185
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00266",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00265.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00264/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00264.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00265.md",
|
||||
"tests/golden/M16-GAP-00264/manifest.json",
|
||||
"docs/status/M16-GAP-00264.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-00264",
|
||||
"parentTask": "M16-GAP-00263",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00265",
|
||||
"artifactCount": 15
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00264 Status",
|
||||
"status: done",
|
||||
"task: asset.asset_download operator LOCAL_EXACT slice",
|
||||
"updated: 2026-08-23 America/New_York",
|
||||
"scope:",
|
||||
"- The fixture contains one fake-user external Image with source path",
|
||||
" `//assets/WebGapAssetDownload.png`. Blender desktop enables online access for",
|
||||
" the isolated check, runs `ASSET_OT_asset_download` for a missing remote"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1794,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 449
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2495,
|
||||
"lines": 47,
|
||||
"tokens": 624
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/M16-GAP-00265.md",
|
||||
"bytes": 1794,
|
||||
"lines": 38,
|
||||
"tokens": 449
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00264/manifest.json",
|
||||
"bytes": 2654,
|
||||
"lines": 29,
|
||||
"tokens": 664
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00264.md",
|
||||
"bytes": 989,
|
||||
"lines": 26,
|
||||
"tokens": 248
|
||||
}
|
||||
],
|
||||
"sourceTokens": 1985,
|
||||
"evidenceFiles": 1,
|
||||
"evidenceBytes": 740,
|
||||
"evidenceTokens": 185,
|
||||
"totalTokens": 2170,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 3194,
|
||||
"serializedContextTokens": 754,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
38
tests/golden/M16-GAP-00266/assign-action-desktop-report.json
Normal file
38
tests/golden/M16-GAP-00266/assign-action-desktop-report.json
Normal file
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"after": {
|
||||
"channels": [
|
||||
{
|
||||
"frames": [
|
||||
1.0,
|
||||
5.0
|
||||
],
|
||||
"index": 0,
|
||||
"path": "location"
|
||||
}
|
||||
],
|
||||
"name": "WebGapAssignAction"
|
||||
},
|
||||
"before": {
|
||||
"channels": [
|
||||
{
|
||||
"frames": [
|
||||
1.0,
|
||||
5.0
|
||||
],
|
||||
"index": 0,
|
||||
"path": "location"
|
||||
}
|
||||
],
|
||||
"name": "WebGapAssignAction"
|
||||
},
|
||||
"blenderVersion": "5.2.0 LTS",
|
||||
"fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00266-operator-asset.assign_action.blend",
|
||||
"fixtureSha256": "6cefa4e22e0e8d5b2482cbe62c36e10cc58f51fa94fe843e6b953c438479fa98",
|
||||
"mainMutation": "NONE",
|
||||
"operation": "ASSET_ASSIGN_ACTION_DESKTOP",
|
||||
"operatorStatus": "CANCELLED",
|
||||
"poll": false,
|
||||
"saveReopen": "EXACT",
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00266"
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00266",
|
||||
"operation": "ASSET_ASSIGN_ACTION_LOCAL_EXACT",
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00266-operator-asset.assign_action.blend",
|
||||
"sha256": "6cefa4e22e0e8d5b2482cbe62c36e10cc58f51fa94fe843e6b953c438479fa98"
|
||||
},
|
||||
"desktop": {
|
||||
"status": "EXACT",
|
||||
"report": "tests/golden/M16-GAP-00266/assign-action-desktop-report.json",
|
||||
"poll": false,
|
||||
"operatorStatus": "CANCELLED",
|
||||
"mainMutation": "NONE"
|
||||
},
|
||||
"wasm": {
|
||||
"status": "EXACT",
|
||||
"actionId": "action:WebGapAssignAction:object:WebGapAssignActionObject",
|
||||
"targetId": "object:WebGapAssignActionObject",
|
||||
"channelPaths": [
|
||||
"location[0]"
|
||||
],
|
||||
"keyframesPerChannel": [
|
||||
2
|
||||
]
|
||||
},
|
||||
"saveReopen": "EXACT",
|
||||
"negative": {
|
||||
"malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION"
|
||||
},
|
||||
"nextTask": "M16-GAP-00267"
|
||||
}
|
||||
28
tests/golden/M16-GAP-00266/manifest.json
Normal file
28
tests/golden/M16-GAP-00266/manifest.json
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00266",
|
||||
"parentTask": "M16-GAP-00265",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "ASSET_ASSIGN_ACTION_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {"path": "tests/golden/M16-GAP-00265/manifest.json", "sha256": "9d3a041a635b7d0413797d7fb5bb60914a28ab43415517081b3d9f2ebf644b2d"},
|
||||
"fixture": {"path": "tests/files/web/generated/M16-GAP-00266-operator-asset.assign_action.blend", "sha256": "6cefa4e22e0e8d5b2482cbe62c36e10cc58f51fa94fe843e6b953c438479fa98"},
|
||||
"generator": {"path": "tools/web/generated/M16-GAP-00266.py", "sha256": "e299bf65f70bc4eb08204f42894c961d0a7c2c69bfab5e4a26ed8924f52a6271"},
|
||||
"desktopChecker": {"path": "tools/web/check-action-assign-action-desktop.py", "sha256": "b4ffdc3bd9120c2823fdcf29278695e49c21b3ee07345daa15712ef6d57ca6ec"},
|
||||
"webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "ed8ec2e2f69cbba7a92ab91e6d4a0dad5b53a61fe280719e2a44c78e0a2ae1e3"},
|
||||
"reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"},
|
||||
"nativeStub": {"path": "web/engine/web_engine_native_reader_stub.cpp", "sha256": "2a1526e08cf446bb23a91c8c2ae799db38a0aeed0a809a15ead427780600481a"},
|
||||
"wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"},
|
||||
"wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"},
|
||||
"wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"},
|
||||
"wasmJsPublic": {"path": "web/app/public/vendor/blender/web_engine.js", "sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"},
|
||||
"desktopReport": {"path": "tests/golden/M16-GAP-00266/assign-action-desktop-report.json", "sha256": "aacd8ad7641a390a2f2b4990d4b324bb9478ee0a45a42c9bf4e52720038dfab4"},
|
||||
"webReport": {"path": "tests/golden/M16-GAP-00266/assign-action-local-exact-report.json", "sha256": "e2376fd259124a1d90db2ded522f1231df3d12d0f5eb3d82c229e95fc680f1dc"},
|
||||
"status": {"path": "docs/status/M16-GAP-00266.md", "sha256": "5173d19e5d61195f3a6b4688d607274a099e47b5c2bcbc39d0ed1d6ad5caaccb"},
|
||||
"taskContext": {"path": "tests/golden/M16-GAP-00266/task-context.json", "sha256": "167bfdff69ccc7568d7c20d4c61be173604255e1a9cd698e55df690444763dfb"}
|
||||
},
|
||||
"nextTask": "M16-GAP-00267"
|
||||
}
|
||||
185
tests/golden/M16-GAP-00266/task-context.json
Normal file
185
tests/golden/M16-GAP-00266/task-context.json
Normal file
@@ -0,0 +1,185 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00266",
|
||||
"parentTask": "M16-GAP-00265",
|
||||
"status": "in_progress",
|
||||
"goal": "Make the same minimal fixture produce observable operator:asset.assign_action 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.assign_action",
|
||||
"ownerFamily": "OPERATOR",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00266.py -- tests/files/web/generated/M16-GAP-00266-operator-asset.assign_action.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00266",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00266"
|
||||
],
|
||||
"inputPaths": [
|
||||
"tools/web/generated/M16-GAP-00266.py"
|
||||
],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 2018,
|
||||
"contextRemainingTokens": 504
|
||||
},
|
||||
"source": {
|
||||
"bytes": 7886,
|
||||
"tokens": 1972
|
||||
},
|
||||
"selected": [
|
||||
{
|
||||
"path": "tools/web/generated/M16-GAP-00266.py",
|
||||
"bytes": 1014,
|
||||
"tokens": 254
|
||||
}
|
||||
],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00266-operator-asset.assign_action.blend",
|
||||
"bytes": 86324,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"bytes": 240371,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 795556,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00266/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00266.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00266/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 1,
|
||||
"bytes": 1014,
|
||||
"tokens": 254
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00267",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00266.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00265/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00265.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00266.md",
|
||||
"tests/golden/M16-GAP-00265/manifest.json",
|
||||
"docs/status/M16-GAP-00265.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-00265",
|
||||
"parentTask": "M16-GAP-00264",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00266",
|
||||
"artifactCount": 15
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00265 Status",
|
||||
"status: done",
|
||||
"task: asset.assets_download operator LOCAL_EXACT slice",
|
||||
"updated: 2026-08-23 America/New_York",
|
||||
"scope:",
|
||||
"- The fixture contains one fake-user external Image with source path",
|
||||
" `//assets/WebGapAssetsDownload.png`. Blender desktop enables online access,",
|
||||
" confirms `ASSET_OT_assets_download.poll()` is false, and records the real"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1784,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 446
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2495,
|
||||
"lines": 47,
|
||||
"tokens": 624
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/M16-GAP-00266.md",
|
||||
"bytes": 1784,
|
||||
"lines": 38,
|
||||
"tokens": 446
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00265/manifest.json",
|
||||
"bytes": 2659,
|
||||
"lines": 29,
|
||||
"tokens": 665
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00265.md",
|
||||
"bytes": 948,
|
||||
"lines": 26,
|
||||
"tokens": 237
|
||||
}
|
||||
],
|
||||
"sourceTokens": 1972,
|
||||
"evidenceFiles": 1,
|
||||
"evidenceBytes": 1014,
|
||||
"evidenceTokens": 254,
|
||||
"totalTokens": 2226,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 3250,
|
||||
"serializedContextTokens": 753,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"after": {
|
||||
"filepath": "//WebGapBrowseContaining.blend",
|
||||
"name": "WebGapBrowseContaining.blend",
|
||||
"packed": false
|
||||
},
|
||||
"before": {
|
||||
"filepath": "//WebGapBrowseContaining.blend",
|
||||
"name": "WebGapBrowseContaining.blend",
|
||||
"packed": false
|
||||
},
|
||||
"blenderVersion": "5.2.0 LTS",
|
||||
"fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00267-operator-asset.browse_containing_blend_file.blend",
|
||||
"fixtureSha256": "29e5e42f3ebe458a4ded1d1a7a0a1cd0fecb50867b193ee3ec98485df36e7d61",
|
||||
"mainMutation": "NONE",
|
||||
"operation": "ASSET_BROWSE_CONTAINING_BLEND_FILE_DESKTOP",
|
||||
"operatorStatus": "CANCELLED",
|
||||
"poll": false,
|
||||
"saveReopen": "EXACT",
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00267"
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00267",
|
||||
"operation": "ASSET_BROWSE_CONTAINING_BLEND_FILE_LOCAL_EXACT",
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00267-operator-asset.browse_containing_blend_file.blend",
|
||||
"sha256": "29e5e42f3ebe458a4ded1d1a7a0a1cd0fecb50867b193ee3ec98485df36e7d61"
|
||||
},
|
||||
"desktop": {
|
||||
"status": "EXACT",
|
||||
"report": "tests/golden/M16-GAP-00267/browse-containing-desktop-report.json",
|
||||
"poll": false,
|
||||
"operatorStatus": "CANCELLED",
|
||||
"mainMutation": "NONE"
|
||||
},
|
||||
"wasm": {
|
||||
"status": "EXACT",
|
||||
"libraryId": "library:WebGapBrowseContaining.blend",
|
||||
"sourcePath": "//WebGapBrowseContaining.blend",
|
||||
"libraryStatus": "EXTERNAL_REQUIRED",
|
||||
"dependencyIds": []
|
||||
},
|
||||
"saveReopen": "EXACT",
|
||||
"negative": {
|
||||
"malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION"
|
||||
},
|
||||
"nextTask": "M16-GAP-00268"
|
||||
}
|
||||
29
tests/golden/M16-GAP-00267/manifest.json
Normal file
29
tests/golden/M16-GAP-00267/manifest.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00267",
|
||||
"parentTask": "M16-GAP-00266",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "ASSET_BROWSE_CONTAINING_BLEND_FILE_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {"path": "tests/golden/M16-GAP-00266/manifest.json", "sha256": "aacbc7e4bfad12e03e8ba46dddef7d0c72d0511e8df0e158ef0005d4bb20dcf0"},
|
||||
"fixture": {"path": "tests/files/web/generated/M16-GAP-00267-operator-asset.browse_containing_blend_file.blend", "sha256": "29e5e42f3ebe458a4ded1d1a7a0a1cd0fecb50867b193ee3ec98485df36e7d61"},
|
||||
"librarySource": {"path": "tests/files/web/generated/WebGapBrowseContaining.blend", "sha256": "661f398dd346bc18484308b154845ca5d7d82af9e9e367767c2c1ef20f3fd369"},
|
||||
"generator": {"path": "tools/web/generated/M16-GAP-00267.py", "sha256": "bc950bc190d2e9c607a6d41cfc448977fe478b98723640287f63f4f42fcd2052"},
|
||||
"desktopChecker": {"path": "tools/web/check-action-browse-containing-blend-file-desktop.py", "sha256": "05b68021e96e9b480298ddb2bd5c814ecf919a622d57ceabac7534eec31aad90"},
|
||||
"webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "d6528398cf1ca5e8047df546715829963bca689c367c1374e10d8ee137cce232"},
|
||||
"reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"},
|
||||
"nativeStub": {"path": "web/engine/web_engine_native_reader_stub.cpp", "sha256": "2a1526e08cf446bb23a91c8c2ae799db38a0aeed0a809a15ead427780600481a"},
|
||||
"wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"},
|
||||
"wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"},
|
||||
"wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"},
|
||||
"wasmJsPublic": {"path": "web/app/public/vendor/blender/web_engine.js", "sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"},
|
||||
"desktopReport": {"path": "tests/golden/M16-GAP-00267/browse-containing-desktop-report.json", "sha256": "cad41d8dfb33770fdbd87f44d2eb04b070cdb120665a188a379c0436fc25f324"},
|
||||
"webReport": {"path": "tests/golden/M16-GAP-00267/browse-containing-local-exact-report.json", "sha256": "2c522d5b6c545f7bf8d7238d881a94c2d6463abcb41bf24989b3218962a51ac1"},
|
||||
"status": {"path": "docs/status/M16-GAP-00267.md", "sha256": "2784e307c2f4747a99dfecea527d413b5aea42c640cb2e5f0e5d3636619a8874"},
|
||||
"taskContext": {"path": "tests/golden/M16-GAP-00267/task-context.json", "sha256": "47039236bfbb8d1e2d130708d25ead95b54027b1b061d91ae73f686ed75660b0"}
|
||||
},
|
||||
"nextTask": "M16-GAP-00268"
|
||||
}
|
||||
185
tests/golden/M16-GAP-00267/task-context.json
Normal file
185
tests/golden/M16-GAP-00267/task-context.json
Normal file
@@ -0,0 +1,185 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00267",
|
||||
"parentTask": "M16-GAP-00266",
|
||||
"status": "in_progress",
|
||||
"goal": "Make the same minimal fixture produce observable operator:asset.browse_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.",
|
||||
"scope": {
|
||||
"gap": "operator:asset.browse_containing_blend_file",
|
||||
"ownerFamily": "OPERATOR",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00267.py -- tests/files/web/generated/M16-GAP-00267-operator-asset.browse_containing_blend_file.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00267",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00267"
|
||||
],
|
||||
"inputPaths": [
|
||||
"tools/web/generated/M16-GAP-00267.py"
|
||||
],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 1945,
|
||||
"contextRemainingTokens": 485
|
||||
},
|
||||
"source": {
|
||||
"bytes": 7959,
|
||||
"tokens": 1991
|
||||
},
|
||||
"selected": [
|
||||
{
|
||||
"path": "tools/web/generated/M16-GAP-00267.py",
|
||||
"bytes": 1602,
|
||||
"tokens": 401
|
||||
}
|
||||
],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00267-operator-asset.browse_containing_blend_file.blend",
|
||||
"bytes": 85938,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"bytes": 240371,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 799287,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00267/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00267.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00267/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 1,
|
||||
"bytes": 1602,
|
||||
"tokens": 401
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00268",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00267.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00266/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00266.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00267.md",
|
||||
"tests/golden/M16-GAP-00266/manifest.json",
|
||||
"docs/status/M16-GAP-00266.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-00266",
|
||||
"parentTask": "M16-GAP-00265",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00267",
|
||||
"artifactCount": 15
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00266 Status",
|
||||
"status: done",
|
||||
"task: asset.assign_action operator LOCAL_EXACT slice",
|
||||
"updated: 2026-08-23 America/New_York",
|
||||
"scope:",
|
||||
"- The fixture contains one fake-user `WebGapAssignAction` with a two-key",
|
||||
" `location[0]` channel assigned to `WebGapAssignActionObject`. Blender",
|
||||
" desktop observes the no-Asset-Shelf context as `poll=false`, records the"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1859,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 465
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2495,
|
||||
"lines": 47,
|
||||
"tokens": 624
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/M16-GAP-00267.md",
|
||||
"bytes": 1859,
|
||||
"lines": 38,
|
||||
"tokens": 465
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00266/manifest.json",
|
||||
"bytes": 2649,
|
||||
"lines": 29,
|
||||
"tokens": 663
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00266.md",
|
||||
"bytes": 956,
|
||||
"lines": 25,
|
||||
"tokens": 239
|
||||
}
|
||||
],
|
||||
"sourceTokens": 1991,
|
||||
"evidenceFiles": 1,
|
||||
"evidenceBytes": 1602,
|
||||
"evidenceTokens": 401,
|
||||
"totalTokens": 2392,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 3416,
|
||||
"serializedContextTokens": 765,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"after": {
|
||||
"filepath": "//WebGapBundleInstall.blend",
|
||||
"name": "WebGapBundleInstall.blend",
|
||||
"packed": false
|
||||
},
|
||||
"before": {
|
||||
"filepath": "//WebGapBundleInstall.blend",
|
||||
"name": "WebGapBundleInstall.blend",
|
||||
"packed": false
|
||||
},
|
||||
"blenderVersion": "5.2.0 LTS",
|
||||
"fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00268-operator-asset.bundle_install.blend",
|
||||
"fixtureSha256": "64dd97ac23f70c83261635fc2337555b62818b92ffedee60cb13f3335851a994",
|
||||
"mainMutation": "NONE",
|
||||
"operation": "ASSET_BUNDLE_INSTALL_DESKTOP",
|
||||
"operatorStatus": "CANCELLED",
|
||||
"poll": false,
|
||||
"saveReopen": "EXACT",
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00268"
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00268",
|
||||
"operation": "ASSET_BUNDLE_INSTALL_LOCAL_EXACT",
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00268-operator-asset.bundle_install.blend",
|
||||
"sha256": "64dd97ac23f70c83261635fc2337555b62818b92ffedee60cb13f3335851a994"
|
||||
},
|
||||
"desktop": {
|
||||
"status": "EXACT",
|
||||
"report": "tests/golden/M16-GAP-00268/bundle-install-desktop-report.json",
|
||||
"poll": false,
|
||||
"operatorStatus": "CANCELLED",
|
||||
"mainMutation": "NONE"
|
||||
},
|
||||
"wasm": {
|
||||
"status": "EXACT",
|
||||
"libraryId": "library:WebGapBundleInstall.blend",
|
||||
"sourcePath": "//WebGapBundleInstall.blend",
|
||||
"libraryStatus": "EXTERNAL_REQUIRED",
|
||||
"dependencyIds": []
|
||||
},
|
||||
"saveReopen": "EXACT",
|
||||
"negative": {
|
||||
"malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION"
|
||||
},
|
||||
"nextTask": "M16-GAP-00269"
|
||||
}
|
||||
29
tests/golden/M16-GAP-00268/manifest.json
Normal file
29
tests/golden/M16-GAP-00268/manifest.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00268",
|
||||
"parentTask": "M16-GAP-00267",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "ASSET_BUNDLE_INSTALL_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {"path": "tests/golden/M16-GAP-00267/manifest.json", "sha256": "918b5e13ec9e92186ec74f2c49aef4602dee002a92a7c1303ce0c86ef5d5370d"},
|
||||
"fixture": {"path": "tests/files/web/generated/M16-GAP-00268-operator-asset.bundle_install.blend", "sha256": "64dd97ac23f70c83261635fc2337555b62818b92ffedee60cb13f3335851a994"},
|
||||
"librarySource": {"path": "tests/files/web/generated/WebGapBundleInstall.blend", "sha256": "89537577e6e5939da73f37fb22d40ec336a30e7ad491043b4054b0b14e4418fe"},
|
||||
"generator": {"path": "tools/web/generated/M16-GAP-00268.py", "sha256": "4b9ab994369328b54f630882410066f5ef04980108a692d686430b8331454b6c"},
|
||||
"desktopChecker": {"path": "tools/web/check-action-bundle-install-desktop.py", "sha256": "a34f4c2095c0ea2d47837f5d631d8dea6a19a70a620982333ddc9abd0a227099"},
|
||||
"webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "b0abffb689387f6ee753292f6592c81b307e71e392760b1277529d9d176fd7ad"},
|
||||
"reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"},
|
||||
"nativeStub": {"path": "web/engine/web_engine_native_reader_stub.cpp", "sha256": "2a1526e08cf446bb23a91c8c2ae799db38a0aeed0a809a15ead427780600481a"},
|
||||
"wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"},
|
||||
"wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"},
|
||||
"wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"},
|
||||
"wasmJsPublic": {"path": "web/app/public/vendor/blender/web_engine.js", "sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"},
|
||||
"desktopReport": {"path": "tests/golden/M16-GAP-00268/bundle-install-desktop-report.json", "sha256": "088fbc1390ae171dc219c201f09519f8c0fc460bc61138d13d189e3e6ec6d1c0"},
|
||||
"webReport": {"path": "tests/golden/M16-GAP-00268/bundle-install-local-exact-report.json", "sha256": "be82a7849a167cebed509f7ac451f3c1c1756757afe34e940453df686b507d97"},
|
||||
"status": {"path": "docs/status/M16-GAP-00268.md", "sha256": "7556cb0df348aca6d83dadc3d155e5ab9d9403e1e470f765acebcaa851a7d058"},
|
||||
"taskContext": {"path": "tests/golden/M16-GAP-00268/task-context.json", "sha256": "e44a443c29beab5923dbbab2a7e8e8e830654873f8d093345b24c3cd758620ad"}
|
||||
},
|
||||
"nextTask": "M16-GAP-00269"
|
||||
}
|
||||
185
tests/golden/M16-GAP-00268/task-context.json
Normal file
185
tests/golden/M16-GAP-00268/task-context.json
Normal file
@@ -0,0 +1,185 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00268",
|
||||
"parentTask": "M16-GAP-00267",
|
||||
"status": "in_progress",
|
||||
"goal": "Make the same minimal fixture produce observable operator:asset.bundle_install 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.bundle_install",
|
||||
"ownerFamily": "OPERATOR",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00268.py -- tests/files/web/generated/M16-GAP-00268-operator-asset.bundle_install.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00268",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00268"
|
||||
],
|
||||
"inputPaths": [
|
||||
"tools/web/generated/M16-GAP-00268.py"
|
||||
],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 1701,
|
||||
"contextRemainingTokens": 423
|
||||
},
|
||||
"source": {
|
||||
"bytes": 8203,
|
||||
"tokens": 2053
|
||||
},
|
||||
"selected": [
|
||||
{
|
||||
"path": "tools/web/generated/M16-GAP-00268.py",
|
||||
"bytes": 1587,
|
||||
"tokens": 397
|
||||
}
|
||||
],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00268-operator-asset.bundle_install.blend",
|
||||
"bytes": 85884,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"bytes": 240371,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 802967,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00268/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00268.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00268/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 1,
|
||||
"bytes": 1587,
|
||||
"tokens": 397
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00269",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00268.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00267/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00267.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00268.md",
|
||||
"tests/golden/M16-GAP-00267/manifest.json",
|
||||
"docs/status/M16-GAP-00267.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-00267",
|
||||
"parentTask": "M16-GAP-00266",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00268",
|
||||
"artifactCount": 16
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00267 Status",
|
||||
"status: done",
|
||||
"task: asset.browse_containing_blend_file operator LOCAL_EXACT slice",
|
||||
"updated: 2026-08-23 America/New_York",
|
||||
"scope:",
|
||||
"- The fixture links one object from external `WebGapBrowseContaining.blend`.",
|
||||
" Blender desktop observes the no-selected-asset boundary as `poll=false`,",
|
||||
" records `CANCELLED` for `ASSET_OT_browse_containing_blend_file`, and confirms"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1789,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 448
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2495,
|
||||
"lines": 47,
|
||||
"tokens": 624
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/M16-GAP-00268.md",
|
||||
"bytes": 1789,
|
||||
"lines": 38,
|
||||
"tokens": 448
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00267/manifest.json",
|
||||
"bytes": 2869,
|
||||
"lines": 30,
|
||||
"tokens": 718
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00267.md",
|
||||
"bytes": 1050,
|
||||
"lines": 27,
|
||||
"tokens": 263
|
||||
}
|
||||
],
|
||||
"sourceTokens": 2053,
|
||||
"evidenceFiles": 1,
|
||||
"evidenceBytes": 1587,
|
||||
"evidenceTokens": 397,
|
||||
"totalTokens": 2450,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 3474,
|
||||
"serializedContextTokens": 754,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"after": {
|
||||
"filepath": "//WebGapCatalogDelete.blend",
|
||||
"name": "WebGapCatalogDelete.blend",
|
||||
"packed": false
|
||||
},
|
||||
"before": {
|
||||
"filepath": "//WebGapCatalogDelete.blend",
|
||||
"name": "WebGapCatalogDelete.blend",
|
||||
"packed": false
|
||||
},
|
||||
"blenderVersion": "5.2.0 LTS",
|
||||
"fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00269-operator-asset.catalog_delete.blend",
|
||||
"fixtureSha256": "7fa8ebaf85c2bd474dcaa9e4ce94ad81665b501841d15c48e371bb8f033702a2",
|
||||
"mainMutation": "NONE",
|
||||
"operation": "ASSET_CATALOG_DELETE_DESKTOP",
|
||||
"operatorStatus": "CANCELLED",
|
||||
"poll": false,
|
||||
"saveReopen": "EXACT",
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00269"
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00269",
|
||||
"operation": "ASSET_CATALOG_DELETE_LOCAL_EXACT",
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00269-operator-asset.catalog_delete.blend",
|
||||
"sha256": "7fa8ebaf85c2bd474dcaa9e4ce94ad81665b501841d15c48e371bb8f033702a2"
|
||||
},
|
||||
"desktop": {
|
||||
"status": "EXACT",
|
||||
"report": "tests/golden/M16-GAP-00269/catalog-delete-desktop-report.json",
|
||||
"poll": false,
|
||||
"operatorStatus": "CANCELLED",
|
||||
"mainMutation": "NONE"
|
||||
},
|
||||
"wasm": {
|
||||
"status": "EXACT",
|
||||
"libraryId": "library:WebGapCatalogDelete.blend",
|
||||
"sourcePath": "//WebGapCatalogDelete.blend",
|
||||
"libraryStatus": "EXTERNAL_REQUIRED",
|
||||
"dependencyIds": []
|
||||
},
|
||||
"saveReopen": "EXACT",
|
||||
"negative": {
|
||||
"malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION"
|
||||
},
|
||||
"nextTask": "M16-GAP-00270"
|
||||
}
|
||||
29
tests/golden/M16-GAP-00269/manifest.json
Normal file
29
tests/golden/M16-GAP-00269/manifest.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00269",
|
||||
"parentTask": "M16-GAP-00268",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "ASSET_CATALOG_DELETE_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {"path": "tests/golden/M16-GAP-00268/manifest.json", "sha256": "8926cead64df23f2bf6386ac728fb8836bcef5c5bd645faecad45a3eb7b06b03"},
|
||||
"fixture": {"path": "tests/files/web/generated/M16-GAP-00269-operator-asset.catalog_delete.blend", "sha256": "7fa8ebaf85c2bd474dcaa9e4ce94ad81665b501841d15c48e371bb8f033702a2"},
|
||||
"librarySource": {"path": "tests/files/web/generated/WebGapCatalogDelete.blend", "sha256": "137a558e0ac46a6b9c466b1023a871adb6666ec0de0f9756e041ce8858ed374d"},
|
||||
"generator": {"path": "tools/web/generated/M16-GAP-00269.py", "sha256": "2be254c3d36647b1d6dfb06af054ab96a0def10666f911bedc3a4225206ff749"},
|
||||
"desktopChecker": {"path": "tools/web/check-action-catalog-delete-desktop.py", "sha256": "d0347a61c6a0388062e0f9cdaa6c9a25fc3662c667b6641705543ac816e0a355"},
|
||||
"webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "789d04ba83d2119aec7f5d2531acbb8c5aef946e520df9e5e9aa7b415bb2e677"},
|
||||
"reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"},
|
||||
"nativeStub": {"path": "web/engine/web_engine_native_reader_stub.cpp", "sha256": "2a1526e08cf446bb23a91c8c2ae799db38a0aeed0a809a15ead427780600481a"},
|
||||
"wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"},
|
||||
"wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"},
|
||||
"wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"},
|
||||
"wasmJsPublic": {"path": "web/app/public/vendor/blender/web_engine.js", "sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"},
|
||||
"desktopReport": {"path": "tests/golden/M16-GAP-00269/catalog-delete-desktop-report.json", "sha256": "68070e257397148441c11e1ecfc9a2202f9955cee17a3f8ee878d4e0f1310790"},
|
||||
"webReport": {"path": "tests/golden/M16-GAP-00269/catalog-delete-local-exact-report.json", "sha256": "1cd38bfab4ba20d3238bbb11fc9838b5479f96c345c6f98e479eea25fe229bd1"},
|
||||
"status": {"path": "docs/status/M16-GAP-00269.md", "sha256": "6c65ae2c6884a89c9051b13d5336cb9e8c454ccb8e9ed8d80e84b09ef84db0c7"},
|
||||
"taskContext": {"path": "tests/golden/M16-GAP-00269/task-context.json", "sha256": "e1bb2480ec7894a2ce1b8c5ae2b221f6e55cf19c7c4e72aef04d89d5da147878"}
|
||||
},
|
||||
"nextTask": "M16-GAP-00270"
|
||||
}
|
||||
185
tests/golden/M16-GAP-00269/task-context.json
Normal file
185
tests/golden/M16-GAP-00269/task-context.json
Normal file
@@ -0,0 +1,185 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00269",
|
||||
"parentTask": "M16-GAP-00268",
|
||||
"status": "in_progress",
|
||||
"goal": "Make the same minimal fixture produce observable operator:asset.catalog_delete 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.catalog_delete",
|
||||
"ownerFamily": "OPERATOR",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00269.py -- tests/files/web/generated/M16-GAP-00269-operator-asset.catalog_delete.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00269",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00269"
|
||||
],
|
||||
"inputPaths": [
|
||||
"tools/web/generated/M16-GAP-00269.py"
|
||||
],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 1792,
|
||||
"contextRemainingTokens": 446
|
||||
},
|
||||
"source": {
|
||||
"bytes": 8112,
|
||||
"tokens": 2030
|
||||
},
|
||||
"selected": [
|
||||
{
|
||||
"path": "tools/web/generated/M16-GAP-00269.py",
|
||||
"bytes": 1536,
|
||||
"tokens": 384
|
||||
}
|
||||
],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00269-operator-asset.catalog_delete.blend",
|
||||
"bytes": 85903,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"bytes": 240371,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 806647,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00269/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00269.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00269/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 1,
|
||||
"bytes": 1536,
|
||||
"tokens": 384
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00270",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00269.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00268/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00268.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00269.md",
|
||||
"tests/golden/M16-GAP-00268/manifest.json",
|
||||
"docs/status/M16-GAP-00268.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-00268",
|
||||
"parentTask": "M16-GAP-00267",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00269",
|
||||
"artifactCount": 16
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00268 Status",
|
||||
"status: done",
|
||||
"task: asset.bundle_install operator LOCAL_EXACT slice",
|
||||
"updated: 2026-08-23 America/New_York",
|
||||
"scope:",
|
||||
"- The fixture links one object from external `WebGapBundleInstall.blend`.",
|
||||
" Blender desktop observes the no-bundle context as `poll=false`, records",
|
||||
" `CANCELLED` for `ASSET_OT_bundle_install`, and confirms no Main mutation."
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1789,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 448
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2495,
|
||||
"lines": 47,
|
||||
"tokens": 624
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/M16-GAP-00269.md",
|
||||
"bytes": 1789,
|
||||
"lines": 38,
|
||||
"tokens": 448
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00268/manifest.json",
|
||||
"bytes": 2818,
|
||||
"lines": 30,
|
||||
"tokens": 705
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00268.md",
|
||||
"bytes": 1010,
|
||||
"lines": 27,
|
||||
"tokens": 253
|
||||
}
|
||||
],
|
||||
"sourceTokens": 2030,
|
||||
"evidenceFiles": 1,
|
||||
"evidenceBytes": 1536,
|
||||
"evidenceTokens": 384,
|
||||
"totalTokens": 2414,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 3438,
|
||||
"serializedContextTokens": 754,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
22
tests/golden/M16-GAP-00270/catalog-new-desktop-report.json
Normal file
22
tests/golden/M16-GAP-00270/catalog-new-desktop-report.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"after": {
|
||||
"filepath": "//WebGapCatalogNew.blend",
|
||||
"name": "WebGapCatalogNew.blend",
|
||||
"packed": false
|
||||
},
|
||||
"before": {
|
||||
"filepath": "//WebGapCatalogNew.blend",
|
||||
"name": "WebGapCatalogNew.blend",
|
||||
"packed": false
|
||||
},
|
||||
"blenderVersion": "5.2.0 LTS",
|
||||
"fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00270-operator-asset.catalog_new.blend",
|
||||
"fixtureSha256": "8c874d8ec51cb7cbfa787780ca7c8e636ce9a98b4998ef81ddbd9fdd34658662",
|
||||
"mainMutation": "NONE",
|
||||
"operation": "ASSET_CATALOG_NEW_DESKTOP",
|
||||
"operatorStatus": "CANCELLED",
|
||||
"poll": false,
|
||||
"saveReopen": "EXACT",
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00270"
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00270",
|
||||
"operation": "ASSET_CATALOG_NEW_LOCAL_EXACT",
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00270-operator-asset.catalog_new.blend",
|
||||
"sha256": "8c874d8ec51cb7cbfa787780ca7c8e636ce9a98b4998ef81ddbd9fdd34658662"
|
||||
},
|
||||
"desktop": {
|
||||
"status": "EXACT",
|
||||
"report": "tests/golden/M16-GAP-00270/catalog-new-desktop-report.json",
|
||||
"poll": false,
|
||||
"operatorStatus": "CANCELLED",
|
||||
"mainMutation": "NONE"
|
||||
},
|
||||
"wasm": {
|
||||
"status": "EXACT",
|
||||
"libraryId": "library:WebGapCatalogNew.blend",
|
||||
"sourcePath": "//WebGapCatalogNew.blend",
|
||||
"libraryStatus": "EXTERNAL_REQUIRED",
|
||||
"dependencyIds": []
|
||||
},
|
||||
"saveReopen": "EXACT",
|
||||
"negative": {
|
||||
"malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION"
|
||||
},
|
||||
"nextTask": "M16-GAP-00271"
|
||||
}
|
||||
29
tests/golden/M16-GAP-00270/manifest.json
Normal file
29
tests/golden/M16-GAP-00270/manifest.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00270",
|
||||
"parentTask": "M16-GAP-00269",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "ASSET_CATALOG_NEW_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {"path": "tests/golden/M16-GAP-00269/manifest.json", "sha256": "d197196e37e5f26f13db0f03c099287fe444ebe64688bb60d6ce38e1803559fb"},
|
||||
"fixture": {"path": "tests/files/web/generated/M16-GAP-00270-operator-asset.catalog_new.blend", "sha256": "8c874d8ec51cb7cbfa787780ca7c8e636ce9a98b4998ef81ddbd9fdd34658662"},
|
||||
"librarySource": {"path": "tests/files/web/generated/WebGapCatalogNew.blend", "sha256": "a12a6480d7254d290d0617e16f72c93ef4cbd043ebc004f94559436988a66ef2"},
|
||||
"generator": {"path": "tools/web/generated/M16-GAP-00270.py", "sha256": "ccaa0c91694f931c0fb6313695b8bb5eae795e8003d24ff67f0eb21328184727"},
|
||||
"desktopChecker": {"path": "tools/web/check-action-catalog-new-desktop.py", "sha256": "1a5331f11bf741efb897f4c719ea4ff2457e15823c10ca805085d63e059984c1"},
|
||||
"webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "4794b5e0c54f1496b963a912f9c44306277754ee702d6468d6e42c5084f04bac"},
|
||||
"reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"},
|
||||
"nativeStub": {"path": "web/engine/web_engine_native_reader_stub.cpp", "sha256": "2a1526e08cf446bb23a91c8c2ae799db38a0aeed0a809a15ead427780600481a"},
|
||||
"wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"},
|
||||
"wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"},
|
||||
"wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"},
|
||||
"wasmJsPublic": {"path": "web/app/public/vendor/blender/web_engine.js", "sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"},
|
||||
"desktopReport": {"path": "tests/golden/M16-GAP-00270/catalog-new-desktop-report.json", "sha256": "a8037c3b339c215db7bc4143ce0999074a366019a8868516baec00086378e2d9"},
|
||||
"webReport": {"path": "tests/golden/M16-GAP-00270/catalog-new-local-exact-report.json", "sha256": "99f10be076dd573ee658256e2b2e08c40af1997b344268a84cdc0fa8fe939e81"},
|
||||
"status": {"path": "docs/status/M16-GAP-00270.md", "sha256": "293a56ae16f499b98784f05b12d1ef0ec4e9a844763ac1515b1c11d7f26fdcd9"},
|
||||
"taskContext": {"path": "tests/golden/M16-GAP-00270/task-context.json", "sha256": "ee463f5baf378f77c68c9f30d5f21caebcd027138222b5bf4007a5e14696ff56"}
|
||||
},
|
||||
"nextTask": "M16-GAP-00271"
|
||||
}
|
||||
185
tests/golden/M16-GAP-00270/task-context.json
Normal file
185
tests/golden/M16-GAP-00270/task-context.json
Normal file
@@ -0,0 +1,185 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00270",
|
||||
"parentTask": "M16-GAP-00269",
|
||||
"status": "in_progress",
|
||||
"goal": "Make the same minimal fixture produce observable operator:asset.catalog_new 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.catalog_new",
|
||||
"ownerFamily": "OPERATOR",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00270.py -- tests/files/web/generated/M16-GAP-00270-operator-asset.catalog_new.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00270",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00270"
|
||||
],
|
||||
"inputPaths": [
|
||||
"tools/web/generated/M16-GAP-00270.py"
|
||||
],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 1795,
|
||||
"contextRemainingTokens": 447
|
||||
},
|
||||
"source": {
|
||||
"bytes": 8109,
|
||||
"tokens": 2029
|
||||
},
|
||||
"selected": [
|
||||
{
|
||||
"path": "tools/web/generated/M16-GAP-00270.py",
|
||||
"bytes": 1425,
|
||||
"tokens": 357
|
||||
}
|
||||
],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00270-operator-asset.catalog_new.blend",
|
||||
"bytes": 85912,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"bytes": 240371,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 810309,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00270/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00270.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00270/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 1,
|
||||
"bytes": 1425,
|
||||
"tokens": 357
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00271",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00270.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00269/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00269.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00270.md",
|
||||
"tests/golden/M16-GAP-00269/manifest.json",
|
||||
"docs/status/M16-GAP-00269.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-00269",
|
||||
"parentTask": "M16-GAP-00268",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00270",
|
||||
"artifactCount": 16
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00269 Status",
|
||||
"status: done",
|
||||
"task: asset.catalog_delete operator LOCAL_EXACT slice",
|
||||
"updated: 2026-08-23 America/New_York",
|
||||
"scope:",
|
||||
"- The fixture links one object from external `WebGapCatalogDelete.blend`.",
|
||||
" Blender desktop observes the no-catalog-selection boundary as `poll=false`,",
|
||||
" records `CANCELLED` for `ASSET_OT_catalog_delete`, and confirms no Main"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1774,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 444
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2495,
|
||||
"lines": 47,
|
||||
"tokens": 624
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/M16-GAP-00270.md",
|
||||
"bytes": 1774,
|
||||
"lines": 38,
|
||||
"tokens": 444
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00269/manifest.json",
|
||||
"bytes": 2818,
|
||||
"lines": 30,
|
||||
"tokens": 705
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00269.md",
|
||||
"bytes": 1022,
|
||||
"lines": 27,
|
||||
"tokens": 256
|
||||
}
|
||||
],
|
||||
"sourceTokens": 2029,
|
||||
"evidenceFiles": 1,
|
||||
"evidenceBytes": 1425,
|
||||
"evidenceTokens": 357,
|
||||
"totalTokens": 2386,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 3410,
|
||||
"serializedContextTokens": 752,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
22
tests/golden/M16-GAP-00271/catalog-redo-desktop-report.json
Normal file
22
tests/golden/M16-GAP-00271/catalog-redo-desktop-report.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"after": {
|
||||
"filepath": "//WebGapCatalogRedo.blend",
|
||||
"name": "WebGapCatalogRedo.blend",
|
||||
"packed": false
|
||||
},
|
||||
"before": {
|
||||
"filepath": "//WebGapCatalogRedo.blend",
|
||||
"name": "WebGapCatalogRedo.blend",
|
||||
"packed": false
|
||||
},
|
||||
"blenderVersion": "5.2.0 LTS",
|
||||
"fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00271-operator-asset.catalog_redo.blend",
|
||||
"fixtureSha256": "2e3481a9f155900774bbcc3e5d07ca65bedc2029e3281e86857fd943e81396cd",
|
||||
"mainMutation": "NONE",
|
||||
"operation": "ASSET_CATALOG_REDO_DESKTOP",
|
||||
"operatorStatus": "CANCELLED",
|
||||
"poll": false,
|
||||
"saveReopen": "EXACT",
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00271"
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00271",
|
||||
"operation": "ASSET_CATALOG_REDO_LOCAL_EXACT",
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00271-operator-asset.catalog_redo.blend",
|
||||
"sha256": "2e3481a9f155900774bbcc3e5d07ca65bedc2029e3281e86857fd943e81396cd"
|
||||
},
|
||||
"desktop": {
|
||||
"status": "EXACT",
|
||||
"report": "tests/golden/M16-GAP-00271/catalog-redo-desktop-report.json",
|
||||
"poll": false,
|
||||
"operatorStatus": "CANCELLED",
|
||||
"mainMutation": "NONE"
|
||||
},
|
||||
"wasm": {
|
||||
"status": "EXACT",
|
||||
"libraryId": "library:WebGapCatalogRedo.blend",
|
||||
"sourcePath": "//WebGapCatalogRedo.blend",
|
||||
"libraryStatus": "EXTERNAL_REQUIRED",
|
||||
"dependencyIds": []
|
||||
},
|
||||
"saveReopen": "EXACT",
|
||||
"negative": {
|
||||
"malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION"
|
||||
},
|
||||
"nextTask": "M16-GAP-00272"
|
||||
}
|
||||
29
tests/golden/M16-GAP-00271/manifest.json
Normal file
29
tests/golden/M16-GAP-00271/manifest.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00271",
|
||||
"parentTask": "M16-GAP-00270",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "ASSET_CATALOG_REDO_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {"path": "tests/golden/M16-GAP-00270/manifest.json", "sha256": "c24c8cebb471d9a1d37e180a39d5091da36356cd4ea6065a1bf5110ac5ee86f0"},
|
||||
"fixture": {"path": "tests/files/web/generated/M16-GAP-00271-operator-asset.catalog_redo.blend", "sha256": "2e3481a9f155900774bbcc3e5d07ca65bedc2029e3281e86857fd943e81396cd"},
|
||||
"librarySource": {"path": "tests/files/web/generated/WebGapCatalogRedo.blend", "sha256": "53367b4765383ae0cf232e02eaca1fbf07407946a600c91cf8d1f5303e21d0c7"},
|
||||
"generator": {"path": "tools/web/generated/M16-GAP-00271.py", "sha256": "8012efb7f85f89625f13686743798051fa5febaae361b179117c992ca4bc972c"},
|
||||
"desktopChecker": {"path": "tools/web/check-action-catalog-redo-desktop.py", "sha256": "89ff11f1ec2f76c1d34c49549e2499db2df084fff63fcfb156d65e3c1f46d8f1"},
|
||||
"webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "f7fb2c2ab7b13535db130e1ed2ac3adc027ab77621f6bad129c4e0ff2ddd863b"},
|
||||
"reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"},
|
||||
"nativeStub": {"path": "web/engine/web_engine_native_reader_stub.cpp", "sha256": "2a1526e08cf446bb23a91c8c2ae799db38a0aeed0a809a15ead427780600481a"},
|
||||
"wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"},
|
||||
"wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"},
|
||||
"wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"},
|
||||
"wasmJsPublic": {"path": "web/app/public/vendor/blender/web_engine.js", "sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"},
|
||||
"desktopReport": {"path": "tests/golden/M16-GAP-00271/catalog-redo-desktop-report.json", "sha256": "31dedccda115a8219307ad7f677602fc907e6e012297b4e6a6a68f19fb1415d5"},
|
||||
"webReport": {"path": "tests/golden/M16-GAP-00271/catalog-redo-local-exact-report.json", "sha256": "25e5b338ad95d2e09e0cc651fd14f5c66a21be78f3d0d0039f8b161386e2fdb9"},
|
||||
"status": {"path": "docs/status/M16-GAP-00271.md", "sha256": "d660b0ec53156000900bfbc2794d583a321788acba6298de35f228cf8cf6111b"},
|
||||
"taskContext": {"path": "tests/golden/M16-GAP-00271/task-context.json", "sha256": "1ef1edcfb45f3ce201efec1aa2efb39f95aeaec909eccb02e13cc7f98335a11b"}
|
||||
},
|
||||
"nextTask": "M16-GAP-00272"
|
||||
}
|
||||
185
tests/golden/M16-GAP-00271/task-context.json
Normal file
185
tests/golden/M16-GAP-00271/task-context.json
Normal file
@@ -0,0 +1,185 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00271",
|
||||
"parentTask": "M16-GAP-00270",
|
||||
"status": "in_progress",
|
||||
"goal": "Make the same minimal fixture produce observable operator:asset.catalog_redo 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.catalog_redo",
|
||||
"ownerFamily": "OPERATOR",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00271.py -- tests/files/web/generated/M16-GAP-00271-operator-asset.catalog_redo.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00271",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00271"
|
||||
],
|
||||
"inputPaths": [
|
||||
"tools/web/generated/M16-GAP-00271.py"
|
||||
],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 1817,
|
||||
"contextRemainingTokens": 453
|
||||
},
|
||||
"source": {
|
||||
"bytes": 8087,
|
||||
"tokens": 2023
|
||||
},
|
||||
"selected": [
|
||||
{
|
||||
"path": "tools/web/generated/M16-GAP-00271.py",
|
||||
"bytes": 1043,
|
||||
"tokens": 261
|
||||
}
|
||||
],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00271-operator-asset.catalog_redo.blend",
|
||||
"bytes": 85877,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"bytes": 240371,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 813863,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00271/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00271.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00271/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 1,
|
||||
"bytes": 1043,
|
||||
"tokens": 261
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00272",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00271.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00270/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00270.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00271.md",
|
||||
"tests/golden/M16-GAP-00270/manifest.json",
|
||||
"docs/status/M16-GAP-00270.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-00270",
|
||||
"parentTask": "M16-GAP-00269",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00271",
|
||||
"artifactCount": 16
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00270 Status",
|
||||
"status: done",
|
||||
"task: asset.catalog_new operator LOCAL_EXACT slice",
|
||||
"updated: 2026-08-23 America/New_York",
|
||||
"scope:",
|
||||
"- The fixture links one object from external `WebGapCatalogNew.blend`.",
|
||||
" Blender desktop observes the no-catalog-selection boundary as `poll=false`,",
|
||||
" records `CANCELLED` for `ASSET_OT_catalog_new`, and confirms no Main"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1779,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 445
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2495,
|
||||
"lines": 47,
|
||||
"tokens": 624
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/M16-GAP-00271.md",
|
||||
"bytes": 1779,
|
||||
"lines": 38,
|
||||
"tokens": 445
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00270/manifest.json",
|
||||
"bytes": 2800,
|
||||
"lines": 30,
|
||||
"tokens": 700
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00270.md",
|
||||
"bytes": 1013,
|
||||
"lines": 27,
|
||||
"tokens": 254
|
||||
}
|
||||
],
|
||||
"sourceTokens": 2023,
|
||||
"evidenceFiles": 1,
|
||||
"evidenceBytes": 1043,
|
||||
"evidenceTokens": 261,
|
||||
"totalTokens": 2284,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 3308,
|
||||
"serializedContextTokens": 753,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
22
tests/golden/M16-GAP-00272/catalog-undo-desktop-report.json
Normal file
22
tests/golden/M16-GAP-00272/catalog-undo-desktop-report.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"after": {
|
||||
"filepath": "//WebGapCatalogUndo.blend",
|
||||
"name": "WebGapCatalogUndo.blend",
|
||||
"packed": false
|
||||
},
|
||||
"before": {
|
||||
"filepath": "//WebGapCatalogUndo.blend",
|
||||
"name": "WebGapCatalogUndo.blend",
|
||||
"packed": false
|
||||
},
|
||||
"blenderVersion": "5.2.0 LTS",
|
||||
"fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00272-operator-asset.catalog_undo.blend",
|
||||
"fixtureSha256": "fa003b726f82cf42dfbd5ae027ad6b6c8ff03bdcc337154d835cae241a1265cd",
|
||||
"mainMutation": "NONE",
|
||||
"operation": "ASSET_CATALOG_UNDO_DESKTOP",
|
||||
"operatorStatus": "CANCELLED",
|
||||
"poll": false,
|
||||
"saveReopen": "EXACT",
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00272"
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00272",
|
||||
"operation": "ASSET_CATALOG_UNDO_LOCAL_EXACT",
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00272-operator-asset.catalog_undo.blend",
|
||||
"sha256": "fa003b726f82cf42dfbd5ae027ad6b6c8ff03bdcc337154d835cae241a1265cd"
|
||||
},
|
||||
"desktop": {
|
||||
"status": "EXACT",
|
||||
"report": "tests/golden/M16-GAP-00272/catalog-undo-desktop-report.json",
|
||||
"poll": false,
|
||||
"operatorStatus": "CANCELLED",
|
||||
"mainMutation": "NONE"
|
||||
},
|
||||
"wasm": {
|
||||
"status": "EXACT",
|
||||
"libraryId": "library:WebGapCatalogUndo.blend",
|
||||
"sourcePath": "//WebGapCatalogUndo.blend",
|
||||
"libraryStatus": "EXTERNAL_REQUIRED",
|
||||
"dependencyIds": []
|
||||
},
|
||||
"saveReopen": "EXACT",
|
||||
"negative": {
|
||||
"malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION"
|
||||
},
|
||||
"nextTask": "M16-GAP-00273"
|
||||
}
|
||||
29
tests/golden/M16-GAP-00272/manifest.json
Normal file
29
tests/golden/M16-GAP-00272/manifest.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00272",
|
||||
"parentTask": "M16-GAP-00271",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "ASSET_CATALOG_UNDO_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {"path": "tests/golden/M16-GAP-00271/manifest.json", "sha256": "d46fdf0ef0d6c1702682abc8ac076bbd0d46298d380995f6d62003029b489513"},
|
||||
"fixture": {"path": "tests/files/web/generated/M16-GAP-00272-operator-asset.catalog_undo.blend", "sha256": "fa003b726f82cf42dfbd5ae027ad6b6c8ff03bdcc337154d835cae241a1265cd"},
|
||||
"librarySource": {"path": "tests/files/web/generated/WebGapCatalogUndo.blend", "sha256": "2ee954737c6f35b5f9af2eb5f350ea3e34a9ff6f491b8a4184ccb18875c6f3b8"},
|
||||
"generator": {"path": "tools/web/generated/M16-GAP-00272.py", "sha256": "e7aac853fe0c589dc19375ab30259635e5af15c59aeb12a75eb8f7c6ac745052"},
|
||||
"desktopChecker": {"path": "tools/web/check-action-catalog-undo-desktop.py", "sha256": "4a4866dc48a2fc8318549ef5a143697b2ba51643b8be3865975596882569c773"},
|
||||
"webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "59c3520ab3de2f8275c730dd9b9680ed9b64aced4dcccc800b051490b6715a93"},
|
||||
"reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"},
|
||||
"nativeStub": {"path": "web/engine/web_engine_native_reader_stub.cpp", "sha256": "2a1526e08cf446bb23a91c8c2ae799db38a0aeed0a809a15ead427780600481a"},
|
||||
"wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"},
|
||||
"wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"},
|
||||
"wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"},
|
||||
"wasmJsPublic": {"path": "web/app/public/vendor/blender/web_engine.js", "sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"},
|
||||
"desktopReport": {"path": "tests/golden/M16-GAP-00272/catalog-undo-desktop-report.json", "sha256": "21d131f2b2c5ffe8772bcb4606dbf16388467572cd0542c6dd16c66e1730b712"},
|
||||
"webReport": {"path": "tests/golden/M16-GAP-00272/catalog-undo-local-exact-report.json", "sha256": "4cb20b624a5f96d417c33d928b760befaacb8c59610f197ff1a666d1fc78a5f0"},
|
||||
"status": {"path": "docs/status/M16-GAP-00272.md", "sha256": "522fe8b32558b75f87488fafe11ebc17994bb9742f24663c5ea5a85d64e6598c"},
|
||||
"taskContext": {"path": "tests/golden/M16-GAP-00272/task-context.json", "sha256": "ce9557e77c46435c6153a6173fb59b5d50686d8738bbab96490d631965219867"}
|
||||
},
|
||||
"nextTask": "M16-GAP-00273"
|
||||
}
|
||||
185
tests/golden/M16-GAP-00272/task-context.json
Normal file
185
tests/golden/M16-GAP-00272/task-context.json
Normal file
@@ -0,0 +1,185 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00272",
|
||||
"parentTask": "M16-GAP-00271",
|
||||
"status": "in_progress",
|
||||
"goal": "Make the same minimal fixture produce observable operator:asset.catalog_undo 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.catalog_undo",
|
||||
"ownerFamily": "OPERATOR",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00272.py -- tests/files/web/generated/M16-GAP-00272-operator-asset.catalog_undo.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00272",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00272"
|
||||
],
|
||||
"inputPaths": [
|
||||
"tools/web/generated/M16-GAP-00272.py"
|
||||
],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 1808,
|
||||
"contextRemainingTokens": 451
|
||||
},
|
||||
"source": {
|
||||
"bytes": 8096,
|
||||
"tokens": 2025
|
||||
},
|
||||
"selected": [
|
||||
{
|
||||
"path": "tools/web/generated/M16-GAP-00272.py",
|
||||
"bytes": 995,
|
||||
"tokens": 249
|
||||
}
|
||||
],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00272-operator-asset.catalog_undo.blend",
|
||||
"bytes": 85892,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"bytes": 240371,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 817415,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00272/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00272.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00272/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 1,
|
||||
"bytes": 995,
|
||||
"tokens": 249
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00273",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00272.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00271/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00271.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00272.md",
|
||||
"tests/golden/M16-GAP-00271/manifest.json",
|
||||
"docs/status/M16-GAP-00271.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-00271",
|
||||
"parentTask": "M16-GAP-00270",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00272",
|
||||
"artifactCount": 16
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00271 Status",
|
||||
"status: done",
|
||||
"task: asset.catalog_redo operator LOCAL_EXACT slice",
|
||||
"updated: 2026-08-23 America/New_York",
|
||||
"scope:",
|
||||
"- The fixture links one object from external `WebGapCatalogRedo.blend`.",
|
||||
" Blender desktop observes the no-catalog-selection boundary as `poll=false`,",
|
||||
" records `CANCELLED` for `ASSET_OT_catalog_redo`, and confirms no Main"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1779,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 445
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2495,
|
||||
"lines": 47,
|
||||
"tokens": 624
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/M16-GAP-00272.md",
|
||||
"bytes": 1779,
|
||||
"lines": 38,
|
||||
"tokens": 445
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00271/manifest.json",
|
||||
"bytes": 2806,
|
||||
"lines": 30,
|
||||
"tokens": 702
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00271.md",
|
||||
"bytes": 1016,
|
||||
"lines": 27,
|
||||
"tokens": 254
|
||||
}
|
||||
],
|
||||
"sourceTokens": 2025,
|
||||
"evidenceFiles": 1,
|
||||
"evidenceBytes": 995,
|
||||
"evidenceTokens": 249,
|
||||
"totalTokens": 2274,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 3298,
|
||||
"serializedContextTokens": 752,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"after": {
|
||||
"filepath": "//WebGapCatalogUndoPush.blend",
|
||||
"name": "WebGapCatalogUndoPush.blend",
|
||||
"packed": false
|
||||
},
|
||||
"before": {
|
||||
"filepath": "//WebGapCatalogUndoPush.blend",
|
||||
"name": "WebGapCatalogUndoPush.blend",
|
||||
"packed": false
|
||||
},
|
||||
"blenderVersion": "5.2.0 LTS",
|
||||
"fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00273-operator-asset.catalog_undo_push.blend",
|
||||
"fixtureSha256": "f835a3088b975a283a99a69738dbf0ecc8a71b463b3c124da15ea6e54599256b",
|
||||
"mainMutation": "NONE",
|
||||
"operation": "ASSET_CATALOG_UNDO_PUSH_DESKTOP",
|
||||
"operatorStatus": "CANCELLED",
|
||||
"poll": false,
|
||||
"saveReopen": "EXACT",
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00273"
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00273",
|
||||
"operation": "ASSET_CATALOG_UNDO_PUSH_LOCAL_EXACT",
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00273-operator-asset.catalog_undo_push.blend",
|
||||
"sha256": "f835a3088b975a283a99a69738dbf0ecc8a71b463b3c124da15ea6e54599256b"
|
||||
},
|
||||
"desktop": {
|
||||
"status": "EXACT",
|
||||
"report": "tests/golden/M16-GAP-00273/catalog-undo-push-desktop-report.json",
|
||||
"poll": false,
|
||||
"operatorStatus": "CANCELLED",
|
||||
"mainMutation": "NONE"
|
||||
},
|
||||
"wasm": {
|
||||
"status": "EXACT",
|
||||
"libraryId": "library:WebGapCatalogUndoPush.blend",
|
||||
"sourcePath": "//WebGapCatalogUndoPush.blend",
|
||||
"libraryStatus": "EXTERNAL_REQUIRED",
|
||||
"dependencyIds": []
|
||||
},
|
||||
"saveReopen": "EXACT",
|
||||
"negative": {
|
||||
"malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION"
|
||||
},
|
||||
"nextTask": "M16-GAP-00274"
|
||||
}
|
||||
29
tests/golden/M16-GAP-00273/manifest.json
Normal file
29
tests/golden/M16-GAP-00273/manifest.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00273",
|
||||
"parentTask": "M16-GAP-00272",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "ASSET_CATALOG_UNDO_PUSH_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {"path": "tests/golden/M16-GAP-00272/manifest.json", "sha256": "eb3675367849f1a784e8028a43efac24fcede55cedd38d55b121cd88aa1facae"},
|
||||
"fixture": {"path": "tests/files/web/generated/M16-GAP-00273-operator-asset.catalog_undo_push.blend", "sha256": "f835a3088b975a283a99a69738dbf0ecc8a71b463b3c124da15ea6e54599256b"},
|
||||
"librarySource": {"path": "tests/files/web/generated/WebGapCatalogUndoPush.blend", "sha256": "448fdabd5281e25a949ceefdb0b76804f2a47d2d9e5b784f8f998f0be289fd4c"},
|
||||
"generator": {"path": "tools/web/generated/M16-GAP-00273.py", "sha256": "120262e67b215a5d778100b820d74b8d3f216b20e36402a4f389099751a728c2"},
|
||||
"desktopChecker": {"path": "tools/web/check-action-catalog-undo-push-desktop.py", "sha256": "7e218eff97f8d4a2bd475d9957a94a784f4a76da3b35938389eb59eae7592795"},
|
||||
"webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "abe69afee4f6a670d7c71abeba44118d7a01020ebac4665793451eafd4a7c0d5"},
|
||||
"reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"},
|
||||
"nativeStub": {"path": "web/engine/web_engine_native_reader_stub.cpp", "sha256": "2a1526e08cf446bb23a91c8c2ae799db38a0aeed0a809a15ead427780600481a"},
|
||||
"wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"},
|
||||
"wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"},
|
||||
"wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"},
|
||||
"wasmJsPublic": {"path": "web/app/public/vendor/blender/web_engine.js", "sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"},
|
||||
"desktopReport": {"path": "tests/golden/M16-GAP-00273/catalog-undo-push-desktop-report.json", "sha256": "03421f7e7ffe6eb3f0ec93c6f09cd505f806e228145cf4ce6d55e3b841b8b34b"},
|
||||
"webReport": {"path": "tests/golden/M16-GAP-00273/catalog-undo-push-local-exact-report.json", "sha256": "86e5cabacde4ee419d71011b902e0fc561e7da94028879bca4ca0315ad1d4f72"},
|
||||
"status": {"path": "docs/status/M16-GAP-00273.md", "sha256": "5e93f2d8942d2bf5f49beef7fb427e9968e359ed6ada8a40d11072549075f2d8"},
|
||||
"taskContext": {"path": "tests/golden/M16-GAP-00273/task-context.json", "sha256": "8679b3271d07fe1d4eaf2c6dcc6ef833d9c2853dda4643339071c60dc8bfe2f7"}
|
||||
},
|
||||
"nextTask": "M16-GAP-00274"
|
||||
}
|
||||
185
tests/golden/M16-GAP-00273/task-context.json
Normal file
185
tests/golden/M16-GAP-00273/task-context.json
Normal file
@@ -0,0 +1,185 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00273",
|
||||
"parentTask": "M16-GAP-00272",
|
||||
"status": "in_progress",
|
||||
"goal": "Make the same minimal fixture produce observable operator:asset.catalog_undo_push 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.catalog_undo_push",
|
||||
"ownerFamily": "OPERATOR",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00273.py -- tests/files/web/generated/M16-GAP-00273-operator-asset.catalog_undo_push.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00273",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00273"
|
||||
],
|
||||
"inputPaths": [
|
||||
"tools/web/generated/M16-GAP-00273.py"
|
||||
],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 1783,
|
||||
"contextRemainingTokens": 445
|
||||
},
|
||||
"source": {
|
||||
"bytes": 8121,
|
||||
"tokens": 2031
|
||||
},
|
||||
"selected": [
|
||||
{
|
||||
"path": "tools/web/generated/M16-GAP-00273.py",
|
||||
"bytes": 1007,
|
||||
"tokens": 252
|
||||
}
|
||||
],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00273-operator-asset.catalog_undo_push.blend",
|
||||
"bytes": 85934,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"bytes": 240371,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 820984,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00273/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00273.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00273/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 1,
|
||||
"bytes": 1007,
|
||||
"tokens": 252
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00274",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00273.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00272/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00272.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00273.md",
|
||||
"tests/golden/M16-GAP-00272/manifest.json",
|
||||
"docs/status/M16-GAP-00272.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-00272",
|
||||
"parentTask": "M16-GAP-00271",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00273",
|
||||
"artifactCount": 16
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00272 Status",
|
||||
"status: done",
|
||||
"task: asset.catalog_undo operator LOCAL_EXACT slice",
|
||||
"updated: 2026-08-23 America/New_York",
|
||||
"scope:",
|
||||
"- The fixture links one object from external `WebGapCatalogUndo.blend`.",
|
||||
" Blender desktop observes the no-catalog-selection boundary as `poll=false`,",
|
||||
" records `CANCELLED` for `ASSET_OT_catalog_undo`, and confirms no Main"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1804,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 451
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2495,
|
||||
"lines": 47,
|
||||
"tokens": 624
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/M16-GAP-00273.md",
|
||||
"bytes": 1804,
|
||||
"lines": 38,
|
||||
"tokens": 451
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00272/manifest.json",
|
||||
"bytes": 2806,
|
||||
"lines": 30,
|
||||
"tokens": 702
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00272.md",
|
||||
"bytes": 1016,
|
||||
"lines": 27,
|
||||
"tokens": 254
|
||||
}
|
||||
],
|
||||
"sourceTokens": 2031,
|
||||
"evidenceFiles": 1,
|
||||
"evidenceBytes": 1007,
|
||||
"evidenceTokens": 252,
|
||||
"totalTokens": 2283,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 3307,
|
||||
"serializedContextTokens": 757,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
22
tests/golden/M16-GAP-00274/catalogs-save-desktop-report.json
Normal file
22
tests/golden/M16-GAP-00274/catalogs-save-desktop-report.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"after": {
|
||||
"filepath": "//WebGapCatalogsSave.blend",
|
||||
"name": "WebGapCatalogsSave.blend",
|
||||
"packed": false
|
||||
},
|
||||
"before": {
|
||||
"filepath": "//WebGapCatalogsSave.blend",
|
||||
"name": "WebGapCatalogsSave.blend",
|
||||
"packed": false
|
||||
},
|
||||
"blenderVersion": "5.2.0 LTS",
|
||||
"fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00274-operator-asset.catalogs_save.blend",
|
||||
"fixtureSha256": "959faaac852e63a8e2ba2f90ef700ab8cf96b8dfe1046b37d24900ae69efae2a",
|
||||
"mainMutation": "NONE",
|
||||
"operation": "ASSET_CATALOGS_SAVE_DESKTOP",
|
||||
"operatorStatus": "CANCELLED",
|
||||
"poll": false,
|
||||
"saveReopen": "EXACT",
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00274"
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00274",
|
||||
"operation": "ASSET_CATALOGS_SAVE_LOCAL_EXACT",
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00274-operator-asset.catalogs_save.blend",
|
||||
"sha256": "959faaac852e63a8e2ba2f90ef700ab8cf96b8dfe1046b37d24900ae69efae2a"
|
||||
},
|
||||
"desktop": {
|
||||
"status": "EXACT",
|
||||
"report": "tests/golden/M16-GAP-00274/catalogs-save-desktop-report.json",
|
||||
"poll": false,
|
||||
"operatorStatus": "CANCELLED",
|
||||
"mainMutation": "NONE"
|
||||
},
|
||||
"wasm": {
|
||||
"status": "EXACT",
|
||||
"libraryId": "library:WebGapCatalogsSave.blend",
|
||||
"sourcePath": "//WebGapCatalogsSave.blend",
|
||||
"libraryStatus": "EXTERNAL_REQUIRED",
|
||||
"dependencyIds": []
|
||||
},
|
||||
"saveReopen": "EXACT",
|
||||
"negative": {
|
||||
"malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION"
|
||||
},
|
||||
"nextTask": "M16-GAP-00275"
|
||||
}
|
||||
29
tests/golden/M16-GAP-00274/manifest.json
Normal file
29
tests/golden/M16-GAP-00274/manifest.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00274",
|
||||
"parentTask": "M16-GAP-00273",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "ASSET_CATALOGS_SAVE_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {"path": "tests/golden/M16-GAP-00273/manifest.json", "sha256": "3b45536a28d99f899fb095a5d2e31265a8ef2b7fb92ceb8be26e061621e253c1"},
|
||||
"fixture": {"path": "tests/files/web/generated/M16-GAP-00274-operator-asset.catalogs_save.blend", "sha256": "959faaac852e63a8e2ba2f90ef700ab8cf96b8dfe1046b37d24900ae69efae2a"},
|
||||
"librarySource": {"path": "tests/files/web/generated/WebGapCatalogsSave.blend", "sha256": "11379128d21ba1ffd289a6155833729b2ee8f290b1aa390a4cd3c0e4afafd38d"},
|
||||
"generator": {"path": "tools/web/generated/M16-GAP-00274.py", "sha256": "7db1e65ed1f4329210791cfffc2888c321073bfb557cbac158577d7d4375bb59"},
|
||||
"desktopChecker": {"path": "tools/web/check-action-catalogs-save-desktop.py", "sha256": "ffa7e28e8bfb2669ff2e05a10edc7794eb43c31c0d4abaa3841b1887424bea92"},
|
||||
"webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"},
|
||||
"reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"},
|
||||
"nativeStub": {"path": "web/engine/web_engine_native_reader_stub.cpp", "sha256": "2a1526e08cf446bb23a91c8c2ae799db38a0aeed0a809a15ead427780600481a"},
|
||||
"wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"},
|
||||
"wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"},
|
||||
"wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"},
|
||||
"wasmJsPublic": {"path": "web/app/public/vendor/blender/web_engine.js", "sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"},
|
||||
"desktopReport": {"path": "tests/golden/M16-GAP-00274/catalogs-save-desktop-report.json", "sha256": "b86ad738543cc1e04fde964e5d4cbcd5db2e9327838e3afda54110df708fea6a"},
|
||||
"webReport": {"path": "tests/golden/M16-GAP-00274/catalogs-save-local-exact-report.json", "sha256": "6513408d34edd25705fc7fcc2516f3f51761c36880c829ff5c1e208b286f61d4"},
|
||||
"status": {"path": "docs/status/M16-GAP-00274.md", "sha256": "fddc4251a417c8478d8cc01436e75c7e652a41c12fdea533bb440bef8a7bdad8"},
|
||||
"taskContext": {"path": "tests/golden/M16-GAP-00274/task-context.json", "sha256": "8c82ad5daa15b56a5964d3fb9aea734e995bc874ef8ed418380d840825c5d480"}
|
||||
},
|
||||
"nextTask": "M16-GAP-00275"
|
||||
}
|
||||
185
tests/golden/M16-GAP-00274/task-context.json
Normal file
185
tests/golden/M16-GAP-00274/task-context.json
Normal file
@@ -0,0 +1,185 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00274",
|
||||
"parentTask": "M16-GAP-00273",
|
||||
"status": "in_progress",
|
||||
"goal": "Make the same minimal fixture produce observable operator:asset.catalogs_save 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.catalogs_save",
|
||||
"ownerFamily": "OPERATOR",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00274.py -- tests/files/web/generated/M16-GAP-00274-operator-asset.catalogs_save.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00274",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00274"
|
||||
],
|
||||
"inputPaths": [
|
||||
"tools/web/generated/M16-GAP-00274.py"
|
||||
],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 1760,
|
||||
"contextRemainingTokens": 439
|
||||
},
|
||||
"source": {
|
||||
"bytes": 8144,
|
||||
"tokens": 2037
|
||||
},
|
||||
"selected": [
|
||||
{
|
||||
"path": "tools/web/generated/M16-GAP-00274.py",
|
||||
"bytes": 1435,
|
||||
"tokens": 359
|
||||
}
|
||||
],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00274-operator-asset.catalogs_save.blend",
|
||||
"bytes": 85910,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"bytes": 240371,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 824532,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00274/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00274.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00274/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 1,
|
||||
"bytes": 1435,
|
||||
"tokens": 359
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00275",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00274.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00273/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00273.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00274.md",
|
||||
"tests/golden/M16-GAP-00273/manifest.json",
|
||||
"docs/status/M16-GAP-00273.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-00273",
|
||||
"parentTask": "M16-GAP-00272",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00274",
|
||||
"artifactCount": 16
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00273 Status",
|
||||
"status: done",
|
||||
"task: asset.catalog_undo_push operator LOCAL_EXACT slice",
|
||||
"updated: 2026-08-23 America/New_York",
|
||||
"scope:",
|
||||
"- The fixture links one object from external `WebGapCatalogUndoPush.blend`.",
|
||||
" Blender desktop observes the no-catalog-selection boundary as `poll=false`,",
|
||||
" records `CANCELLED` for `ASSET_OT_catalog_undo_push`, and confirms no Main"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1784,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 446
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2495,
|
||||
"lines": 47,
|
||||
"tokens": 624
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/M16-GAP-00274.md",
|
||||
"bytes": 1784,
|
||||
"lines": 38,
|
||||
"tokens": 446
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00273/manifest.json",
|
||||
"bytes": 2835,
|
||||
"lines": 30,
|
||||
"tokens": 709
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00273.md",
|
||||
"bytes": 1030,
|
||||
"lines": 27,
|
||||
"tokens": 258
|
||||
}
|
||||
],
|
||||
"sourceTokens": 2037,
|
||||
"evidenceFiles": 1,
|
||||
"evidenceBytes": 1435,
|
||||
"evidenceTokens": 359,
|
||||
"totalTokens": 2396,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 3420,
|
||||
"serializedContextTokens": 754,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
22
tests/golden/M16-GAP-00275/asset-clear-desktop-report.json
Normal file
22
tests/golden/M16-GAP-00275/asset-clear-desktop-report.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"after": {
|
||||
"filepath": "//WebGapAssetClear.blend",
|
||||
"name": "WebGapAssetClear.blend",
|
||||
"packed": false
|
||||
},
|
||||
"before": {
|
||||
"filepath": "//WebGapAssetClear.blend",
|
||||
"name": "WebGapAssetClear.blend",
|
||||
"packed": false
|
||||
},
|
||||
"blenderVersion": "5.2.0 LTS",
|
||||
"fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00275-operator-asset.clear.blend",
|
||||
"fixtureSha256": "0d537a68b2f11f3f153522cf004216608fddb71f1c3a433875472bd534961c80",
|
||||
"mainMutation": "NONE",
|
||||
"operation": "ASSET_CLEAR_DESKTOP",
|
||||
"operatorStatus": "CANCELLED",
|
||||
"poll": false,
|
||||
"saveReopen": "EXACT",
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00275"
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00275",
|
||||
"operation": "ASSET_CLEAR_LOCAL_EXACT",
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00275-operator-asset.clear.blend",
|
||||
"sha256": "0d537a68b2f11f3f153522cf004216608fddb71f1c3a433875472bd534961c80"
|
||||
},
|
||||
"desktop": {
|
||||
"status": "EXACT",
|
||||
"report": "tests/golden/M16-GAP-00275/asset-clear-desktop-report.json",
|
||||
"poll": false,
|
||||
"operatorStatus": "CANCELLED",
|
||||
"mainMutation": "NONE"
|
||||
},
|
||||
"wasm": {
|
||||
"status": "EXACT",
|
||||
"libraryId": "library:WebGapAssetClear.blend",
|
||||
"sourcePath": "//WebGapAssetClear.blend",
|
||||
"libraryStatus": "EXTERNAL_REQUIRED",
|
||||
"dependencyIds": []
|
||||
},
|
||||
"saveReopen": "EXACT",
|
||||
"negative": {
|
||||
"malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION"
|
||||
},
|
||||
"nextTask": "M16-GAP-00276"
|
||||
}
|
||||
29
tests/golden/M16-GAP-00275/manifest.json
Normal file
29
tests/golden/M16-GAP-00275/manifest.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00275",
|
||||
"parentTask": "M16-GAP-00274",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "ASSET_CLEAR_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {"path": "tests/golden/M16-GAP-00274/manifest.json", "sha256": "f6172a4c559f540aac9937d39c55ce377de3e2d802d7c76da4ff1ee415967945"},
|
||||
"fixture": {"path": "tests/files/web/generated/M16-GAP-00275-operator-asset.clear.blend", "sha256": "0d537a68b2f11f3f153522cf004216608fddb71f1c3a433875472bd534961c80"},
|
||||
"librarySource": {"path": "tests/files/web/generated/WebGapAssetClear.blend", "sha256": "2d8430142618ca61e08110b59254ca58a3028584c12d084c26e843f7be0b65e2"},
|
||||
"generator": {"path": "tools/web/generated/M16-GAP-00275.py", "sha256": "6cf60da3cbdf0c58af693489c800d60fdb719e963c105edc63c2346a9936cc6a"},
|
||||
"desktopChecker": {"path": "tools/web/check-action-asset-clear-desktop.py", "sha256": "f5588fa8170c5ed1383a024dc9ea83c12259c49b772e8843d32df40bf2ccbb53"},
|
||||
"webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "9b80119598b66a90d14860d9f3035ff99bfe0af4b8b34115fabdba6e5da676b5"},
|
||||
"reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"},
|
||||
"nativeStub": {"path": "web/engine/web_engine_native_reader_stub.cpp", "sha256": "2a1526e08cf446bb23a91c8c2ae799db38a0aeed0a809a15ead427780600481a"},
|
||||
"wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"},
|
||||
"wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"},
|
||||
"wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"},
|
||||
"wasmJsPublic": {"path": "web/app/public/vendor/blender/web_engine.js", "sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"},
|
||||
"desktopReport": {"path": "tests/golden/M16-GAP-00275/asset-clear-desktop-report.json", "sha256": "6cf741f2b11fd71c752357f4bf5b1f8a501f95290b25dae6219a8ed389454f67"},
|
||||
"webReport": {"path": "tests/golden/M16-GAP-00275/asset-clear-local-exact-report.json", "sha256": "4effc24108374f2d87cf862c5aac8b7fae814e219957759c5256c568a5dcbc21"},
|
||||
"status": {"path": "docs/status/M16-GAP-00275.md", "sha256": "5d47cdf2d57f114c262638677352047c7c2bb004822ea719b14b9c0f45078a24"},
|
||||
"taskContext": {"path": "tests/golden/M16-GAP-00275/task-context.json", "sha256": "841ce4b4e4d4d044746e71160c2b2edca9200370e456fe90658a2524533febd6"}
|
||||
},
|
||||
"nextTask": "M16-GAP-00276"
|
||||
}
|
||||
185
tests/golden/M16-GAP-00275/task-context.json
Normal file
185
tests/golden/M16-GAP-00275/task-context.json
Normal file
@@ -0,0 +1,185 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00275",
|
||||
"parentTask": "M16-GAP-00274",
|
||||
"status": "in_progress",
|
||||
"goal": "Make the same minimal fixture produce observable operator:asset.clear 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.clear",
|
||||
"ownerFamily": "OPERATOR",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00275.py -- tests/files/web/generated/M16-GAP-00275-operator-asset.clear.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00275",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00275"
|
||||
],
|
||||
"inputPaths": [
|
||||
"tools/web/generated/M16-GAP-00275.py"
|
||||
],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 1831,
|
||||
"contextRemainingTokens": 457
|
||||
},
|
||||
"source": {
|
||||
"bytes": 8073,
|
||||
"tokens": 2019
|
||||
},
|
||||
"selected": [
|
||||
{
|
||||
"path": "tools/web/generated/M16-GAP-00275.py",
|
||||
"bytes": 1425,
|
||||
"tokens": 357
|
||||
}
|
||||
],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00275-operator-asset.clear.blend",
|
||||
"bytes": 85898,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"bytes": 240371,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 828064,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00275/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00275.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00275/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 1,
|
||||
"bytes": 1425,
|
||||
"tokens": 357
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00276",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00275.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00274/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00274.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00275.md",
|
||||
"tests/golden/M16-GAP-00274/manifest.json",
|
||||
"docs/status/M16-GAP-00274.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-00274",
|
||||
"parentTask": "M16-GAP-00273",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00275",
|
||||
"artifactCount": 16
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00274 Status",
|
||||
"status: done",
|
||||
"task: asset.catalogs_save operator LOCAL_EXACT slice",
|
||||
"updated: 2026-08-23 America/New_York",
|
||||
"scope:",
|
||||
"- The fixture links one object from external `WebGapCatalogsSave.blend`.",
|
||||
" Blender desktop observes the no-active-asset-library boundary as `poll=false`,",
|
||||
" records `CANCELLED` for `ASSET_OT_catalogs_save`, and confirms no Main"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1744,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 436
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2495,
|
||||
"lines": 47,
|
||||
"tokens": 624
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/M16-GAP-00275.md",
|
||||
"bytes": 1744,
|
||||
"lines": 38,
|
||||
"tokens": 436
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00274/manifest.json",
|
||||
"bytes": 2812,
|
||||
"lines": 30,
|
||||
"tokens": 703
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00274.md",
|
||||
"bytes": 1022,
|
||||
"lines": 27,
|
||||
"tokens": 256
|
||||
}
|
||||
],
|
||||
"sourceTokens": 2019,
|
||||
"evidenceFiles": 1,
|
||||
"evidenceBytes": 1425,
|
||||
"evidenceTokens": 357,
|
||||
"totalTokens": 2376,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 3400,
|
||||
"serializedContextTokens": 748,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user