Rebuild local Blender WASM environment and recovery evidence
This commit is contained in:
1
tests/golden/WBV2-P6-003/manifest.json
Normal file
1
tests/golden/WBV2-P6-003/manifest.json
Normal file
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"task":"WBV2-P6-003","parentTask":"WBV2-P6-002","operation":"OFFLINE_CI_SBOM_ROLLBACK_RELEASE_LOCAL_EXACT","status":"done","enablingTask":false,"parityStateChange":false,"runtime":"BLENDER_DESKTOP_WASM_MAIN","artifacts":{"parentManifest":{"path":"tests/golden/WBV2-P6-002/manifest.json","sha256":"b66e193b81c0c592964c874902d0ee024c4877610fd7fa92aee2a961f69d01ba"},"fixture":{"path":"tests/files/web/generated/WBV2-P6-003-workflow-offline_ci_sbom_and_rollback_release.blend","sha256":"b2ca8e948d10de663e734ee3f58f962650c6bf36d65cb9f6962c1394b8c4feee"},"generator":{"path":"tools/web/generated/WBV2-P6-003.py","sha256":"3699bac78a66db6d7d2eef0bbef7698438e997ac6d00ee41c8aca68660538b89"},"productionReader":{"path":"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp","sha256":"8ae71f603742cb32543ce2cc1032b13fd22719274b02ff78262df414cee1dcdf"},"sceneIrProtocol":{"path":"web/protocol/scene-ir.ts","sha256":"d528aa4b851ef26bca223740826ff16a7595307adc121632944faa4c44358e60"},"checker":{"path":"tools/web/check-generated-gap.mjs","sha256":"2ad7724396bfbd96b2e5bf609303060c03da8cb3149585fb2c7e7e2eaaf5047d"},"preflight":{"path":"tools/web/generated-gap-preflight.mjs","sha256":"95cdaee768ff3aaf507ac27a5d8d6c956d49a56b5b4e8bc2da3e744f1248371d"},"unitRunner":{"path":"tools/web/run-unit-tests.mjs","sha256":"37a0e2e5157812def64de70e0b3225933100cc2c1b2958e8cba8aa5653f1c888"},"ciRunner":{"path":"tools/web/run-ci-lane.mjs","sha256":"9e281097e59f93d1cc47a9cbb8f0f18d5625ae6977afcbbf370facd5209d84c3"},"packageJson":{"path":"web/package.json","sha256":"40b7f14d4f568ae94bedde83e02115c127e0c714e5eb32a6a97b1e1084c4fa68"},"wasmBinary":{"path":"web/app/src/vendor/blender/web_engine.wasm","sha256":"25bc1e286fd3b72c2c7c082b85a29b2d0bb109588a6dc0de5be94fcdc37cc88c"},"quickCiReport":{"path":"release/ci-reports/quick.json","sha256":"96446990e37856eb561f354be774eb54010475af4d033d92fafcac92609bc24f"},"releaseReport":{"path":"tests/golden/WBV2-P6-003/release-report.json","sha256":"2111b4651f01966c4f47e8a1f5afc581b4bf2056e733240f49a546aad1faae0b"},"desktopReport":{"path":"tests/golden/WBV2-P6-003/release-desktop-report.json","sha256":"6bc8e74ba9606a9e61cf7ed8496a4f62651022b2819d601bca71edff3310722d"},"m12DriftEvidence":{"path":"tests/golden/corrective/rehydration/M12-manifest-sha-drift.json","sha256":"c2179c5dd844ec77ddbb7d7e440b2b99a4f2a7f9b12b5aed3564b68a88b82a89"},"status":{"path":"docs/status/WBV2-P6-003.md","sha256":"163fbf6a0928a7778e0dee499201f97f050c7c5cc530e1dba3348d7b480b1159"},"taskContext":{"path":"tests/golden/WBV2-P6-003/task-context.json","sha256":"8ddff86a5f385e075d39f2df5fee50e7ae528fc908753ae8517b1b9b1ec453bf"},"commandLog":{"path":"tests/golden/WBV2-P6-003/command.log","sha256":"87b8debfef908ad070ee87d23d7e88fb03934172e351290ee1e0c1b3c9bb4104"}},"negativeMatrix":{"malformedBlend":"REJECTED_WITHOUT_MAIN_MUTATION","hashDrift":"BLOCKED_BEFORE_PUBLISH","failedCi":"BLOCKED_BEFORE_PUBLISH","cancellation":"BLOCKED_BEFORE_PUBLISH","duplicate":"BLOCKED_BEFORE_PUBLISH","overBudget":"BLOCKED_BEFORE_PUBLISH","saveReopen":"EXACT"},"nextTask":"WBV2-P7-001"}
|
||||
65
tests/golden/WBV2-P6-003/release-desktop-report.json
Normal file
65
tests/golden/WBV2-P6-003/release-desktop-report.json
Normal file
@@ -0,0 +1,65 @@
|
||||
{
|
||||
"blenderVersion": "5.2.0 LTS",
|
||||
"fixtureSha256": "b2ca8e948d10de663e734ee3f58f962650c6bf36d65cb9f6962c1394b8c4feee",
|
||||
"operation": "OFFLINE_CI_SBOM_ROLLBACK_RELEASE_DESKTOP",
|
||||
"saveReopen": "EXACT",
|
||||
"schemaVersion": 1,
|
||||
"state": {
|
||||
"cubeId": "object:WBV2P6003ReleaseReceiptCube",
|
||||
"receipt": {
|
||||
"archives": {
|
||||
"binary": {
|
||||
"bytes": 8244193,
|
||||
"path": "release/blender-web-offline.tar.gz",
|
||||
"sha256": "0c45d80acf3e17d4b29389707ba939cce593d096cd97ee44165c0f30cd76efd7"
|
||||
},
|
||||
"source": {
|
||||
"bytes": 208068503,
|
||||
"path": "release/blender-web-corresponding-source.tar.gz",
|
||||
"sha256": "1a57a8c53e68ffca50e730f280c68636553d7a6ea1c4bce3b45823b4677c294c"
|
||||
}
|
||||
},
|
||||
"bindings": {
|
||||
"packageJsonSha256": "40b7f14d4f568ae94bedde83e02115c127e0c714e5eb32a6a97b1e1084c4fa68",
|
||||
"packageLockSha256": "61f6d13e0148321d3c625a5baa212b5444296d111193c4d62a692685faebff1f",
|
||||
"rcManifestSha256": "7d19c8b0036b0e3c3808b9c7d6061cfc5a28ab0ac23546b72fb0eed840ca5d4a",
|
||||
"version": "0.1.0-rc.1"
|
||||
},
|
||||
"ci": {
|
||||
"quick": {
|
||||
"reportSha256": "96446990e37856eb561f354be774eb54010475af4d033d92fafcac92609bc24f",
|
||||
"status": "READY"
|
||||
}
|
||||
},
|
||||
"gates": {
|
||||
"offlineReproducibility": {
|
||||
"binarySha256": "0c45d80acf3e17d4b29389707ba939cce593d096cd97ee44165c0f30cd76efd7",
|
||||
"sourceSha256": "1a57a8c53e68ffca50e730f280c68636553d7a6ea1c4bce3b45823b4677c294c",
|
||||
"status": "READY"
|
||||
},
|
||||
"rollback": {
|
||||
"reportSha256": "d920aaee6dcfed054dc99102757a5781bb59fb782cc9a3885f7e3b402dcc82e8",
|
||||
"status": "READY"
|
||||
},
|
||||
"sbom": {
|
||||
"sha256": "12f6148998b82838df2713ca4a13c7505ca160f663e30770eca2269f2d85bdf2",
|
||||
"status": "READY"
|
||||
}
|
||||
},
|
||||
"receiptId": "workflow:offline_ci_sbom_and_rollback_release",
|
||||
"releaseId": "blender-wasm-0.1.0-rc.1",
|
||||
"rollback": {
|
||||
"reportPath": "release/operations-reports/rollback.json",
|
||||
"runbookPath": "docs/web/RELEASE_RECOVERY.md",
|
||||
"runbookSha256": "063350b82bd72c41bca35914f2ed4f1828f9b3d192a4ae49dc629bd7bb652685"
|
||||
},
|
||||
"sbom": {
|
||||
"path": "docs/web/sbom.spdx.json",
|
||||
"sha256": "12f6148998b82838df2713ca4a13c7505ca160f663e30770eca2269f2d85bdf2"
|
||||
},
|
||||
"schemaVersion": 1
|
||||
},
|
||||
"sceneId": "scene:WBV2P6003OfflineReleaseScene"
|
||||
},
|
||||
"task": "WBV2-P6-003"
|
||||
}
|
||||
35
tests/golden/WBV2-P6-003/release-report.json
Normal file
35
tests/golden/WBV2-P6-003/release-report.json
Normal file
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P6-003",
|
||||
"operation": "OFFLINE_CI_SBOM_ROLLBACK_RELEASE_LOCAL_EXACT",
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/WBV2-P6-003-workflow-offline_ci_sbom_and_rollback_release.blend",
|
||||
"sha256": "b2ca8e948d10de663e734ee3f58f962650c6bf36d65cb9f6962c1394b8c4feee"
|
||||
},
|
||||
"desktop": {
|
||||
"status": "EXACT",
|
||||
"report": "tests/golden/WBV2-P6-003/release-desktop-report.json",
|
||||
"saveReopen": "EXACT"
|
||||
},
|
||||
"wasm": {
|
||||
"status": "EXACT",
|
||||
"releaseId": "blender-wasm-0.1.0-rc.1",
|
||||
"releaseCandidateStatus": "AVAILABLE_FROM_TEXT_RECEIPT",
|
||||
"archiveCount": 2,
|
||||
"sbom": "12f6148998b82838df2713ca4a13c7505ca160f663e30770eca2269f2d85bdf2",
|
||||
"quickCi": "96446990e37856eb561f354be774eb54010475af4d033d92fafcac92609bc24f",
|
||||
"saveReopen": "EXACT"
|
||||
},
|
||||
"gates": {
|
||||
"quickCi": "READY",
|
||||
"offlineReproducibility": "READY",
|
||||
"sbom": "READY",
|
||||
"rollback": "READY"
|
||||
},
|
||||
"negative": {
|
||||
"malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION",
|
||||
"hashDrift": "BLOCKED_BEFORE_PUBLISH",
|
||||
"failedCi": "BLOCKED_BEFORE_PUBLISH"
|
||||
},
|
||||
"nextTask": "WBV2-P7-001"
|
||||
}
|
||||
180
tests/golden/WBV2-P6-003/task-context.json
Normal file
180
tests/golden/WBV2-P6-003/task-context.json
Normal file
@@ -0,0 +1,180 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P6-003",
|
||||
"parentTask": "WBV2-P6-002",
|
||||
"status": "in_progress",
|
||||
"goal": "Make the same minimal fixture produce observable workflow:offline_ci_sbom_and_rollback_release data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.",
|
||||
"scope": {
|
||||
"gap": "workflow:offline_ci_sbom_and_rollback_release",
|
||||
"ownerFamily": "RELEASE",
|
||||
"implementationClass": "LOCAL_BOUNDED"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/WBV2-P6-003.py -- tests/files/web/generated/WBV2-P6-003-workflow-offline_ci_sbom_and_rollback_release.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task WBV2-P6-003",
|
||||
"node tools/web/check-generated-gap.mjs --task WBV2-P6-003"
|
||||
],
|
||||
"inputPaths": [],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 225,
|
||||
"contextRemainingTokens": 55
|
||||
},
|
||||
"source": {
|
||||
"bytes": 9679,
|
||||
"tokens": 2421
|
||||
},
|
||||
"selected": [],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/WBV2-P6-003-workflow-offline_ci_sbom_and_rollback_release.blend",
|
||||
"bytes": 87687,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/generated/WBV2-P6-003.py",
|
||||
"bytes": 3396,
|
||||
"reason": "CONTEXT_REMAINING_SPACE"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"bytes": 275427,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 1040656,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P6-003/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P6-003.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P6-003/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 0,
|
||||
"bytes": 0,
|
||||
"tokens": 0
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"quick/Chromium/release lanes pass",
|
||||
"artifact hashes reproduce",
|
||||
"upgrade/rollback and known limitations are tested"
|
||||
],
|
||||
"nextTask": "WBV2-P7-001",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/WBV2-P6-003.md",
|
||||
"taskIndex": "tests/golden/WBV2/task-index.json",
|
||||
"parentManifest": "tests/golden/WBV2-P6-002/manifest.json",
|
||||
"parentStatus": "docs/status/WBV2-P6-002.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/WBV2-P6-003.md",
|
||||
"tests/golden/WBV2-P6-002/manifest.json",
|
||||
"docs/status/WBV2-P6-002.md"
|
||||
],
|
||||
"machineOnly": [
|
||||
"tests/golden/WBV2/task-index.json",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl"
|
||||
],
|
||||
"optionalByNeed": [
|
||||
"docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
||||
"任务卡列出的精确协议/生产路径",
|
||||
"任务卡明确命名的长期计划小节"
|
||||
],
|
||||
"forbiddenByDefault": [
|
||||
"完整 CURRENT_EXECUTION_PLAN.md",
|
||||
"完整 PROJECT_STATUS_AND_NEXT_WORK.md",
|
||||
"全部 docs/status/*.md",
|
||||
"完整 parity/WBS 计划",
|
||||
"README 历史和 test-results/"
|
||||
]
|
||||
},
|
||||
"parent": {
|
||||
"manifest": {
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P6-002",
|
||||
"parentTask": "WBV2-P6-001",
|
||||
"status": "done",
|
||||
"nextTask": "WBV2-P6-003",
|
||||
"artifactCount": 17
|
||||
},
|
||||
"statusSummary": [
|
||||
"# WBV2-P6-002 status",
|
||||
"- task: `WBV2-P6-002`",
|
||||
"- parent: `WBV2-P6-001`",
|
||||
"- parity: `workflow:performance_fault_and_recovery_matrix`",
|
||||
"- implementationClass: `LOCAL_BOUNDED`",
|
||||
"- status: `done`",
|
||||
"- fixture: `tests/files/web/generated/WBV2-P6-002-workflow-performance_fault_and_recovery_matrix.blend`",
|
||||
"## Evidence"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1844,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 461
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2799,
|
||||
"lines": 51,
|
||||
"tokens": 700
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/WBV2-P6-003.md",
|
||||
"bytes": 1844,
|
||||
"lines": 38,
|
||||
"tokens": 461
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P6-002/manifest.json",
|
||||
"bytes": 3211,
|
||||
"lines": 40,
|
||||
"tokens": 803
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P6-002.md",
|
||||
"bytes": 1825,
|
||||
"lines": 29,
|
||||
"tokens": 457
|
||||
}
|
||||
],
|
||||
"sourceTokens": 2421,
|
||||
"evidenceFiles": 0,
|
||||
"evidenceBytes": 0,
|
||||
"evidenceTokens": 0,
|
||||
"totalTokens": 2421,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 3445,
|
||||
"serializedContextTokens": 711,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user