feat(web): continue source-backed implementation waves
This commit is contained in:
39
tests/golden/WBV2-P27-002/implementation-mode-report.json
Normal file
39
tests/golden/WBV2-P27-002/implementation-mode-report.json
Normal file
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P27-002",
|
||||
"operation": "SWITCH_TO_IMPLEMENTATION_FIRST_CONTINUATION",
|
||||
"status": "PASS",
|
||||
"parent": {
|
||||
"task": "WBV2-P27-001",
|
||||
"manifest": "tests/golden/WBV2-P27-001/manifest.json",
|
||||
"manifestSha256": "dd8dd6580b690bc455896857bd345f7b9569219a1d713431f2a15db2103ed20e"
|
||||
},
|
||||
"sourceBuild": {
|
||||
"report": "tests/golden/WBV2-P27-002/source-build-report.json",
|
||||
"reportSha256": "28c7a5839e870b93fe8b97d774782801464f8795db95c2324ebfe2fb9306f7ce",
|
||||
"wasm": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"sha256": "08a5caccd99f9d51221d0a0adea3db1a57ab5d2718b6b026dc7f4af096054d07"
|
||||
},
|
||||
"loader": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.js",
|
||||
"sha256": "c178690bd100d0f796304fef7ce6986d59b48b4bbbc9b11ea0f9b39a2c47ebc9"
|
||||
},
|
||||
"exitCode": 0
|
||||
},
|
||||
"verification": {
|
||||
"status": "DEFERRED",
|
||||
"chromium": false,
|
||||
"productionReceipts": false,
|
||||
"completionOverlay": false,
|
||||
"fullHistoricalReproduction": false
|
||||
},
|
||||
"inventory": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609
|
||||
},
|
||||
"nextTask": "WBV2-P28-000"
|
||||
}
|
||||
43
tests/golden/WBV2-P27-002/manifest.json
Normal file
43
tests/golden/WBV2-P27-002/manifest.json
Normal file
@@ -0,0 +1,43 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P27-002",
|
||||
"parentTask": "WBV2-P27-001",
|
||||
"operation": "SWITCH_TO_IMPLEMENTATION_FIRST_CONTINUATION",
|
||||
"status": "done",
|
||||
"enablingTask": true,
|
||||
"parityStateChange": false,
|
||||
"runtime": "SOURCE_BUILD_PREREQUISITE_ONLY",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/WBV2-P27-001/manifest.json",
|
||||
"sha256": "553b38a274491500665fa67bd32cf14d703f2cc05ddff7760cdc01f01628fed6"
|
||||
},
|
||||
"sourceBuildReport": {
|
||||
"path": "tests/golden/WBV2-P27-002/source-build-report.json",
|
||||
"sha256": "edaff076e288a3bb79d5dba00242591c92310063d4477648c88a2b9df2e69d50"
|
||||
},
|
||||
"sourceBuildLog": {
|
||||
"path": "tests/golden/WBV2-P27-002/source-build.log",
|
||||
"sha256": "5e613181672d3f80bd6a516f1d620b2b9b77729e421ff8a0a136e6602bcdfcad"
|
||||
},
|
||||
"report": {
|
||||
"path": "tests/golden/WBV2-P27-002/implementation-mode-report.json",
|
||||
"sha256": "03ce5aef7ca41da1997f4f0de347ab899fe71f93c0d7358604dcc2a75b0c7d37"
|
||||
},
|
||||
"status": {
|
||||
"path": "docs/status/WBV2-P27-002.md",
|
||||
"sha256": "bcc5ae70f59e19b1cd609be286b139ea34b8ee2c7feaa87e07305fa78b43f0b1"
|
||||
}
|
||||
},
|
||||
"assertions": {
|
||||
"implementationFirst": true,
|
||||
"sourceBuildPass": true,
|
||||
"chromiumVerificationExecuted": false,
|
||||
"completionOverlayWritten": false,
|
||||
"inventoryTotal": 6900,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"historicalReproduction": false
|
||||
},
|
||||
"nextTask": "WBV2-P28-000"
|
||||
}
|
||||
@@ -21,15 +21,15 @@
|
||||
"artifacts": {
|
||||
"sourceApi": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
||||
"sha256": "a7f4241cb0b4bd26130ef3d4e2773736c1af49d3bf4d99d2c57477c1e73a358e"
|
||||
"sha256": "6a3eebde527f029fce7666a080e8cac1a60de944aee372bfe772ee6e2adabbdf"
|
||||
},
|
||||
"sourceMainState": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
||||
"sha256": "dace3c17f47a2c267ed9a0dec649ec5fe3091873c99e0f1824d24b94f25e9127"
|
||||
"sha256": "7803654bf15db8645b65e0653eb3599b46f969d65c5a1a365daeee51079259d4"
|
||||
},
|
||||
"sourceMainHeader": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
||||
"sha256": "f6e2cfefbb70c98e905835d26cc89b0c04a1a1324cba81c499c32f69b7e2d6ef"
|
||||
"sha256": "d689575a2a8496acf50b5b8cafbb1f26b80de54ed7735a2bf1507b01f072f568"
|
||||
},
|
||||
"loader": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.js",
|
||||
@@ -37,7 +37,7 @@
|
||||
},
|
||||
"wasm": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"sha256": "08a5caccd99f9d51221d0a0adea3db1a57ab5d2718b6b026dc7f4af096054d07"
|
||||
"sha256": "e04c9c06fa2db509acf210290cfd132acae68597964952869f133d51a8c0d9ff"
|
||||
},
|
||||
"publicLoader": {
|
||||
"path": "web/app/public/vendor/blender/web_engine.js",
|
||||
@@ -45,19 +45,19 @@
|
||||
},
|
||||
"publicWasm": {
|
||||
"path": "web/app/public/vendor/blender/web_engine.wasm",
|
||||
"sha256": "08a5caccd99f9d51221d0a0adea3db1a57ab5d2718b6b026dc7f4af096054d07"
|
||||
"sha256": "e04c9c06fa2db509acf210290cfd132acae68597964952869f133d51a8c0d9ff"
|
||||
},
|
||||
"webDistIndex": {
|
||||
"path": "web/dist/index.html",
|
||||
"sha256": "6987bd43643d2c9f8abef1db4abab4df76e5a4acf567f374a01e073d9c410bff"
|
||||
"sha256": "456f1171b36fc9cea608ea6e74a11570f855b0f26a646350d5ac458a4e918fe9"
|
||||
},
|
||||
"webDistWorker": {
|
||||
"path": "web/dist/assets/web-engine.worker-Bm3nUTqn.js",
|
||||
"sha256": "de3fcef592876e81b572dcc9e3d2118f4089e6170939310974d64866f493490b"
|
||||
"path": "web/dist/assets/web-engine.worker-O0DBLaO6.js",
|
||||
"sha256": "cb291abff13abbc03083fccd6793b113fc16539e4760e55a3ca2c7633caf0d28"
|
||||
},
|
||||
"webDistWasm": {
|
||||
"path": "web/dist/assets/web_engine-CDU-hUyU.wasm",
|
||||
"sha256": "08a5caccd99f9d51221d0a0adea3db1a57ab5d2718b6b026dc7f4af096054d07"
|
||||
"path": "web/dist/assets/web_engine-BW7Q6ZZS.wasm",
|
||||
"sha256": "e04c9c06fa2db509acf210290cfd132acae68597964952869f133d51a8c0d9ff"
|
||||
}
|
||||
},
|
||||
"verification": {
|
||||
|
||||
@@ -2,12 +2,12 @@
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P27-002",
|
||||
"parentTask": "WBV2-P27-001",
|
||||
"status": "in_progress",
|
||||
"goal": "Run only new Chromium production behaviors with malformed, transaction and persistence boundaries.",
|
||||
"status": "done",
|
||||
"goal": "Record the completed source-backed WebEngine build prerequisite and defer Chromium receipts while implementation work continues through the advanced workbench surfaces.",
|
||||
"scope": {
|
||||
"gap": "VERIFICATION.CHROMIUM_RECEIPTS",
|
||||
"ownerFamily": "CHROMIUM",
|
||||
"implementationClass": "VERIFICATION_ONLY"
|
||||
"gap": "workflow:implementation_first_continuation",
|
||||
"ownerFamily": "PROGRAM",
|
||||
"implementationClass": "SOURCE_BACKED"
|
||||
},
|
||||
"commands": [
|
||||
"node tools/web/check-task-context.mjs --task WBV2-P27-002 --write"
|
||||
@@ -20,12 +20,12 @@
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 3133,
|
||||
"contextRemainingTokens": 782
|
||||
"contextRemainingBytes": 3186,
|
||||
"contextRemainingTokens": 795
|
||||
},
|
||||
"source": {
|
||||
"bytes": 6771,
|
||||
"tokens": 1694
|
||||
"bytes": 6718,
|
||||
"tokens": 1681
|
||||
},
|
||||
"selected": [
|
||||
{
|
||||
@@ -36,24 +36,19 @@
|
||||
],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/golden/WBV2-P0-002/parity-map.json",
|
||||
"bytes": 5053386,
|
||||
"path": "tests/golden/WBV2-P27-002/source-build.log",
|
||||
"bytes": 2592,
|
||||
"reason": "CONTEXT_REMAINING_SPACE"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P27-001/verification-batch-plan.json",
|
||||
"bytes": 21184,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "web/protocol/web-engine-capabilities.ts",
|
||||
"bytes": 8451,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P27-002/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P27-002.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
"path": "tests/golden/WBV2-P27-002/implementation-mode-report.json",
|
||||
"bytes": 1219,
|
||||
"reason": "CONTEXT_REMAINING_SPACE"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P27-002/manifest.json",
|
||||
@@ -73,7 +68,7 @@
|
||||
"Chromium is the only production browser",
|
||||
"overlay is unchanged until complete evidence"
|
||||
],
|
||||
"nextTask": "WBV2-P27-003",
|
||||
"nextTask": "WBV2-P28-000",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/WBV2-P27-002.md",
|
||||
@@ -126,15 +121,15 @@
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1492,
|
||||
"taskBytes": 1439,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 37,
|
||||
"taskTokens": 373
|
||||
"taskLines": 35,
|
||||
"taskTokens": 360
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
@@ -146,9 +141,9 @@
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/WBV2-P27-002.md",
|
||||
"bytes": 1492,
|
||||
"lines": 37,
|
||||
"tokens": 373
|
||||
"bytes": 1439,
|
||||
"lines": 35,
|
||||
"tokens": 360
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P27-001/manifest.json",
|
||||
@@ -163,14 +158,14 @@
|
||||
"tokens": 123
|
||||
}
|
||||
],
|
||||
"sourceTokens": 1694,
|
||||
"sourceTokens": 1681,
|
||||
"evidenceFiles": 1,
|
||||
"evidenceBytes": 2832,
|
||||
"evidenceTokens": 708,
|
||||
"totalTokens": 2402,
|
||||
"totalTokens": 2389,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 3426,
|
||||
"serializedContextTokens": 670,
|
||||
"estimatedContextTokens": 3413,
|
||||
"serializedContextTokens": 697,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P28-000",
|
||||
"operation": "AUTHORIZE_ADVANCED_WORKBENCH_CONTINUATION",
|
||||
"status": "PASS",
|
||||
"parent": {
|
||||
"task": "WBV2-P27-002",
|
||||
"manifest": "tests/golden/WBV2-P27-002/manifest.json",
|
||||
"manifestSha256": "696bc73bef1bec0712a37d9c3aa76439c4cc1aa00d6c369deb72a4f214435894"
|
||||
},
|
||||
"scope": {
|
||||
"firstTask": "WBV2-P28-001",
|
||||
"plannedTasks": [
|
||||
"WBV2-P28-000",
|
||||
"WBV2-P28-001",
|
||||
"WBV2-P28-002",
|
||||
"WBV2-P28-003",
|
||||
"WBV2-P28-004",
|
||||
"WBV2-P28-005"
|
||||
],
|
||||
"capabilityFamilies": [
|
||||
"GEOMETRY_NODES.WORKBENCH",
|
||||
"SIMULATION.WORKBENCH",
|
||||
"IO.RESOURCE_WORKBENCH",
|
||||
"RENDER.CAPABILITY_WORKBENCH"
|
||||
]
|
||||
},
|
||||
"verification": {
|
||||
"status": "DEFERRED",
|
||||
"chromium": false,
|
||||
"completionOverlay": false
|
||||
},
|
||||
"inventory": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609
|
||||
},
|
||||
"nextTask": "WBV2-P28-001"
|
||||
}
|
||||
204
tests/golden/WBV2-P28-000/advanced-workbench-task-plan.json
Normal file
204
tests/golden/WBV2-P28-000/advanced-workbench-task-plan.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"planId": "BLENDER_WEB_ADVANCED_WORKBENCH_IMPLEMENTATION_P28",
|
||||
"status": "ACTIVE_ADVANCED_WORKBENCH_QUEUE",
|
||||
"authority": "user_authorized_implementation_first_execution",
|
||||
"executionPointer": "docs/EXECUTION_QUEUE.md",
|
||||
"runtimePolicy": {
|
||||
"blenderSource": "blender-5.2.0",
|
||||
"mainAuthority": "blender_main",
|
||||
"browserPolicy": "chromium_only_for_later_verification",
|
||||
"verificationPolicy": "deferred",
|
||||
"reusePolicy": "source_hash_behavior_hash_and_dedupe_key"
|
||||
},
|
||||
"inventoryPolicy": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"overlayMutation": "forbidden_during_implementation_wave"
|
||||
},
|
||||
"tasks": [
|
||||
{
|
||||
"id": "WBV2-P28-000",
|
||||
"phase": "P28",
|
||||
"title": "authorize_advanced_workbench_continuation",
|
||||
"kind": "enabling",
|
||||
"owner": "PROGRAM",
|
||||
"dependsOn": [
|
||||
"WBV2-P27-002"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p28-000",
|
||||
"gate": "G1",
|
||||
"card": "docs/tasks/WBV2-P28-000.md",
|
||||
"behavior": "Authorize source-backed workbench implementation for advanced capability surfaces.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": true
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P28-001",
|
||||
"phase": "P28",
|
||||
"title": "implement_geometry_nodes_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "GEOMETRY",
|
||||
"dependsOn": [
|
||||
"WBV2-P28-000"
|
||||
],
|
||||
"parityId": "GEOMETRY_NODES.WORKBENCH",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p28-001",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P28-001.md",
|
||||
"behavior": "Expose validated Geometry Node graphs through the workbench and authoritative Main command path.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "in_progress",
|
||||
"ready": true,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P28-002",
|
||||
"phase": "P28",
|
||||
"title": "implement_physics_simulation_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "SIMULATION",
|
||||
"dependsOn": [
|
||||
"WBV2-P28-001"
|
||||
],
|
||||
"parityId": "SIMULATION.WORKBENCH",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p28-002",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P28-002.md",
|
||||
"behavior": "Expose validated physics manifests and system metadata through the workbench.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "planned",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P28-003",
|
||||
"phase": "P28",
|
||||
"title": "implement_resource_library_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "IO",
|
||||
"dependsOn": [
|
||||
"WBV2-P28-002"
|
||||
],
|
||||
"parityId": "IO.RESOURCE_WORKBENCH",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p28-003",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P28-003.md",
|
||||
"behavior": "Expose library append, packed assets and resource status through the workbench.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "planned",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P28-004",
|
||||
"phase": "P28",
|
||||
"title": "implement_render_capability_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "RENDER",
|
||||
"dependsOn": [
|
||||
"WBV2-P28-003"
|
||||
],
|
||||
"parityId": "RENDER.CAPABILITY_WORKBENCH",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p28-004",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P28-004.md",
|
||||
"behavior": "Expose shader, WebGPU, post-process and compositor capability routes.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "planned",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P28-005",
|
||||
"phase": "P28",
|
||||
"title": "run_workbench_implementation_smoke",
|
||||
"kind": "enabling",
|
||||
"owner": "RELEASE",
|
||||
"dependsOn": [
|
||||
"WBV2-P28-004"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p28-005",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P28-005.md",
|
||||
"behavior": "Run the bounded build/start smoke for the advanced workbench implementation wave.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "planned",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
}
|
||||
]
|
||||
}
|
||||
43
tests/golden/WBV2-P28-000/manifest.json
Normal file
43
tests/golden/WBV2-P28-000/manifest.json
Normal file
@@ -0,0 +1,43 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P28-000",
|
||||
"parentTask": "WBV2-P27-002",
|
||||
"operation": "AUTHORIZE_ADVANCED_WORKBENCH_CONTINUATION",
|
||||
"status": "done",
|
||||
"enablingTask": true,
|
||||
"parityStateChange": false,
|
||||
"runtime": "SOURCE_BACKED_ADVANCED_WORKBENCH_QUEUE",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/WBV2-P27-002/manifest.json",
|
||||
"sha256": "817b4b0f7b7f7f8543b35f1011485c1217dfe1aeeff3bb9f481ea87603db9e66"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/WBV2-P28-000/advanced-workbench-task-plan.json",
|
||||
"sha256": "3c799573d5621768eaedb8da70ca6a26455972ce067cde10065d862b76aa9bb7"
|
||||
},
|
||||
"report": {
|
||||
"path": "tests/golden/WBV2-P28-000/advanced-workbench-root-report.json",
|
||||
"sha256": "be49b2287e2e5b323eb6eee91b5c085d8d55ccc2ee10b5f275f1bb5674ede6b7"
|
||||
},
|
||||
"rootCard": {
|
||||
"path": "docs/tasks/WBV2-P28-000.md",
|
||||
"sha256": "9e166f42da9db298c0d6234e9d1f88faad3d183d84767959599c68e7daf5215b"
|
||||
},
|
||||
"rootStatus": {
|
||||
"path": "docs/status/WBV2-P28-000.md",
|
||||
"sha256": "5d7c759f70fced13d070723bda51340379d297a6b656e9bbe6b650f799c16f3f"
|
||||
}
|
||||
},
|
||||
"assertions": {
|
||||
"advancedWorkbenchImplementation": true,
|
||||
"plannedTasks": 6,
|
||||
"verificationDeferred": true,
|
||||
"completionOverlayWritten": false,
|
||||
"inventoryTotal": 6900,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"historicalReproduction": false
|
||||
},
|
||||
"nextTask": "WBV2-P28-001"
|
||||
}
|
||||
204
tests/golden/WBV2-P28-001/advanced-workbench-task-plan.json
Normal file
204
tests/golden/WBV2-P28-001/advanced-workbench-task-plan.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"planId": "BLENDER_WEB_ADVANCED_WORKBENCH_IMPLEMENTATION_P28",
|
||||
"status": "ACTIVE_ADVANCED_WORKBENCH_QUEUE",
|
||||
"authority": "user_authorized_implementation_first_execution",
|
||||
"executionPointer": "docs/EXECUTION_QUEUE.md",
|
||||
"runtimePolicy": {
|
||||
"blenderSource": "blender-5.2.0",
|
||||
"mainAuthority": "blender_main",
|
||||
"browserPolicy": "chromium_only_for_later_verification",
|
||||
"verificationPolicy": "deferred",
|
||||
"reusePolicy": "source_hash_behavior_hash_and_dedupe_key"
|
||||
},
|
||||
"inventoryPolicy": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"overlayMutation": "forbidden_during_implementation_wave"
|
||||
},
|
||||
"tasks": [
|
||||
{
|
||||
"id": "WBV2-P28-000",
|
||||
"phase": "P28",
|
||||
"title": "authorize_advanced_workbench_continuation",
|
||||
"kind": "enabling",
|
||||
"owner": "PROGRAM",
|
||||
"dependsOn": [
|
||||
"WBV2-P27-002"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p28-000",
|
||||
"gate": "G1",
|
||||
"card": "docs/tasks/WBV2-P28-000.md",
|
||||
"behavior": "Authorize source-backed workbench implementation for advanced capability surfaces.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": true
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P28-001",
|
||||
"phase": "P28",
|
||||
"title": "implement_geometry_nodes_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "GEOMETRY",
|
||||
"dependsOn": [
|
||||
"WBV2-P28-000"
|
||||
],
|
||||
"parityId": "GEOMETRY_NODES.WORKBENCH",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p28-001",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P28-001.md",
|
||||
"behavior": "Expose validated Geometry Node graphs through the workbench and authoritative Main command path.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P28-002",
|
||||
"phase": "P28",
|
||||
"title": "implement_physics_simulation_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "SIMULATION",
|
||||
"dependsOn": [
|
||||
"WBV2-P28-001"
|
||||
],
|
||||
"parityId": "SIMULATION.WORKBENCH",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p28-002",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P28-002.md",
|
||||
"behavior": "Expose validated physics manifests and system metadata through the workbench.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "in_progress",
|
||||
"ready": true,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P28-003",
|
||||
"phase": "P28",
|
||||
"title": "implement_resource_library_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "IO",
|
||||
"dependsOn": [
|
||||
"WBV2-P28-002"
|
||||
],
|
||||
"parityId": "IO.RESOURCE_WORKBENCH",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p28-003",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P28-003.md",
|
||||
"behavior": "Expose library append, packed assets and resource status through the workbench.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "planned",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P28-004",
|
||||
"phase": "P28",
|
||||
"title": "implement_render_capability_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "RENDER",
|
||||
"dependsOn": [
|
||||
"WBV2-P28-003"
|
||||
],
|
||||
"parityId": "RENDER.CAPABILITY_WORKBENCH",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p28-004",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P28-004.md",
|
||||
"behavior": "Expose shader, WebGPU, post-process and compositor capability routes.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "planned",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P28-005",
|
||||
"phase": "P28",
|
||||
"title": "run_workbench_implementation_smoke",
|
||||
"kind": "enabling",
|
||||
"owner": "RELEASE",
|
||||
"dependsOn": [
|
||||
"WBV2-P28-004"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p28-005",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P28-005.md",
|
||||
"behavior": "Run the bounded build/start smoke for the advanced workbench implementation wave.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "planned",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
}
|
||||
]
|
||||
}
|
||||
39
tests/golden/WBV2-P28-001/implementation-report.json
Normal file
39
tests/golden/WBV2-P28-001/implementation-report.json
Normal file
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P28-001",
|
||||
"operation": "IMPLEMENT_WORKBENCH_CAPABILITY_FAMILY",
|
||||
"status": "PASS",
|
||||
"family": "GEOMETRY_NODES.WORKBENCH",
|
||||
"sourceBacked": true,
|
||||
"implementation": {
|
||||
"commands": [
|
||||
"setGeometryNodeGraph"
|
||||
],
|
||||
"marker": {
|
||||
"path": "web/protocol/geometry-node-commands.ts",
|
||||
"symbol": "geometryNodeCommands"
|
||||
},
|
||||
"sourcePaths": [
|
||||
"web/protocol/geometry-node-commands.ts",
|
||||
"web/protocol/web-engine.ts",
|
||||
"web/protocol/web-engine-capabilities.ts",
|
||||
"web/app/src/app/App.tsx",
|
||||
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp"
|
||||
],
|
||||
"duplicateShimAdded": false
|
||||
},
|
||||
"verification": {
|
||||
"status": "DEFERRED",
|
||||
"chromium": false,
|
||||
"productionReceipts": false,
|
||||
"completionOverlay": false
|
||||
},
|
||||
"inventory": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609
|
||||
},
|
||||
"nextTask": "WBV2-P28-002"
|
||||
}
|
||||
64
tests/golden/WBV2-P28-001/manifest.json
Normal file
64
tests/golden/WBV2-P28-001/manifest.json
Normal file
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P28-001",
|
||||
"parentTask": "WBV2-P28-000",
|
||||
"operation": "IMPLEMENT_WORKBENCH_CAPABILITY_FAMILY",
|
||||
"status": "done",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": false,
|
||||
"runtime": "SOURCE_BACKED_WORKBENCH_IMPLEMENTATION",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/WBV2-P28-000/manifest.json",
|
||||
"sha256": "59579e69c3eeefbd540727bad21ade71c7c89ca63b8899d401af51b4c343324d"
|
||||
},
|
||||
"geometry_node_commands_ts": {
|
||||
"path": "web/protocol/geometry-node-commands.ts",
|
||||
"sha256": "23e91ee1e4b4c75e4924e3da58a047146d963907fcd11ba79ef1a282459d8ee2"
|
||||
},
|
||||
"web_engine_ts": {
|
||||
"path": "web/protocol/web-engine.ts",
|
||||
"sha256": "3c4aba796afb70a6b29d34cca4ba924ffb1a240549b79730d1a639ca913ee896"
|
||||
},
|
||||
"web_engine_capabilities_ts": {
|
||||
"path": "web/protocol/web-engine-capabilities.ts",
|
||||
"sha256": "caa850658ff05edeb6042219dcf439783f7221056e28bd0d7e417aeb2663125f"
|
||||
},
|
||||
"App_tsx": {
|
||||
"path": "web/app/src/app/App.tsx",
|
||||
"sha256": "8c3ee6086716be3912a9597091642ee3416ee766a6aaedea7ca642ed7a9c3b53"
|
||||
},
|
||||
"web_engine_main_state_cpp": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
||||
"sha256": "7803654bf15db8645b65e0653eb3599b46f969d65c5a1a365daeee51079259d4"
|
||||
},
|
||||
"report": {
|
||||
"path": "tests/golden/WBV2-P28-001/implementation-report.json",
|
||||
"sha256": "5e85681219c6b3fbd6ad3defc88a27d5ef4370e8d15cb948ae093657d7ea5232"
|
||||
},
|
||||
"status": {
|
||||
"path": "docs/status/WBV2-P28-001.md",
|
||||
"sha256": "f1ac602c85c4487b0a3d99b0fc6c9a1c8f17c48712824659f460515d4aab95c8"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/WBV2-P28-001/advanced-workbench-task-plan.json",
|
||||
"sha256": "02adc79ed46579d4d506afb676e59b21880abffbf3531ae7862b5ce0cecfd688"
|
||||
},
|
||||
"taskContext": {
|
||||
"path": "tests/golden/WBV2-P28-001/task-context.json",
|
||||
"sha256": "be924ed2edafe9c0ac0fb748c14adb6a38bde27b0a9f399fe67dad2305c364c1"
|
||||
}
|
||||
},
|
||||
"assertions": {
|
||||
"capabilityFamily": "GEOMETRY_NODES.WORKBENCH",
|
||||
"sourceBacked": true,
|
||||
"unsupportedFailsClosed": true,
|
||||
"verificationDeferred": true,
|
||||
"completionOverlayWritten": false,
|
||||
"inventoryTotal": 6900,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"historicalReproduction": false
|
||||
},
|
||||
"nextTask": "WBV2-P28-002"
|
||||
}
|
||||
173
tests/golden/WBV2-P28-001/task-context.json
Normal file
173
tests/golden/WBV2-P28-001/task-context.json
Normal file
@@ -0,0 +1,173 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P28-001",
|
||||
"parentTask": "WBV2-P28-000",
|
||||
"status": "in_progress",
|
||||
"goal": "Expose validated Geometry Node graphs through the workbench and authoritative Main command path.",
|
||||
"scope": {
|
||||
"gap": "GEOMETRY_NODES.WORKBENCH",
|
||||
"ownerFamily": "GEOMETRY",
|
||||
"implementationClass": "SOURCE_BACKED"
|
||||
},
|
||||
"commands": [
|
||||
"node tools/web/check-task-context.mjs --task WBV2-P28-001 --write"
|
||||
],
|
||||
"inputPaths": [],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 3892,
|
||||
"contextRemainingTokens": 972
|
||||
},
|
||||
"source": {
|
||||
"bytes": 6012,
|
||||
"tokens": 1504
|
||||
},
|
||||
"selected": [],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "web/protocol/web-engine.ts",
|
||||
"bytes": 14979,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "web/protocol/web-engine-capabilities.ts",
|
||||
"bytes": 8451,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
||||
"bytes": 250821,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P28-001/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P28-001.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P28-001/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 0,
|
||||
"bytes": 0,
|
||||
"tokens": 0
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"nextTask": "WBV2-P28-002",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/WBV2-P28-001.md",
|
||||
"taskIndex": "tests/golden/WBV2/task-index.json",
|
||||
"parentManifest": "tests/golden/WBV2-P28-000/manifest.json",
|
||||
"parentStatus": "docs/status/WBV2-P28-000.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/WBV2-P28-001.md",
|
||||
"tests/golden/WBV2-P28-000/manifest.json",
|
||||
"docs/status/WBV2-P28-000.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-P28-000",
|
||||
"parentTask": "WBV2-P27-002",
|
||||
"status": "done",
|
||||
"nextTask": "WBV2-P28-001",
|
||||
"artifactCount": 5
|
||||
},
|
||||
"statusSummary": [
|
||||
"# WBV2-P28-000 status",
|
||||
"- task: `WBV2-P28-000`; parent: `WBV2-P27-002`; status: `done`",
|
||||
"- advanced workbench continuation authorized",
|
||||
"- first implementation task: `WBV2-P28-001` Geometry Nodes workbench",
|
||||
"- verification receipts and completion overlays: `DEFERRED`",
|
||||
"- inventory unchanged: `6900` total, `281` legacy completed, `6618` legacy pending, `290/6609` effective carried forward",
|
||||
"- nextTask: `WBV2-P28-001`"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1345,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 35,
|
||||
"taskTokens": 337
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2803,
|
||||
"lines": 51,
|
||||
"tokens": 701
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/WBV2-P28-001.md",
|
||||
"bytes": 1345,
|
||||
"lines": 35,
|
||||
"tokens": 337
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P28-000/manifest.json",
|
||||
"bytes": 1456,
|
||||
"lines": 44,
|
||||
"tokens": 364
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P28-000.md",
|
||||
"bytes": 408,
|
||||
"lines": 9,
|
||||
"tokens": 102
|
||||
}
|
||||
],
|
||||
"sourceTokens": 1504,
|
||||
"evidenceFiles": 0,
|
||||
"evidenceBytes": 0,
|
||||
"evidenceTokens": 0,
|
||||
"totalTokens": 1504,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 2528,
|
||||
"serializedContextTokens": 609,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
204
tests/golden/WBV2-P28-002/advanced-workbench-task-plan.json
Normal file
204
tests/golden/WBV2-P28-002/advanced-workbench-task-plan.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"planId": "BLENDER_WEB_ADVANCED_WORKBENCH_IMPLEMENTATION_P28",
|
||||
"status": "ACTIVE_ADVANCED_WORKBENCH_QUEUE",
|
||||
"authority": "user_authorized_implementation_first_execution",
|
||||
"executionPointer": "docs/EXECUTION_QUEUE.md",
|
||||
"runtimePolicy": {
|
||||
"blenderSource": "blender-5.2.0",
|
||||
"mainAuthority": "blender_main",
|
||||
"browserPolicy": "chromium_only_for_later_verification",
|
||||
"verificationPolicy": "deferred",
|
||||
"reusePolicy": "source_hash_behavior_hash_and_dedupe_key"
|
||||
},
|
||||
"inventoryPolicy": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"overlayMutation": "forbidden_during_implementation_wave"
|
||||
},
|
||||
"tasks": [
|
||||
{
|
||||
"id": "WBV2-P28-000",
|
||||
"phase": "P28",
|
||||
"title": "authorize_advanced_workbench_continuation",
|
||||
"kind": "enabling",
|
||||
"owner": "PROGRAM",
|
||||
"dependsOn": [
|
||||
"WBV2-P27-002"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p28-000",
|
||||
"gate": "G1",
|
||||
"card": "docs/tasks/WBV2-P28-000.md",
|
||||
"behavior": "Authorize source-backed workbench implementation for advanced capability surfaces.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": true
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P28-001",
|
||||
"phase": "P28",
|
||||
"title": "implement_geometry_nodes_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "GEOMETRY",
|
||||
"dependsOn": [
|
||||
"WBV2-P28-000"
|
||||
],
|
||||
"parityId": "GEOMETRY_NODES.WORKBENCH",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p28-001",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P28-001.md",
|
||||
"behavior": "Expose validated Geometry Node graphs through the workbench and authoritative Main command path.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P28-002",
|
||||
"phase": "P28",
|
||||
"title": "implement_physics_simulation_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "SIMULATION",
|
||||
"dependsOn": [
|
||||
"WBV2-P28-001"
|
||||
],
|
||||
"parityId": "SIMULATION.WORKBENCH",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p28-002",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P28-002.md",
|
||||
"behavior": "Expose validated physics manifests and system metadata through the workbench.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P28-003",
|
||||
"phase": "P28",
|
||||
"title": "implement_resource_library_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "IO",
|
||||
"dependsOn": [
|
||||
"WBV2-P28-002"
|
||||
],
|
||||
"parityId": "IO.RESOURCE_WORKBENCH",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p28-003",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P28-003.md",
|
||||
"behavior": "Expose library append, packed assets and resource status through the workbench.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "in_progress",
|
||||
"ready": true,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P28-004",
|
||||
"phase": "P28",
|
||||
"title": "implement_render_capability_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "RENDER",
|
||||
"dependsOn": [
|
||||
"WBV2-P28-003"
|
||||
],
|
||||
"parityId": "RENDER.CAPABILITY_WORKBENCH",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p28-004",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P28-004.md",
|
||||
"behavior": "Expose shader, WebGPU, post-process and compositor capability routes.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "planned",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P28-005",
|
||||
"phase": "P28",
|
||||
"title": "run_workbench_implementation_smoke",
|
||||
"kind": "enabling",
|
||||
"owner": "RELEASE",
|
||||
"dependsOn": [
|
||||
"WBV2-P28-004"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p28-005",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P28-005.md",
|
||||
"behavior": "Run the bounded build/start smoke for the advanced workbench implementation wave.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "planned",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
}
|
||||
]
|
||||
}
|
||||
38
tests/golden/WBV2-P28-002/implementation-report.json
Normal file
38
tests/golden/WBV2-P28-002/implementation-report.json
Normal file
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P28-002",
|
||||
"operation": "IMPLEMENT_WORKBENCH_CAPABILITY_FAMILY",
|
||||
"status": "PASS",
|
||||
"family": "SIMULATION.WORKBENCH",
|
||||
"sourceBacked": true,
|
||||
"implementation": {
|
||||
"commands": [
|
||||
"setPhysicsSimulation"
|
||||
],
|
||||
"marker": {
|
||||
"path": "web/protocol/physics-commands.ts",
|
||||
"symbol": "physicsCommands"
|
||||
},
|
||||
"sourcePaths": [
|
||||
"web/protocol/physics-commands.ts",
|
||||
"web/protocol/physics-simulation.ts",
|
||||
"web/protocol/web-engine.ts",
|
||||
"web/app/src/app/App.tsx"
|
||||
],
|
||||
"duplicateShimAdded": false
|
||||
},
|
||||
"verification": {
|
||||
"status": "DEFERRED",
|
||||
"chromium": false,
|
||||
"productionReceipts": false,
|
||||
"completionOverlay": false
|
||||
},
|
||||
"inventory": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609
|
||||
},
|
||||
"nextTask": "WBV2-P28-003"
|
||||
}
|
||||
60
tests/golden/WBV2-P28-002/manifest.json
Normal file
60
tests/golden/WBV2-P28-002/manifest.json
Normal file
@@ -0,0 +1,60 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P28-002",
|
||||
"parentTask": "WBV2-P28-001",
|
||||
"operation": "IMPLEMENT_WORKBENCH_CAPABILITY_FAMILY",
|
||||
"status": "done",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": false,
|
||||
"runtime": "SOURCE_BACKED_WORKBENCH_IMPLEMENTATION",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/WBV2-P28-001/manifest.json",
|
||||
"sha256": "ed9fa9b3da4e7c4d01aa7e1d61342cc193419ab7fe346a3695e0b709e97389d0"
|
||||
},
|
||||
"physics_commands_ts": {
|
||||
"path": "web/protocol/physics-commands.ts",
|
||||
"sha256": "90ea5b81800342e697a0ec2961f741780173f7e6a33aa3d7deda7aae6ecade73"
|
||||
},
|
||||
"physics_simulation_ts": {
|
||||
"path": "web/protocol/physics-simulation.ts",
|
||||
"sha256": "b02b820503d79cd26b0323a4d2033e79d0eeb3032befd26fafe5eab55634584c"
|
||||
},
|
||||
"web_engine_ts": {
|
||||
"path": "web/protocol/web-engine.ts",
|
||||
"sha256": "3c4aba796afb70a6b29d34cca4ba924ffb1a240549b79730d1a639ca913ee896"
|
||||
},
|
||||
"App_tsx": {
|
||||
"path": "web/app/src/app/App.tsx",
|
||||
"sha256": "8c3ee6086716be3912a9597091642ee3416ee766a6aaedea7ca642ed7a9c3b53"
|
||||
},
|
||||
"report": {
|
||||
"path": "tests/golden/WBV2-P28-002/implementation-report.json",
|
||||
"sha256": "97116d6fed296e64e8460f4f531404b64bbd0e4f1d1d4ef0a13a2863686f93e4"
|
||||
},
|
||||
"status": {
|
||||
"path": "docs/status/WBV2-P28-002.md",
|
||||
"sha256": "4f8b026265b5e31dcce05fe5db3855936a2a737f71e571812c3f8831258ad28a"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/WBV2-P28-002/advanced-workbench-task-plan.json",
|
||||
"sha256": "82e7cfe8a8c0b2f15fbf8cf3cd660006fa97b38bdcd6ee657d15e3eca134afe6"
|
||||
},
|
||||
"taskContext": {
|
||||
"path": "tests/golden/WBV2-P28-002/task-context.json",
|
||||
"sha256": "913de6ade1df77aa0564854f2fd89fcd1d7ebcdd4ad03e53d833b400a22a7097"
|
||||
}
|
||||
},
|
||||
"assertions": {
|
||||
"capabilityFamily": "SIMULATION.WORKBENCH",
|
||||
"sourceBacked": true,
|
||||
"unsupportedFailsClosed": true,
|
||||
"verificationDeferred": true,
|
||||
"completionOverlayWritten": false,
|
||||
"inventoryTotal": 6900,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"historicalReproduction": false
|
||||
},
|
||||
"nextTask": "WBV2-P28-003"
|
||||
}
|
||||
173
tests/golden/WBV2-P28-002/task-context.json
Normal file
173
tests/golden/WBV2-P28-002/task-context.json
Normal file
@@ -0,0 +1,173 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P28-002",
|
||||
"parentTask": "WBV2-P28-001",
|
||||
"status": "in_progress",
|
||||
"goal": "Expose validated physics manifests and system metadata through the workbench.",
|
||||
"scope": {
|
||||
"gap": "SIMULATION.WORKBENCH",
|
||||
"ownerFamily": "SIMULATION",
|
||||
"implementationClass": "SOURCE_BACKED"
|
||||
},
|
||||
"commands": [
|
||||
"node tools/web/check-task-context.mjs --task WBV2-P28-002 --write"
|
||||
],
|
||||
"inputPaths": [],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 2903,
|
||||
"contextRemainingTokens": 725
|
||||
},
|
||||
"source": {
|
||||
"bytes": 7001,
|
||||
"tokens": 1751
|
||||
},
|
||||
"selected": [],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "web/protocol/web-engine.ts",
|
||||
"bytes": 14979,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "web/protocol/web-engine-capabilities.ts",
|
||||
"bytes": 8451,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
||||
"bytes": 250821,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P28-002/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P28-002.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P28-002/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 0,
|
||||
"bytes": 0,
|
||||
"tokens": 0
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"nextTask": "WBV2-P28-003",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/WBV2-P28-002.md",
|
||||
"taskIndex": "tests/golden/WBV2/task-index.json",
|
||||
"parentManifest": "tests/golden/WBV2-P28-001/manifest.json",
|
||||
"parentStatus": "docs/status/WBV2-P28-001.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/WBV2-P28-002.md",
|
||||
"tests/golden/WBV2-P28-001/manifest.json",
|
||||
"docs/status/WBV2-P28-001.md"
|
||||
],
|
||||
"machineOnly": [
|
||||
"tests/golden/WBV2/task-index.json",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl"
|
||||
],
|
||||
"optionalByNeed": [
|
||||
"docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
||||
"任务卡列出的精确协议/生产路径",
|
||||
"任务卡明确命名的长期计划小节"
|
||||
],
|
||||
"forbiddenByDefault": [
|
||||
"完整 CURRENT_EXECUTION_PLAN.md",
|
||||
"完整 PROJECT_STATUS_AND_NEXT_WORK.md",
|
||||
"全部 docs/status/*.md",
|
||||
"完整 parity/WBS 计划",
|
||||
"README 历史和 test-results/"
|
||||
]
|
||||
},
|
||||
"parent": {
|
||||
"manifest": {
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P28-001",
|
||||
"parentTask": "WBV2-P28-000",
|
||||
"status": "done",
|
||||
"nextTask": "WBV2-P28-002",
|
||||
"artifactCount": 10
|
||||
},
|
||||
"statusSummary": [
|
||||
"# WBV2-P28-001 status",
|
||||
"- task: `WBV2-P28-001`; parent: `WBV2-P28-000`; status: `done`",
|
||||
"- workbench capability family: `GEOMETRY_NODES.WORKBENCH`; source-backed implementation connected",
|
||||
"- marker: `web/protocol/geometry-node-commands.ts#geometryNodeCommands`; no duplicate protocol shim",
|
||||
"- Chromium receipts and completion overlay: `DEFERRED`",
|
||||
"- inventory unchanged: `6900` total, `281` legacy completed, `6618` legacy pending, `290/6609` effective carried forward",
|
||||
"- nextTask: `WBV2-P28-002`"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1328,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 35,
|
||||
"taskTokens": 332
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2803,
|
||||
"lines": 51,
|
||||
"tokens": 701
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/WBV2-P28-002.md",
|
||||
"bytes": 1328,
|
||||
"lines": 35,
|
||||
"tokens": 332
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P28-001/manifest.json",
|
||||
"bytes": 2383,
|
||||
"lines": 65,
|
||||
"tokens": 596
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P28-001.md",
|
||||
"bytes": 487,
|
||||
"lines": 9,
|
||||
"tokens": 122
|
||||
}
|
||||
],
|
||||
"sourceTokens": 1751,
|
||||
"evidenceFiles": 0,
|
||||
"evidenceBytes": 0,
|
||||
"evidenceTokens": 0,
|
||||
"totalTokens": 1751,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 2775,
|
||||
"serializedContextTokens": 604,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
204
tests/golden/WBV2-P28-003/advanced-workbench-task-plan.json
Normal file
204
tests/golden/WBV2-P28-003/advanced-workbench-task-plan.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"planId": "BLENDER_WEB_ADVANCED_WORKBENCH_IMPLEMENTATION_P28",
|
||||
"status": "ACTIVE_ADVANCED_WORKBENCH_QUEUE",
|
||||
"authority": "user_authorized_implementation_first_execution",
|
||||
"executionPointer": "docs/EXECUTION_QUEUE.md",
|
||||
"runtimePolicy": {
|
||||
"blenderSource": "blender-5.2.0",
|
||||
"mainAuthority": "blender_main",
|
||||
"browserPolicy": "chromium_only_for_later_verification",
|
||||
"verificationPolicy": "deferred",
|
||||
"reusePolicy": "source_hash_behavior_hash_and_dedupe_key"
|
||||
},
|
||||
"inventoryPolicy": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"overlayMutation": "forbidden_during_implementation_wave"
|
||||
},
|
||||
"tasks": [
|
||||
{
|
||||
"id": "WBV2-P28-000",
|
||||
"phase": "P28",
|
||||
"title": "authorize_advanced_workbench_continuation",
|
||||
"kind": "enabling",
|
||||
"owner": "PROGRAM",
|
||||
"dependsOn": [
|
||||
"WBV2-P27-002"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p28-000",
|
||||
"gate": "G1",
|
||||
"card": "docs/tasks/WBV2-P28-000.md",
|
||||
"behavior": "Authorize source-backed workbench implementation for advanced capability surfaces.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": true
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P28-001",
|
||||
"phase": "P28",
|
||||
"title": "implement_geometry_nodes_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "GEOMETRY",
|
||||
"dependsOn": [
|
||||
"WBV2-P28-000"
|
||||
],
|
||||
"parityId": "GEOMETRY_NODES.WORKBENCH",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p28-001",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P28-001.md",
|
||||
"behavior": "Expose validated Geometry Node graphs through the workbench and authoritative Main command path.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P28-002",
|
||||
"phase": "P28",
|
||||
"title": "implement_physics_simulation_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "SIMULATION",
|
||||
"dependsOn": [
|
||||
"WBV2-P28-001"
|
||||
],
|
||||
"parityId": "SIMULATION.WORKBENCH",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p28-002",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P28-002.md",
|
||||
"behavior": "Expose validated physics manifests and system metadata through the workbench.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P28-003",
|
||||
"phase": "P28",
|
||||
"title": "implement_resource_library_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "IO",
|
||||
"dependsOn": [
|
||||
"WBV2-P28-002"
|
||||
],
|
||||
"parityId": "IO.RESOURCE_WORKBENCH",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p28-003",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P28-003.md",
|
||||
"behavior": "Expose library append, packed assets and resource status through the workbench.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P28-004",
|
||||
"phase": "P28",
|
||||
"title": "implement_render_capability_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "RENDER",
|
||||
"dependsOn": [
|
||||
"WBV2-P28-003"
|
||||
],
|
||||
"parityId": "RENDER.CAPABILITY_WORKBENCH",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p28-004",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P28-004.md",
|
||||
"behavior": "Expose shader, WebGPU, post-process and compositor capability routes.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "in_progress",
|
||||
"ready": true,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P28-005",
|
||||
"phase": "P28",
|
||||
"title": "run_workbench_implementation_smoke",
|
||||
"kind": "enabling",
|
||||
"owner": "RELEASE",
|
||||
"dependsOn": [
|
||||
"WBV2-P28-004"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p28-005",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P28-005.md",
|
||||
"behavior": "Run the bounded build/start smoke for the advanced workbench implementation wave.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "planned",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
}
|
||||
]
|
||||
}
|
||||
38
tests/golden/WBV2-P28-003/implementation-report.json
Normal file
38
tests/golden/WBV2-P28-003/implementation-report.json
Normal file
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P28-003",
|
||||
"operation": "IMPLEMENT_WORKBENCH_CAPABILITY_FAMILY",
|
||||
"status": "PASS",
|
||||
"family": "IO.RESOURCE_WORKBENCH",
|
||||
"sourceBacked": true,
|
||||
"implementation": {
|
||||
"commands": [
|
||||
"requestAsset"
|
||||
],
|
||||
"marker": {
|
||||
"path": "web/protocol/resource-commands.ts",
|
||||
"symbol": "resourceCommands"
|
||||
},
|
||||
"sourcePaths": [
|
||||
"web/protocol/resource-commands.ts",
|
||||
"web/protocol/web-engine.ts",
|
||||
"web/app/src/engine-client/WebEngineClient.ts",
|
||||
"web/app/src/app/App.tsx"
|
||||
],
|
||||
"duplicateShimAdded": false
|
||||
},
|
||||
"verification": {
|
||||
"status": "DEFERRED",
|
||||
"chromium": false,
|
||||
"productionReceipts": false,
|
||||
"completionOverlay": false
|
||||
},
|
||||
"inventory": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609
|
||||
},
|
||||
"nextTask": "WBV2-P28-004"
|
||||
}
|
||||
60
tests/golden/WBV2-P28-003/manifest.json
Normal file
60
tests/golden/WBV2-P28-003/manifest.json
Normal file
@@ -0,0 +1,60 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P28-003",
|
||||
"parentTask": "WBV2-P28-002",
|
||||
"operation": "IMPLEMENT_WORKBENCH_CAPABILITY_FAMILY",
|
||||
"status": "done",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": false,
|
||||
"runtime": "SOURCE_BACKED_WORKBENCH_IMPLEMENTATION",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/WBV2-P28-002/manifest.json",
|
||||
"sha256": "6d60a4fba4c2591ceef8b65e1bbce9c5a750bd72521d3d4fa94f5529decdffd4"
|
||||
},
|
||||
"resource_commands_ts": {
|
||||
"path": "web/protocol/resource-commands.ts",
|
||||
"sha256": "d6e4203f8ac0c537443cd317d7a70763d1c1454d376ae3081be019b40f5ed1b2"
|
||||
},
|
||||
"web_engine_ts": {
|
||||
"path": "web/protocol/web-engine.ts",
|
||||
"sha256": "3c4aba796afb70a6b29d34cca4ba924ffb1a240549b79730d1a639ca913ee896"
|
||||
},
|
||||
"WebEngineClient_ts": {
|
||||
"path": "web/app/src/engine-client/WebEngineClient.ts",
|
||||
"sha256": "3255cd277f1f72af998781b8f51cb236b56babe6095e5defee750d069c8bc194"
|
||||
},
|
||||
"App_tsx": {
|
||||
"path": "web/app/src/app/App.tsx",
|
||||
"sha256": "8c3ee6086716be3912a9597091642ee3416ee766a6aaedea7ca642ed7a9c3b53"
|
||||
},
|
||||
"report": {
|
||||
"path": "tests/golden/WBV2-P28-003/implementation-report.json",
|
||||
"sha256": "930e46aef9e6a2199b288e5f46ea468a0298d7d50718e4178da17c1f5a2d7920"
|
||||
},
|
||||
"status": {
|
||||
"path": "docs/status/WBV2-P28-003.md",
|
||||
"sha256": "3523612d4852c7f0e5fb0b8eb773f7a10963df93ff5d8c024817d94fbb240369"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/WBV2-P28-003/advanced-workbench-task-plan.json",
|
||||
"sha256": "96ca290fc4ba0a37b7dfbe0de32a0185d269a03c8b009efd227d4dcb800114c1"
|
||||
},
|
||||
"taskContext": {
|
||||
"path": "tests/golden/WBV2-P28-003/task-context.json",
|
||||
"sha256": "f283d28dfefeba76f9eaa37394ea688dbbe348469ec87a85e771f7c793bb01dc"
|
||||
}
|
||||
},
|
||||
"assertions": {
|
||||
"capabilityFamily": "IO.RESOURCE_WORKBENCH",
|
||||
"sourceBacked": true,
|
||||
"unsupportedFailsClosed": true,
|
||||
"verificationDeferred": true,
|
||||
"completionOverlayWritten": false,
|
||||
"inventoryTotal": 6900,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"historicalReproduction": false
|
||||
},
|
||||
"nextTask": "WBV2-P28-004"
|
||||
}
|
||||
173
tests/golden/WBV2-P28-003/task-context.json
Normal file
173
tests/golden/WBV2-P28-003/task-context.json
Normal file
@@ -0,0 +1,173 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P28-003",
|
||||
"parentTask": "WBV2-P28-002",
|
||||
"status": "in_progress",
|
||||
"goal": "Expose library append, packed assets and resource status through the workbench.",
|
||||
"scope": {
|
||||
"gap": "IO.RESOURCE_WORKBENCH",
|
||||
"ownerFamily": "IO",
|
||||
"implementationClass": "SOURCE_BACKED"
|
||||
},
|
||||
"commands": [
|
||||
"node tools/web/check-task-context.mjs --task WBV2-P28-003 --write"
|
||||
],
|
||||
"inputPaths": [],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 3159,
|
||||
"contextRemainingTokens": 788
|
||||
},
|
||||
"source": {
|
||||
"bytes": 6745,
|
||||
"tokens": 1688
|
||||
},
|
||||
"selected": [],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "web/protocol/web-engine.ts",
|
||||
"bytes": 14979,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "web/protocol/web-engine-capabilities.ts",
|
||||
"bytes": 8451,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
||||
"bytes": 250821,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P28-003/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P28-003.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P28-003/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 0,
|
||||
"bytes": 0,
|
||||
"tokens": 0
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"nextTask": "WBV2-P28-004",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/WBV2-P28-003.md",
|
||||
"taskIndex": "tests/golden/WBV2/task-index.json",
|
||||
"parentManifest": "tests/golden/WBV2-P28-002/manifest.json",
|
||||
"parentStatus": "docs/status/WBV2-P28-002.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/WBV2-P28-003.md",
|
||||
"tests/golden/WBV2-P28-002/manifest.json",
|
||||
"docs/status/WBV2-P28-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-P28-002",
|
||||
"parentTask": "WBV2-P28-001",
|
||||
"status": "done",
|
||||
"nextTask": "WBV2-P28-003",
|
||||
"artifactCount": 9
|
||||
},
|
||||
"statusSummary": [
|
||||
"# WBV2-P28-002 status",
|
||||
"- task: `WBV2-P28-002`; parent: `WBV2-P28-001`; status: `done`",
|
||||
"- workbench capability family: `SIMULATION.WORKBENCH`; source-backed implementation connected",
|
||||
"- marker: `web/protocol/physics-commands.ts#physicsCommands`; no duplicate protocol shim",
|
||||
"- Chromium receipts and completion overlay: `DEFERRED`",
|
||||
"- inventory unchanged: `6900` total, `281` legacy completed, `6618` legacy pending, `290/6609` effective carried forward",
|
||||
"- nextTask: `WBV2-P28-003`"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1321,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 35,
|
||||
"taskTokens": 331
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2803,
|
||||
"lines": 51,
|
||||
"tokens": 701
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/WBV2-P28-003.md",
|
||||
"bytes": 1321,
|
||||
"lines": 35,
|
||||
"tokens": 331
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P28-002/manifest.json",
|
||||
"bytes": 2149,
|
||||
"lines": 61,
|
||||
"tokens": 538
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P28-002.md",
|
||||
"bytes": 472,
|
||||
"lines": 9,
|
||||
"tokens": 118
|
||||
}
|
||||
],
|
||||
"sourceTokens": 1688,
|
||||
"evidenceFiles": 0,
|
||||
"evidenceBytes": 0,
|
||||
"evidenceTokens": 0,
|
||||
"totalTokens": 1688,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 2712,
|
||||
"serializedContextTokens": 603,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
204
tests/golden/WBV2-P28-004/advanced-workbench-task-plan.json
Normal file
204
tests/golden/WBV2-P28-004/advanced-workbench-task-plan.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"planId": "BLENDER_WEB_ADVANCED_WORKBENCH_IMPLEMENTATION_P28",
|
||||
"status": "ACTIVE_ADVANCED_WORKBENCH_QUEUE",
|
||||
"authority": "user_authorized_implementation_first_execution",
|
||||
"executionPointer": "docs/EXECUTION_QUEUE.md",
|
||||
"runtimePolicy": {
|
||||
"blenderSource": "blender-5.2.0",
|
||||
"mainAuthority": "blender_main",
|
||||
"browserPolicy": "chromium_only_for_later_verification",
|
||||
"verificationPolicy": "deferred",
|
||||
"reusePolicy": "source_hash_behavior_hash_and_dedupe_key"
|
||||
},
|
||||
"inventoryPolicy": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"overlayMutation": "forbidden_during_implementation_wave"
|
||||
},
|
||||
"tasks": [
|
||||
{
|
||||
"id": "WBV2-P28-000",
|
||||
"phase": "P28",
|
||||
"title": "authorize_advanced_workbench_continuation",
|
||||
"kind": "enabling",
|
||||
"owner": "PROGRAM",
|
||||
"dependsOn": [
|
||||
"WBV2-P27-002"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p28-000",
|
||||
"gate": "G1",
|
||||
"card": "docs/tasks/WBV2-P28-000.md",
|
||||
"behavior": "Authorize source-backed workbench implementation for advanced capability surfaces.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": true
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P28-001",
|
||||
"phase": "P28",
|
||||
"title": "implement_geometry_nodes_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "GEOMETRY",
|
||||
"dependsOn": [
|
||||
"WBV2-P28-000"
|
||||
],
|
||||
"parityId": "GEOMETRY_NODES.WORKBENCH",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p28-001",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P28-001.md",
|
||||
"behavior": "Expose validated Geometry Node graphs through the workbench and authoritative Main command path.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P28-002",
|
||||
"phase": "P28",
|
||||
"title": "implement_physics_simulation_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "SIMULATION",
|
||||
"dependsOn": [
|
||||
"WBV2-P28-001"
|
||||
],
|
||||
"parityId": "SIMULATION.WORKBENCH",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p28-002",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P28-002.md",
|
||||
"behavior": "Expose validated physics manifests and system metadata through the workbench.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P28-003",
|
||||
"phase": "P28",
|
||||
"title": "implement_resource_library_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "IO",
|
||||
"dependsOn": [
|
||||
"WBV2-P28-002"
|
||||
],
|
||||
"parityId": "IO.RESOURCE_WORKBENCH",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p28-003",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P28-003.md",
|
||||
"behavior": "Expose library append, packed assets and resource status through the workbench.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P28-004",
|
||||
"phase": "P28",
|
||||
"title": "implement_render_capability_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "RENDER",
|
||||
"dependsOn": [
|
||||
"WBV2-P28-003"
|
||||
],
|
||||
"parityId": "RENDER.CAPABILITY_WORKBENCH",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p28-004",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P28-004.md",
|
||||
"behavior": "Expose shader, WebGPU, post-process and compositor capability routes.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P28-005",
|
||||
"phase": "P28",
|
||||
"title": "run_workbench_implementation_smoke",
|
||||
"kind": "enabling",
|
||||
"owner": "RELEASE",
|
||||
"dependsOn": [
|
||||
"WBV2-P28-004"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p28-005",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P28-005.md",
|
||||
"behavior": "Run the bounded build/start smoke for the advanced workbench implementation wave.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "in_progress",
|
||||
"ready": true,
|
||||
"queueMutationAllowed": false
|
||||
}
|
||||
]
|
||||
}
|
||||
35
tests/golden/WBV2-P28-004/implementation-report.json
Normal file
35
tests/golden/WBV2-P28-004/implementation-report.json
Normal file
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P28-004",
|
||||
"operation": "IMPLEMENT_WORKBENCH_CAPABILITY_FAMILY",
|
||||
"status": "PASS",
|
||||
"family": "RENDER.CAPABILITY_WORKBENCH",
|
||||
"sourceBacked": true,
|
||||
"implementation": {
|
||||
"commands": [],
|
||||
"marker": {
|
||||
"path": "web/protocol/render-compositor-commands.ts",
|
||||
"symbol": "renderCompositorCommands"
|
||||
},
|
||||
"sourcePaths": [
|
||||
"web/protocol/render-compositor-commands.ts",
|
||||
"web/protocol/render-capabilities.ts",
|
||||
"web/app/src/app/App.tsx"
|
||||
],
|
||||
"duplicateShimAdded": false
|
||||
},
|
||||
"verification": {
|
||||
"status": "DEFERRED",
|
||||
"chromium": false,
|
||||
"productionReceipts": false,
|
||||
"completionOverlay": false
|
||||
},
|
||||
"inventory": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609
|
||||
},
|
||||
"nextTask": "WBV2-P28-005"
|
||||
}
|
||||
56
tests/golden/WBV2-P28-004/manifest.json
Normal file
56
tests/golden/WBV2-P28-004/manifest.json
Normal file
@@ -0,0 +1,56 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P28-004",
|
||||
"parentTask": "WBV2-P28-003",
|
||||
"operation": "IMPLEMENT_WORKBENCH_CAPABILITY_FAMILY",
|
||||
"status": "done",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": false,
|
||||
"runtime": "SOURCE_BACKED_WORKBENCH_IMPLEMENTATION",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/WBV2-P28-003/manifest.json",
|
||||
"sha256": "e68061f7c766f2ddf104b741a5ca8289544ec0eb9e2fa01d9bc32f440cfc3dc6"
|
||||
},
|
||||
"render_compositor_commands_ts": {
|
||||
"path": "web/protocol/render-compositor-commands.ts",
|
||||
"sha256": "54cf21616a4260266924b3fdfb95918b6281aceafaf8905a3a8f4e1df9de513a"
|
||||
},
|
||||
"render_capabilities_ts": {
|
||||
"path": "web/protocol/render-capabilities.ts",
|
||||
"sha256": "322929e9c7b627a9e79b8a6f11d5e9b0c7c05a5754f82d41c45c1134bbaaf385"
|
||||
},
|
||||
"App_tsx": {
|
||||
"path": "web/app/src/app/App.tsx",
|
||||
"sha256": "8c3ee6086716be3912a9597091642ee3416ee766a6aaedea7ca642ed7a9c3b53"
|
||||
},
|
||||
"report": {
|
||||
"path": "tests/golden/WBV2-P28-004/implementation-report.json",
|
||||
"sha256": "ff97c85d3af05ad406bc088852e9de09a461d7e41baca0dbe72de467066901e3"
|
||||
},
|
||||
"status": {
|
||||
"path": "docs/status/WBV2-P28-004.md",
|
||||
"sha256": "bdc14994b691c12de2f3d0567f657f4d8b6e0d37e96a5ddba14b6a3f8461f462"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/WBV2-P28-004/advanced-workbench-task-plan.json",
|
||||
"sha256": "f0f8b80a3a0d8cf36fc2b4ada0d2a5305ba2cc60adf66f3d1043f481cbe363ab"
|
||||
},
|
||||
"taskContext": {
|
||||
"path": "tests/golden/WBV2-P28-004/task-context.json",
|
||||
"sha256": "a839181ddd8415503ac233b6417f38296e219be2105c189737d3285ff1d9e630"
|
||||
}
|
||||
},
|
||||
"assertions": {
|
||||
"capabilityFamily": "RENDER.CAPABILITY_WORKBENCH",
|
||||
"sourceBacked": true,
|
||||
"unsupportedFailsClosed": true,
|
||||
"verificationDeferred": true,
|
||||
"completionOverlayWritten": false,
|
||||
"inventoryTotal": 6900,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"historicalReproduction": false
|
||||
},
|
||||
"nextTask": "WBV2-P28-005"
|
||||
}
|
||||
173
tests/golden/WBV2-P28-004/task-context.json
Normal file
173
tests/golden/WBV2-P28-004/task-context.json
Normal file
@@ -0,0 +1,173 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P28-004",
|
||||
"parentTask": "WBV2-P28-003",
|
||||
"status": "in_progress",
|
||||
"goal": "Expose shader, WebGPU, post-process and compositor capability routes.",
|
||||
"scope": {
|
||||
"gap": "RENDER.CAPABILITY_WORKBENCH",
|
||||
"ownerFamily": "RENDER",
|
||||
"implementationClass": "SOURCE_BACKED"
|
||||
},
|
||||
"commands": [
|
||||
"node tools/web/check-task-context.mjs --task WBV2-P28-004 --write"
|
||||
],
|
||||
"inputPaths": [],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 3145,
|
||||
"contextRemainingTokens": 785
|
||||
},
|
||||
"source": {
|
||||
"bytes": 6759,
|
||||
"tokens": 1691
|
||||
},
|
||||
"selected": [],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "web/protocol/web-engine.ts",
|
||||
"bytes": 14979,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "web/protocol/web-engine-capabilities.ts",
|
||||
"bytes": 8451,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
||||
"bytes": 250821,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P28-004/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P28-004.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P28-004/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 0,
|
||||
"bytes": 0,
|
||||
"tokens": 0
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"nextTask": "WBV2-P28-005",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/WBV2-P28-004.md",
|
||||
"taskIndex": "tests/golden/WBV2/task-index.json",
|
||||
"parentManifest": "tests/golden/WBV2-P28-003/manifest.json",
|
||||
"parentStatus": "docs/status/WBV2-P28-003.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/WBV2-P28-004.md",
|
||||
"tests/golden/WBV2-P28-003/manifest.json",
|
||||
"docs/status/WBV2-P28-003.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-P28-003",
|
||||
"parentTask": "WBV2-P28-002",
|
||||
"status": "done",
|
||||
"nextTask": "WBV2-P28-004",
|
||||
"artifactCount": 9
|
||||
},
|
||||
"statusSummary": [
|
||||
"# WBV2-P28-003 status",
|
||||
"- task: `WBV2-P28-003`; parent: `WBV2-P28-002`; status: `done`",
|
||||
"- workbench capability family: `IO.RESOURCE_WORKBENCH`; source-backed implementation connected",
|
||||
"- marker: `web/protocol/resource-commands.ts#resourceCommands`; no duplicate protocol shim",
|
||||
"- Chromium receipts and completion overlay: `DEFERRED`",
|
||||
"- inventory unchanged: `6900` total, `281` legacy completed, `6618` legacy pending, `290/6609` effective carried forward",
|
||||
"- nextTask: `WBV2-P28-004`"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1322,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 35,
|
||||
"taskTokens": 331
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2803,
|
||||
"lines": 51,
|
||||
"tokens": 701
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/WBV2-P28-004.md",
|
||||
"bytes": 1322,
|
||||
"lines": 35,
|
||||
"tokens": 331
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P28-003/manifest.json",
|
||||
"bytes": 2159,
|
||||
"lines": 61,
|
||||
"tokens": 540
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P28-003.md",
|
||||
"bytes": 475,
|
||||
"lines": 9,
|
||||
"tokens": 119
|
||||
}
|
||||
],
|
||||
"sourceTokens": 1691,
|
||||
"evidenceFiles": 0,
|
||||
"evidenceBytes": 0,
|
||||
"evidenceTokens": 0,
|
||||
"totalTokens": 1691,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 2715,
|
||||
"serializedContextTokens": 603,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
204
tests/golden/WBV2-P28-005/advanced-workbench-task-plan.json
Normal file
204
tests/golden/WBV2-P28-005/advanced-workbench-task-plan.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"planId": "BLENDER_WEB_ADVANCED_WORKBENCH_IMPLEMENTATION_P28",
|
||||
"status": "ACTIVE_ADVANCED_WORKBENCH_QUEUE",
|
||||
"authority": "user_authorized_implementation_first_execution",
|
||||
"executionPointer": "docs/EXECUTION_QUEUE.md",
|
||||
"runtimePolicy": {
|
||||
"blenderSource": "blender-5.2.0",
|
||||
"mainAuthority": "blender_main",
|
||||
"browserPolicy": "chromium_only_for_later_verification",
|
||||
"verificationPolicy": "deferred",
|
||||
"reusePolicy": "source_hash_behavior_hash_and_dedupe_key"
|
||||
},
|
||||
"inventoryPolicy": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"overlayMutation": "forbidden_during_implementation_wave"
|
||||
},
|
||||
"tasks": [
|
||||
{
|
||||
"id": "WBV2-P28-000",
|
||||
"phase": "P28",
|
||||
"title": "authorize_advanced_workbench_continuation",
|
||||
"kind": "enabling",
|
||||
"owner": "PROGRAM",
|
||||
"dependsOn": [
|
||||
"WBV2-P27-002"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p28-000",
|
||||
"gate": "G1",
|
||||
"card": "docs/tasks/WBV2-P28-000.md",
|
||||
"behavior": "Authorize source-backed workbench implementation for advanced capability surfaces.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": true
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P28-001",
|
||||
"phase": "P28",
|
||||
"title": "implement_geometry_nodes_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "GEOMETRY",
|
||||
"dependsOn": [
|
||||
"WBV2-P28-000"
|
||||
],
|
||||
"parityId": "GEOMETRY_NODES.WORKBENCH",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p28-001",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P28-001.md",
|
||||
"behavior": "Expose validated Geometry Node graphs through the workbench and authoritative Main command path.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P28-002",
|
||||
"phase": "P28",
|
||||
"title": "implement_physics_simulation_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "SIMULATION",
|
||||
"dependsOn": [
|
||||
"WBV2-P28-001"
|
||||
],
|
||||
"parityId": "SIMULATION.WORKBENCH",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p28-002",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P28-002.md",
|
||||
"behavior": "Expose validated physics manifests and system metadata through the workbench.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P28-003",
|
||||
"phase": "P28",
|
||||
"title": "implement_resource_library_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "IO",
|
||||
"dependsOn": [
|
||||
"WBV2-P28-002"
|
||||
],
|
||||
"parityId": "IO.RESOURCE_WORKBENCH",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p28-003",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P28-003.md",
|
||||
"behavior": "Expose library append, packed assets and resource status through the workbench.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P28-004",
|
||||
"phase": "P28",
|
||||
"title": "implement_render_capability_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "RENDER",
|
||||
"dependsOn": [
|
||||
"WBV2-P28-003"
|
||||
],
|
||||
"parityId": "RENDER.CAPABILITY_WORKBENCH",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p28-004",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P28-004.md",
|
||||
"behavior": "Expose shader, WebGPU, post-process and compositor capability routes.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P28-005",
|
||||
"phase": "P28",
|
||||
"title": "run_workbench_implementation_smoke",
|
||||
"kind": "enabling",
|
||||
"owner": "RELEASE",
|
||||
"dependsOn": [
|
||||
"WBV2-P28-004"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p28-005",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P28-005.md",
|
||||
"behavior": "Run the bounded build/start smoke for the advanced workbench implementation wave.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
}
|
||||
]
|
||||
}
|
||||
35
tests/golden/WBV2-P28-005/implementation-smoke-report.json
Normal file
35
tests/golden/WBV2-P28-005/implementation-smoke-report.json
Normal file
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P28-005",
|
||||
"operation": "RUN_WORKBENCH_IMPLEMENTATION_SMOKE",
|
||||
"status": "PASS",
|
||||
"build": {
|
||||
"command": "npm --prefix web run build",
|
||||
"exitCode": 0,
|
||||
"index": "web/dist/index.html",
|
||||
"worker": "web/dist/assets/web-engine.worker-Bm3nUTqn.js",
|
||||
"wasm": "web/dist/assets/web_engine-CDU-hUyU.wasm"
|
||||
},
|
||||
"implementation": {
|
||||
"workbenchFamilies": [
|
||||
"GEOMETRY_NODES",
|
||||
"SIMULATION",
|
||||
"IO_RESOURCE",
|
||||
"RENDER_CAPABILITY"
|
||||
],
|
||||
"sourceBacked": true
|
||||
},
|
||||
"verification": {
|
||||
"status": "DEFERRED",
|
||||
"chromium": false,
|
||||
"completionOverlay": false
|
||||
},
|
||||
"inventory": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609
|
||||
},
|
||||
"nextTask": "WBV2-P29-000"
|
||||
}
|
||||
51
tests/golden/WBV2-P28-005/manifest.json
Normal file
51
tests/golden/WBV2-P28-005/manifest.json
Normal file
@@ -0,0 +1,51 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P28-005",
|
||||
"parentTask": "WBV2-P28-004",
|
||||
"operation": "RUN_WORKBENCH_IMPLEMENTATION_SMOKE",
|
||||
"status": "done",
|
||||
"enablingTask": true,
|
||||
"parityStateChange": false,
|
||||
"runtime": "VITE_BUILD_AND_SOURCE_WASM_SMOKE",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/WBV2-P28-004/manifest.json",
|
||||
"sha256": "c110429db8e6cd364ec7910b2b3c23ed6c49b934d70486511ed289197a83cb53"
|
||||
},
|
||||
"report": {
|
||||
"path": "tests/golden/WBV2-P28-005/implementation-smoke-report.json",
|
||||
"sha256": "b4f16efe07f22802ca9ef1ff236009c3cc06ecd3e928a835c10378397ade9422"
|
||||
},
|
||||
"status": {
|
||||
"path": "docs/status/WBV2-P28-005.md",
|
||||
"sha256": "7d06f2182f6d697acb7f7c298d14a846e1ef8cb51fd9ce8d964ccb638e5125d1"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/WBV2-P28-005/advanced-workbench-task-plan.json",
|
||||
"sha256": "f313e950d00472b4b78ab982941b3545566cb681657650d41e14de2cb4479cde"
|
||||
},
|
||||
"index": {
|
||||
"path": "web/dist/index.html",
|
||||
"sha256": "456f1171b36fc9cea608ea6e74a11570f855b0f26a646350d5ac458a4e918fe9"
|
||||
},
|
||||
"worker": {
|
||||
"path": "web/dist/assets/web-engine.worker-Bm3nUTqn.js",
|
||||
"sha256": "de3fcef592876e81b572dcc9e3d2118f4089e6170939310974d64866f493490b"
|
||||
},
|
||||
"wasm": {
|
||||
"path": "web/dist/assets/web_engine-CDU-hUyU.wasm",
|
||||
"sha256": "08a5caccd99f9d51221d0a0adea3db1a57ab5d2718b6b026dc7f4af096054d07"
|
||||
}
|
||||
},
|
||||
"assertions": {
|
||||
"buildExitCode": 0,
|
||||
"sourceBackedImplementation": true,
|
||||
"verificationDeferred": true,
|
||||
"completionOverlayWritten": false,
|
||||
"inventoryTotal": 6900,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"historicalReproduction": false
|
||||
},
|
||||
"nextTask": "WBV2-P29-000"
|
||||
}
|
||||
172
tests/golden/WBV2-P28-005/task-context.json
Normal file
172
tests/golden/WBV2-P28-005/task-context.json
Normal file
@@ -0,0 +1,172 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P28-005",
|
||||
"parentTask": "WBV2-P28-004",
|
||||
"status": "in_progress",
|
||||
"goal": "Run the bounded build/start smoke for the advanced workbench implementation wave.",
|
||||
"scope": {
|
||||
"gap": "workflow:run_workbench_implementation_smoke",
|
||||
"ownerFamily": "RELEASE",
|
||||
"implementationClass": "SOURCE_BACKED"
|
||||
},
|
||||
"commands": [
|
||||
"node tools/web/check-task-context.mjs --task WBV2-P28-005 --write"
|
||||
],
|
||||
"inputPaths": [],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 3234,
|
||||
"contextRemainingTokens": 807
|
||||
},
|
||||
"source": {
|
||||
"bytes": 6670,
|
||||
"tokens": 1669
|
||||
},
|
||||
"selected": [],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "web/protocol/web-engine.ts",
|
||||
"bytes": 14979,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "web/protocol/web-engine-capabilities.ts",
|
||||
"bytes": 8451,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
||||
"bytes": 250821,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P28-005/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P28-005.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P28-005/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 0,
|
||||
"bytes": 0,
|
||||
"tokens": 0
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"focused command exits 0",
|
||||
"report and manifest are hash-bound",
|
||||
"failure path does not publish a late result"
|
||||
],
|
||||
"nextTask": "WBV2-P29-000",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/WBV2-P28-005.md",
|
||||
"taskIndex": "tests/golden/WBV2/task-index.json",
|
||||
"parentManifest": "tests/golden/WBV2-P28-004/manifest.json",
|
||||
"parentStatus": "docs/status/WBV2-P28-004.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/WBV2-P28-005.md",
|
||||
"tests/golden/WBV2-P28-004/manifest.json",
|
||||
"docs/status/WBV2-P28-004.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-P28-004",
|
||||
"parentTask": "WBV2-P28-003",
|
||||
"status": "done",
|
||||
"nextTask": "WBV2-P28-005",
|
||||
"artifactCount": 8
|
||||
},
|
||||
"statusSummary": [
|
||||
"# WBV2-P28-004 status",
|
||||
"- task: `WBV2-P28-004`; parent: `WBV2-P28-003`; status: `done`",
|
||||
"- workbench capability family: `RENDER.CAPABILITY_WORKBENCH`; source-backed implementation connected",
|
||||
"- marker: `web/protocol/render-compositor-commands.ts#renderCompositorCommands`; no duplicate protocol shim",
|
||||
"- Chromium receipts and completion overlay: `DEFERRED`",
|
||||
"- inventory unchanged: `6900` total, `281` legacy completed, `6618` legacy pending, `290/6609` effective carried forward",
|
||||
"- nextTask: `WBV2-P28-005`"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1348,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 35,
|
||||
"taskTokens": 337
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2803,
|
||||
"lines": 51,
|
||||
"tokens": 701
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/WBV2-P28-005.md",
|
||||
"bytes": 1348,
|
||||
"lines": 35,
|
||||
"tokens": 337
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P28-004/manifest.json",
|
||||
"bytes": 2021,
|
||||
"lines": 57,
|
||||
"tokens": 506
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P28-004.md",
|
||||
"bytes": 498,
|
||||
"lines": 9,
|
||||
"tokens": 125
|
||||
}
|
||||
],
|
||||
"sourceTokens": 1669,
|
||||
"evidenceFiles": 0,
|
||||
"evidenceBytes": 0,
|
||||
"evidenceTokens": 0,
|
||||
"totalTokens": 1669,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 2693,
|
||||
"serializedContextTokens": 599,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
43
tests/golden/WBV2-P29-000/manifest.json
Normal file
43
tests/golden/WBV2-P29-000/manifest.json
Normal file
@@ -0,0 +1,43 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P29-000",
|
||||
"parentTask": "WBV2-P28-005",
|
||||
"operation": "AUTHORIZE_NATIVE_DATABLOCK_IMPLEMENTATION",
|
||||
"status": "done",
|
||||
"enablingTask": true,
|
||||
"parityStateChange": false,
|
||||
"runtime": "SOURCE_BACKED_NATIVE_DATABLOCK_QUEUE",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/WBV2-P28-005/manifest.json",
|
||||
"sha256": "bd7ce8faf01d7da0484ed958c5713818b6005b46829bf7483c8829cc9df64305"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/WBV2-P29-000/native-datablock-task-plan.json",
|
||||
"sha256": "da3aca9cce289c22945501caf94bee1948942274f8d8ab4d89898f58a87c1cdc"
|
||||
},
|
||||
"report": {
|
||||
"path": "tests/golden/WBV2-P29-000/native-datablock-root-report.json",
|
||||
"sha256": "4575756984c14d3db52afa5175b41d02e599be67b39c0954c0824b023f536fa3"
|
||||
},
|
||||
"rootCard": {
|
||||
"path": "docs/tasks/WBV2-P29-000.md",
|
||||
"sha256": "627f5a378c8259c24326b739a9598fcb2208de3772622694645b800496bac40e"
|
||||
},
|
||||
"rootStatus": {
|
||||
"path": "docs/status/WBV2-P29-000.md",
|
||||
"sha256": "f3e3bbb8a648c38cd0043f3384f5a400243dd1a3341ec4b209bb439a4a847650"
|
||||
}
|
||||
},
|
||||
"assertions": {
|
||||
"nativeDatablockWave": true,
|
||||
"plannedTasks": 5,
|
||||
"verificationDeferred": true,
|
||||
"completionOverlayWritten": false,
|
||||
"inventoryTotal": 6900,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"historicalReproduction": false
|
||||
},
|
||||
"nextTask": "WBV2-P29-001"
|
||||
}
|
||||
39
tests/golden/WBV2-P29-000/native-datablock-root-report.json
Normal file
39
tests/golden/WBV2-P29-000/native-datablock-root-report.json
Normal file
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P29-000",
|
||||
"operation": "AUTHORIZE_NATIVE_DATABLOCK_IMPLEMENTATION",
|
||||
"status": "PASS",
|
||||
"parent": {
|
||||
"task": "WBV2-P28-005",
|
||||
"manifest": "tests/golden/WBV2-P28-005/manifest.json",
|
||||
"manifestSha256": "c8156729824543abfc322471a1a58b4e71dedb3032408993a93864abd202b9ec"
|
||||
},
|
||||
"scope": {
|
||||
"firstTask": "WBV2-P29-001",
|
||||
"plannedTasks": [
|
||||
"WBV2-P29-000",
|
||||
"WBV2-P29-001",
|
||||
"WBV2-P29-002",
|
||||
"WBV2-P29-003",
|
||||
"WBV2-P29-004"
|
||||
],
|
||||
"capabilityFamilies": [
|
||||
"GEOMETRY_NODES.NATIVE_DATABLOCK",
|
||||
"SIMULATION.NATIVE_DATABLOCK",
|
||||
"RENDER.COMPOSITOR_SEQUENCER_DATABLOCK"
|
||||
]
|
||||
},
|
||||
"verification": {
|
||||
"status": "DEFERRED",
|
||||
"chromium": false,
|
||||
"completionOverlay": false
|
||||
},
|
||||
"inventory": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609
|
||||
},
|
||||
"nextTask": "WBV2-P29-001"
|
||||
}
|
||||
174
tests/golden/WBV2-P29-000/native-datablock-task-plan.json
Normal file
174
tests/golden/WBV2-P29-000/native-datablock-task-plan.json
Normal file
@@ -0,0 +1,174 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"planId": "BLENDER_WEB_NATIVE_DATABLOCK_IMPLEMENTATION_P29",
|
||||
"status": "ACTIVE_NATIVE_DATABLOCK_QUEUE",
|
||||
"authority": "user_authorized_implementation_first_execution",
|
||||
"executionPointer": "docs/EXECUTION_QUEUE.md",
|
||||
"runtimePolicy": {
|
||||
"blenderSource": "blender-5.2.0",
|
||||
"mainAuthority": "blender_main",
|
||||
"browserPolicy": "chromium_only_for_later_verification",
|
||||
"verificationPolicy": "deferred",
|
||||
"reusePolicy": "source_hash_behavior_hash_and_dedupe_key"
|
||||
},
|
||||
"inventoryPolicy": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"overlayMutation": "forbidden_during_implementation_wave"
|
||||
},
|
||||
"tasks": [
|
||||
{
|
||||
"id": "WBV2-P29-000",
|
||||
"phase": "P29",
|
||||
"title": "authorize_native_datablock_implementation",
|
||||
"kind": "enabling",
|
||||
"owner": "PROGRAM",
|
||||
"dependsOn": [
|
||||
"WBV2-P28-005"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p29-000",
|
||||
"gate": "G1",
|
||||
"card": "docs/tasks/WBV2-P29-000.md",
|
||||
"behavior": "Authorize native Blender Main datablock implementation for advanced source-backed capabilities.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real Blender Main datablock is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": true
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P29-001",
|
||||
"phase": "P29",
|
||||
"title": "implement_geometry_nodes_native_datablock",
|
||||
"kind": "feature",
|
||||
"owner": "GEOMETRY",
|
||||
"dependsOn": [
|
||||
"WBV2-P29-000"
|
||||
],
|
||||
"parityId": "GEOMETRY_NODES.NATIVE_DATABLOCK",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p29-001",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P29-001.md",
|
||||
"behavior": "Attach validated Geometry Node graphs to real Blender GeometryNodeTree and mesh modifier datablocks.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real Blender Main datablock is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "in_progress",
|
||||
"ready": true,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P29-002",
|
||||
"phase": "P29",
|
||||
"title": "implement_physics_native_datablock",
|
||||
"kind": "feature",
|
||||
"owner": "SIMULATION",
|
||||
"dependsOn": [
|
||||
"WBV2-P29-001"
|
||||
],
|
||||
"parityId": "SIMULATION.NATIVE_DATABLOCK",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p29-002",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P29-002.md",
|
||||
"behavior": "Attach validated physics manifests to native Blender object/modifier data where supported.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real Blender Main datablock is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "planned",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P29-003",
|
||||
"phase": "P29",
|
||||
"title": "implement_compositor_sequencer_datablock",
|
||||
"kind": "feature",
|
||||
"owner": "RENDER",
|
||||
"dependsOn": [
|
||||
"WBV2-P29-002"
|
||||
],
|
||||
"parityId": "RENDER.COMPOSITOR_SEQUENCER_DATABLOCK",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p29-003",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P29-003.md",
|
||||
"behavior": "Connect compositor and sequencer metadata to native Main data and web capability routes.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real Blender Main datablock is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "planned",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P29-004",
|
||||
"phase": "P29",
|
||||
"title": "implement_native_datablock_smoke",
|
||||
"kind": "enabling",
|
||||
"owner": "RELEASE",
|
||||
"dependsOn": [
|
||||
"WBV2-P29-003"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p29-004",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P29-004.md",
|
||||
"behavior": "Run bounded source build and startup smoke after native datablock implementation.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real Blender Main datablock is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "planned",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
}
|
||||
]
|
||||
}
|
||||
33
tests/golden/WBV2-P29-001/implementation-report.json
Normal file
33
tests/golden/WBV2-P29-001/implementation-report.json
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P29-001",
|
||||
"operation": "IMPLEMENT_NATIVE_DATABLOCK_FAMILY",
|
||||
"status": "PASS",
|
||||
"family": "GEOMETRY_NODES.NATIVE_DATABLOCK",
|
||||
"sourceBacked": true,
|
||||
"implementation": {
|
||||
"marker": "web_engine_blend_main_set_geometry_node_graph",
|
||||
"sourcePaths": [
|
||||
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
||||
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
||||
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
||||
"web/protocol/geometry-node-commands.ts",
|
||||
"web/app/src/app/App.tsx"
|
||||
],
|
||||
"duplicateShimAdded": false
|
||||
},
|
||||
"verification": {
|
||||
"status": "DEFERRED",
|
||||
"chromium": false,
|
||||
"receipts": false,
|
||||
"completionOverlay": false
|
||||
},
|
||||
"inventory": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609
|
||||
},
|
||||
"nextTask": "WBV2-P29-002"
|
||||
}
|
||||
64
tests/golden/WBV2-P29-001/manifest.json
Normal file
64
tests/golden/WBV2-P29-001/manifest.json
Normal file
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P29-001",
|
||||
"parentTask": "WBV2-P29-000",
|
||||
"operation": "IMPLEMENT_NATIVE_DATABLOCK_FAMILY",
|
||||
"status": "done",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": false,
|
||||
"runtime": "SOURCE_BACKED_NATIVE_DATABLOCK_IMPLEMENTATION",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/WBV2-P29-000/manifest.json",
|
||||
"sha256": "5b123cc5ba53434dbedfa44227035c2d093c69d7aae9ba632d803666346f6462"
|
||||
},
|
||||
"web_engine_main_state_cpp": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
||||
"sha256": "7803654bf15db8645b65e0653eb3599b46f969d65c5a1a365daeee51079259d4"
|
||||
},
|
||||
"web_engine_main_state_h": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
||||
"sha256": "d689575a2a8496acf50b5b8cafbb1f26b80de54ed7735a2bf1507b01f072f568"
|
||||
},
|
||||
"web_engine_api_cpp": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
||||
"sha256": "6a3eebde527f029fce7666a080e8cac1a60de944aee372bfe772ee6e2adabbdf"
|
||||
},
|
||||
"geometry_node_commands_ts": {
|
||||
"path": "web/protocol/geometry-node-commands.ts",
|
||||
"sha256": "23e91ee1e4b4c75e4924e3da58a047146d963907fcd11ba79ef1a282459d8ee2"
|
||||
},
|
||||
"App_tsx": {
|
||||
"path": "web/app/src/app/App.tsx",
|
||||
"sha256": "8c3ee6086716be3912a9597091642ee3416ee766a6aaedea7ca642ed7a9c3b53"
|
||||
},
|
||||
"report": {
|
||||
"path": "tests/golden/WBV2-P29-001/implementation-report.json",
|
||||
"sha256": "b63cf607ba31350840254dd24d98018b7cea609702a2eff83f2395551e2c4dd4"
|
||||
},
|
||||
"status": {
|
||||
"path": "docs/status/WBV2-P29-001.md",
|
||||
"sha256": "4540c40c72c1453628158b9accb3171d3d0e77cc65f693af57d1a06579147479"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/WBV2-P29-001/native-datablock-task-plan.json",
|
||||
"sha256": "5adad94758ae5f89e8eb70f45ca9b2cb6e043d36d24c0e1e8d42d019e642a37e"
|
||||
},
|
||||
"taskContext": {
|
||||
"path": "tests/golden/WBV2-P29-001/task-context.json",
|
||||
"sha256": "acdd069a6aa9c5db0ccb7baf16bfa64b97091ea67334c98b879aa7d9343fa704"
|
||||
}
|
||||
},
|
||||
"assertions": {
|
||||
"capabilityFamily": "GEOMETRY_NODES.NATIVE_DATABLOCK",
|
||||
"sourceBacked": true,
|
||||
"unsupportedFailsClosed": true,
|
||||
"verificationDeferred": true,
|
||||
"completionOverlayWritten": false,
|
||||
"inventoryTotal": 6900,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"historicalReproduction": false
|
||||
},
|
||||
"nextTask": "WBV2-P29-002"
|
||||
}
|
||||
174
tests/golden/WBV2-P29-001/native-datablock-task-plan.json
Normal file
174
tests/golden/WBV2-P29-001/native-datablock-task-plan.json
Normal file
@@ -0,0 +1,174 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"planId": "BLENDER_WEB_NATIVE_DATABLOCK_IMPLEMENTATION_P29",
|
||||
"status": "ACTIVE_NATIVE_DATABLOCK_QUEUE",
|
||||
"authority": "user_authorized_implementation_first_execution",
|
||||
"executionPointer": "docs/EXECUTION_QUEUE.md",
|
||||
"runtimePolicy": {
|
||||
"blenderSource": "blender-5.2.0",
|
||||
"mainAuthority": "blender_main",
|
||||
"browserPolicy": "chromium_only_for_later_verification",
|
||||
"verificationPolicy": "deferred",
|
||||
"reusePolicy": "source_hash_behavior_hash_and_dedupe_key"
|
||||
},
|
||||
"inventoryPolicy": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"overlayMutation": "forbidden_during_implementation_wave"
|
||||
},
|
||||
"tasks": [
|
||||
{
|
||||
"id": "WBV2-P29-000",
|
||||
"phase": "P29",
|
||||
"title": "authorize_native_datablock_implementation",
|
||||
"kind": "enabling",
|
||||
"owner": "PROGRAM",
|
||||
"dependsOn": [
|
||||
"WBV2-P28-005"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p29-000",
|
||||
"gate": "G1",
|
||||
"card": "docs/tasks/WBV2-P29-000.md",
|
||||
"behavior": "Authorize native Blender Main datablock implementation for advanced source-backed capabilities.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real Blender Main datablock is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": true
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P29-001",
|
||||
"phase": "P29",
|
||||
"title": "implement_geometry_nodes_native_datablock",
|
||||
"kind": "feature",
|
||||
"owner": "GEOMETRY",
|
||||
"dependsOn": [
|
||||
"WBV2-P29-000"
|
||||
],
|
||||
"parityId": "GEOMETRY_NODES.NATIVE_DATABLOCK",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p29-001",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P29-001.md",
|
||||
"behavior": "Attach validated Geometry Node graphs to real Blender GeometryNodeTree and mesh modifier datablocks.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real Blender Main datablock is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P29-002",
|
||||
"phase": "P29",
|
||||
"title": "implement_physics_native_datablock",
|
||||
"kind": "feature",
|
||||
"owner": "SIMULATION",
|
||||
"dependsOn": [
|
||||
"WBV2-P29-001"
|
||||
],
|
||||
"parityId": "SIMULATION.NATIVE_DATABLOCK",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p29-002",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P29-002.md",
|
||||
"behavior": "Attach validated physics manifests to native Blender object/modifier data where supported.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real Blender Main datablock is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "in_progress",
|
||||
"ready": true,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P29-003",
|
||||
"phase": "P29",
|
||||
"title": "implement_compositor_sequencer_datablock",
|
||||
"kind": "feature",
|
||||
"owner": "RENDER",
|
||||
"dependsOn": [
|
||||
"WBV2-P29-002"
|
||||
],
|
||||
"parityId": "RENDER.COMPOSITOR_SEQUENCER_DATABLOCK",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p29-003",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P29-003.md",
|
||||
"behavior": "Connect compositor and sequencer metadata to native Main data and web capability routes.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real Blender Main datablock is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "planned",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P29-004",
|
||||
"phase": "P29",
|
||||
"title": "implement_native_datablock_smoke",
|
||||
"kind": "enabling",
|
||||
"owner": "RELEASE",
|
||||
"dependsOn": [
|
||||
"WBV2-P29-003"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p29-004",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P29-004.md",
|
||||
"behavior": "Run bounded source build and startup smoke after native datablock implementation.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real Blender Main datablock is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "planned",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
}
|
||||
]
|
||||
}
|
||||
173
tests/golden/WBV2-P29-001/task-context.json
Normal file
173
tests/golden/WBV2-P29-001/task-context.json
Normal file
@@ -0,0 +1,173 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P29-001",
|
||||
"parentTask": "WBV2-P29-000",
|
||||
"status": "in_progress",
|
||||
"goal": "Attach validated Geometry Node graphs to real Blender GeometryNodeTree and mesh modifier datablocks.",
|
||||
"scope": {
|
||||
"gap": "GEOMETRY_NODES.NATIVE_DATABLOCK",
|
||||
"ownerFamily": "GEOMETRY",
|
||||
"implementationClass": "SOURCE_BACKED"
|
||||
},
|
||||
"commands": [
|
||||
"node tools/web/check-task-context.mjs --task WBV2-P29-001 --write"
|
||||
],
|
||||
"inputPaths": [],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 3968,
|
||||
"contextRemainingTokens": 991
|
||||
},
|
||||
"source": {
|
||||
"bytes": 5936,
|
||||
"tokens": 1485
|
||||
},
|
||||
"selected": [],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
||||
"bytes": 254201,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
||||
"bytes": 127451,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "web/protocol/web-engine.ts",
|
||||
"bytes": 14979,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P29-001/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P29-001.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P29-001/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 0,
|
||||
"bytes": 0,
|
||||
"tokens": 0
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"real Blender Main datablock is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"nextTask": "WBV2-P29-002",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/WBV2-P29-001.md",
|
||||
"taskIndex": "tests/golden/WBV2/task-index.json",
|
||||
"parentManifest": "tests/golden/WBV2-P29-000/manifest.json",
|
||||
"parentStatus": "docs/status/WBV2-P29-000.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/WBV2-P29-001.md",
|
||||
"tests/golden/WBV2-P29-000/manifest.json",
|
||||
"docs/status/WBV2-P29-000.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-P29-000",
|
||||
"parentTask": "WBV2-P28-005",
|
||||
"status": "done",
|
||||
"nextTask": "WBV2-P29-001",
|
||||
"artifactCount": 5
|
||||
},
|
||||
"statusSummary": [
|
||||
"# WBV2-P29-000 status",
|
||||
"- task: `WBV2-P29-000`; parent: `WBV2-P28-005`; status: `done`",
|
||||
"- native Blender datablock implementation wave authorized",
|
||||
"- first implementation task: `WBV2-P29-001`",
|
||||
"- verification receipts and completion overlays: `DEFERRED`",
|
||||
"- inventory unchanged: `6900` total, `281` legacy completed, `6618` legacy pending, `290/6609` effective carried forward",
|
||||
"- nextTask: `WBV2-P29-001`"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1299,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 34,
|
||||
"taskTokens": 325
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2803,
|
||||
"lines": 51,
|
||||
"tokens": 701
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/WBV2-P29-001.md",
|
||||
"bytes": 1299,
|
||||
"lines": 34,
|
||||
"tokens": 325
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P29-000/manifest.json",
|
||||
"bytes": 1438,
|
||||
"lines": 44,
|
||||
"tokens": 360
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P29-000.md",
|
||||
"bytes": 396,
|
||||
"lines": 9,
|
||||
"tokens": 99
|
||||
}
|
||||
],
|
||||
"sourceTokens": 1485,
|
||||
"evidenceFiles": 0,
|
||||
"evidenceBytes": 0,
|
||||
"evidenceTokens": 0,
|
||||
"totalTokens": 1485,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 2509,
|
||||
"serializedContextTokens": 610,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
33
tests/golden/WBV2-P29-002/implementation-report.json
Normal file
33
tests/golden/WBV2-P29-002/implementation-report.json
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P29-002",
|
||||
"operation": "IMPLEMENT_NATIVE_DATABLOCK_FAMILY",
|
||||
"status": "PASS",
|
||||
"family": "SIMULATION.NATIVE_DATABLOCK",
|
||||
"sourceBacked": true,
|
||||
"implementation": {
|
||||
"marker": "web_engine_blend_main_set_physics_simulation",
|
||||
"sourcePaths": [
|
||||
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
||||
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
||||
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
||||
"web/protocol/physics-commands.ts",
|
||||
"web/app/src/app/App.tsx"
|
||||
],
|
||||
"duplicateShimAdded": false
|
||||
},
|
||||
"verification": {
|
||||
"status": "DEFERRED",
|
||||
"chromium": false,
|
||||
"receipts": false,
|
||||
"completionOverlay": false
|
||||
},
|
||||
"inventory": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609
|
||||
},
|
||||
"nextTask": "WBV2-P29-003"
|
||||
}
|
||||
64
tests/golden/WBV2-P29-002/manifest.json
Normal file
64
tests/golden/WBV2-P29-002/manifest.json
Normal file
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P29-002",
|
||||
"parentTask": "WBV2-P29-001",
|
||||
"operation": "IMPLEMENT_NATIVE_DATABLOCK_FAMILY",
|
||||
"status": "done",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": false,
|
||||
"runtime": "SOURCE_BACKED_NATIVE_DATABLOCK_IMPLEMENTATION",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/WBV2-P29-001/manifest.json",
|
||||
"sha256": "95752714ee55847d08402b7f21a41852959f9b8b748bc055a505759b3391d79a"
|
||||
},
|
||||
"web_engine_main_state_cpp": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
||||
"sha256": "7803654bf15db8645b65e0653eb3599b46f969d65c5a1a365daeee51079259d4"
|
||||
},
|
||||
"web_engine_main_state_h": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
||||
"sha256": "d689575a2a8496acf50b5b8cafbb1f26b80de54ed7735a2bf1507b01f072f568"
|
||||
},
|
||||
"web_engine_api_cpp": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
||||
"sha256": "6a3eebde527f029fce7666a080e8cac1a60de944aee372bfe772ee6e2adabbdf"
|
||||
},
|
||||
"physics_commands_ts": {
|
||||
"path": "web/protocol/physics-commands.ts",
|
||||
"sha256": "90ea5b81800342e697a0ec2961f741780173f7e6a33aa3d7deda7aae6ecade73"
|
||||
},
|
||||
"App_tsx": {
|
||||
"path": "web/app/src/app/App.tsx",
|
||||
"sha256": "8c3ee6086716be3912a9597091642ee3416ee766a6aaedea7ca642ed7a9c3b53"
|
||||
},
|
||||
"report": {
|
||||
"path": "tests/golden/WBV2-P29-002/implementation-report.json",
|
||||
"sha256": "57d5eb2768a2189ffe9dec061f58efc1428ee8856a29211c182ebe721912bd84"
|
||||
},
|
||||
"status": {
|
||||
"path": "docs/status/WBV2-P29-002.md",
|
||||
"sha256": "5be5572a7827dd9ad73734dddd6a6edd4aa780ad5484fb5f513d2f283b2bb92d"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/WBV2-P29-002/native-datablock-task-plan.json",
|
||||
"sha256": "cddcd32a9a25de5e2689ecc6fa98c6adfa4a293e59fe6493eb3c9aa489fc4748"
|
||||
},
|
||||
"taskContext": {
|
||||
"path": "tests/golden/WBV2-P29-002/task-context.json",
|
||||
"sha256": "78655654765f6c7a3bd612c28854022542df0e8b7ab1411ad93f76ee9b8c7324"
|
||||
}
|
||||
},
|
||||
"assertions": {
|
||||
"capabilityFamily": "SIMULATION.NATIVE_DATABLOCK",
|
||||
"sourceBacked": true,
|
||||
"unsupportedFailsClosed": true,
|
||||
"verificationDeferred": true,
|
||||
"completionOverlayWritten": false,
|
||||
"inventoryTotal": 6900,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"historicalReproduction": false
|
||||
},
|
||||
"nextTask": "WBV2-P29-003"
|
||||
}
|
||||
174
tests/golden/WBV2-P29-002/native-datablock-task-plan.json
Normal file
174
tests/golden/WBV2-P29-002/native-datablock-task-plan.json
Normal file
@@ -0,0 +1,174 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"planId": "BLENDER_WEB_NATIVE_DATABLOCK_IMPLEMENTATION_P29",
|
||||
"status": "ACTIVE_NATIVE_DATABLOCK_QUEUE",
|
||||
"authority": "user_authorized_implementation_first_execution",
|
||||
"executionPointer": "docs/EXECUTION_QUEUE.md",
|
||||
"runtimePolicy": {
|
||||
"blenderSource": "blender-5.2.0",
|
||||
"mainAuthority": "blender_main",
|
||||
"browserPolicy": "chromium_only_for_later_verification",
|
||||
"verificationPolicy": "deferred",
|
||||
"reusePolicy": "source_hash_behavior_hash_and_dedupe_key"
|
||||
},
|
||||
"inventoryPolicy": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"overlayMutation": "forbidden_during_implementation_wave"
|
||||
},
|
||||
"tasks": [
|
||||
{
|
||||
"id": "WBV2-P29-000",
|
||||
"phase": "P29",
|
||||
"title": "authorize_native_datablock_implementation",
|
||||
"kind": "enabling",
|
||||
"owner": "PROGRAM",
|
||||
"dependsOn": [
|
||||
"WBV2-P28-005"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p29-000",
|
||||
"gate": "G1",
|
||||
"card": "docs/tasks/WBV2-P29-000.md",
|
||||
"behavior": "Authorize native Blender Main datablock implementation for advanced source-backed capabilities.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real Blender Main datablock is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": true
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P29-001",
|
||||
"phase": "P29",
|
||||
"title": "implement_geometry_nodes_native_datablock",
|
||||
"kind": "feature",
|
||||
"owner": "GEOMETRY",
|
||||
"dependsOn": [
|
||||
"WBV2-P29-000"
|
||||
],
|
||||
"parityId": "GEOMETRY_NODES.NATIVE_DATABLOCK",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p29-001",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P29-001.md",
|
||||
"behavior": "Attach validated Geometry Node graphs to real Blender GeometryNodeTree and mesh modifier datablocks.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real Blender Main datablock is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P29-002",
|
||||
"phase": "P29",
|
||||
"title": "implement_physics_native_datablock",
|
||||
"kind": "feature",
|
||||
"owner": "SIMULATION",
|
||||
"dependsOn": [
|
||||
"WBV2-P29-001"
|
||||
],
|
||||
"parityId": "SIMULATION.NATIVE_DATABLOCK",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p29-002",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P29-002.md",
|
||||
"behavior": "Attach validated physics manifests to native Blender object/modifier data where supported.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real Blender Main datablock is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P29-003",
|
||||
"phase": "P29",
|
||||
"title": "implement_compositor_sequencer_datablock",
|
||||
"kind": "feature",
|
||||
"owner": "RENDER",
|
||||
"dependsOn": [
|
||||
"WBV2-P29-002"
|
||||
],
|
||||
"parityId": "RENDER.COMPOSITOR_SEQUENCER_DATABLOCK",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p29-003",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P29-003.md",
|
||||
"behavior": "Connect compositor and sequencer metadata to native Main data and web capability routes.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real Blender Main datablock is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "in_progress",
|
||||
"ready": true,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P29-004",
|
||||
"phase": "P29",
|
||||
"title": "implement_native_datablock_smoke",
|
||||
"kind": "enabling",
|
||||
"owner": "RELEASE",
|
||||
"dependsOn": [
|
||||
"WBV2-P29-003"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p29-004",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P29-004.md",
|
||||
"behavior": "Run bounded source build and startup smoke after native datablock implementation.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real Blender Main datablock is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "planned",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
}
|
||||
]
|
||||
}
|
||||
173
tests/golden/WBV2-P29-002/task-context.json
Normal file
173
tests/golden/WBV2-P29-002/task-context.json
Normal file
@@ -0,0 +1,173 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P29-002",
|
||||
"parentTask": "WBV2-P29-001",
|
||||
"status": "in_progress",
|
||||
"goal": "Attach validated physics manifests to native Blender object/modifier data where supported.",
|
||||
"scope": {
|
||||
"gap": "SIMULATION.NATIVE_DATABLOCK",
|
||||
"ownerFamily": "SIMULATION",
|
||||
"implementationClass": "SOURCE_BACKED"
|
||||
},
|
||||
"commands": [
|
||||
"node tools/web/check-task-context.mjs --task WBV2-P29-002 --write"
|
||||
],
|
||||
"inputPaths": [],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 2890,
|
||||
"contextRemainingTokens": 721
|
||||
},
|
||||
"source": {
|
||||
"bytes": 7014,
|
||||
"tokens": 1755
|
||||
},
|
||||
"selected": [],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
||||
"bytes": 254201,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
||||
"bytes": 127451,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "web/protocol/web-engine.ts",
|
||||
"bytes": 14979,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P29-002/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P29-002.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P29-002/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 0,
|
||||
"bytes": 0,
|
||||
"tokens": 0
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"real Blender Main datablock is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"nextTask": "WBV2-P29-003",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/WBV2-P29-002.md",
|
||||
"taskIndex": "tests/golden/WBV2/task-index.json",
|
||||
"parentManifest": "tests/golden/WBV2-P29-001/manifest.json",
|
||||
"parentStatus": "docs/status/WBV2-P29-001.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/WBV2-P29-002.md",
|
||||
"tests/golden/WBV2-P29-001/manifest.json",
|
||||
"docs/status/WBV2-P29-001.md"
|
||||
],
|
||||
"machineOnly": [
|
||||
"tests/golden/WBV2/task-index.json",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl"
|
||||
],
|
||||
"optionalByNeed": [
|
||||
"docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
||||
"任务卡列出的精确协议/生产路径",
|
||||
"任务卡明确命名的长期计划小节"
|
||||
],
|
||||
"forbiddenByDefault": [
|
||||
"完整 CURRENT_EXECUTION_PLAN.md",
|
||||
"完整 PROJECT_STATUS_AND_NEXT_WORK.md",
|
||||
"全部 docs/status/*.md",
|
||||
"完整 parity/WBS 计划",
|
||||
"README 历史和 test-results/"
|
||||
]
|
||||
},
|
||||
"parent": {
|
||||
"manifest": {
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P29-001",
|
||||
"parentTask": "WBV2-P29-000",
|
||||
"status": "done",
|
||||
"nextTask": "WBV2-P29-002",
|
||||
"artifactCount": 10
|
||||
},
|
||||
"statusSummary": [
|
||||
"# WBV2-P29-001 status",
|
||||
"- task: `WBV2-P29-001`; parent: `WBV2-P29-000`; status: `done`",
|
||||
"- native datablock family: `GEOMETRY_NODES.NATIVE_DATABLOCK`; source-backed implementation connected",
|
||||
"- marker: `web_engine_blend_main_set_geometry_node_graph`; duplicate protocol shim: `false`",
|
||||
"- Chromium receipts and completion overlay: `DEFERRED`",
|
||||
"- inventory unchanged: `6900` total, `281` legacy completed, `6618` legacy pending, `290/6609` effective carried forward",
|
||||
"- nextTask: `WBV2-P29-002`"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1280,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 34,
|
||||
"taskTokens": 320
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2803,
|
||||
"lines": 51,
|
||||
"tokens": 701
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/WBV2-P29-002.md",
|
||||
"bytes": 1280,
|
||||
"lines": 34,
|
||||
"tokens": 320
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P29-001/manifest.json",
|
||||
"bytes": 2449,
|
||||
"lines": 65,
|
||||
"tokens": 613
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P29-001.md",
|
||||
"bytes": 482,
|
||||
"lines": 9,
|
||||
"tokens": 121
|
||||
}
|
||||
],
|
||||
"sourceTokens": 1755,
|
||||
"evidenceFiles": 0,
|
||||
"evidenceBytes": 0,
|
||||
"evidenceTokens": 0,
|
||||
"totalTokens": 1755,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 2779,
|
||||
"serializedContextTokens": 608,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
32
tests/golden/WBV2-P29-003/implementation-report.json
Normal file
32
tests/golden/WBV2-P29-003/implementation-report.json
Normal file
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P29-003",
|
||||
"operation": "IMPLEMENT_NATIVE_DATABLOCK_FAMILY",
|
||||
"status": "PASS",
|
||||
"family": "RENDER.COMPOSITOR_SEQUENCER_DATABLOCK",
|
||||
"sourceBacked": true,
|
||||
"implementation": {
|
||||
"marker": "compositor",
|
||||
"sourcePaths": [
|
||||
"web/protocol/compositor.ts",
|
||||
"web/protocol/sequencer-export.ts",
|
||||
"web/protocol/render-capabilities.ts",
|
||||
"web/app/src/app/App.tsx"
|
||||
],
|
||||
"duplicateShimAdded": false
|
||||
},
|
||||
"verification": {
|
||||
"status": "DEFERRED",
|
||||
"chromium": false,
|
||||
"receipts": false,
|
||||
"completionOverlay": false
|
||||
},
|
||||
"inventory": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609
|
||||
},
|
||||
"nextTask": "WBV2-P29-004"
|
||||
}
|
||||
60
tests/golden/WBV2-P29-003/manifest.json
Normal file
60
tests/golden/WBV2-P29-003/manifest.json
Normal file
@@ -0,0 +1,60 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P29-003",
|
||||
"parentTask": "WBV2-P29-002",
|
||||
"operation": "IMPLEMENT_NATIVE_DATABLOCK_FAMILY",
|
||||
"status": "done",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": false,
|
||||
"runtime": "SOURCE_BACKED_NATIVE_DATABLOCK_IMPLEMENTATION",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/WBV2-P29-002/manifest.json",
|
||||
"sha256": "2f0128955bdbcca416070469acfec061b9d7c7063a3d694eb651dcedfe4d603d"
|
||||
},
|
||||
"compositor_ts": {
|
||||
"path": "web/protocol/compositor.ts",
|
||||
"sha256": "3ce4819dadb2d6de7305c3676b2708689cd8be95e6fa7894651d6a02c4658b31"
|
||||
},
|
||||
"sequencer_export_ts": {
|
||||
"path": "web/protocol/sequencer-export.ts",
|
||||
"sha256": "559516163ce9a9c60917033455c71a1ae6be2f34666371f12723a056ddfdb3dd"
|
||||
},
|
||||
"render_capabilities_ts": {
|
||||
"path": "web/protocol/render-capabilities.ts",
|
||||
"sha256": "322929e9c7b627a9e79b8a6f11d5e9b0c7c05a5754f82d41c45c1134bbaaf385"
|
||||
},
|
||||
"App_tsx": {
|
||||
"path": "web/app/src/app/App.tsx",
|
||||
"sha256": "8c3ee6086716be3912a9597091642ee3416ee766a6aaedea7ca642ed7a9c3b53"
|
||||
},
|
||||
"report": {
|
||||
"path": "tests/golden/WBV2-P29-003/implementation-report.json",
|
||||
"sha256": "29c4f7583a11dcdb67c6da870fb65e2703724d02f67d76a8c1ad804a183c70a6"
|
||||
},
|
||||
"status": {
|
||||
"path": "docs/status/WBV2-P29-003.md",
|
||||
"sha256": "85247bc0f55a14b1ee1418c245c03d0aa46f01b13606f45f9316cd06fe782fbf"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/WBV2-P29-003/native-datablock-task-plan.json",
|
||||
"sha256": "bcccf1c7f120f07b1114148b029575c00e48aadc4bd2a2ff7f9d1ff1eee32367"
|
||||
},
|
||||
"taskContext": {
|
||||
"path": "tests/golden/WBV2-P29-003/task-context.json",
|
||||
"sha256": "ac2935b95cb2f451fac5da858770cb027b4899a9b3b9a9c78430e9652d9dc936"
|
||||
}
|
||||
},
|
||||
"assertions": {
|
||||
"capabilityFamily": "RENDER.COMPOSITOR_SEQUENCER_DATABLOCK",
|
||||
"sourceBacked": true,
|
||||
"unsupportedFailsClosed": true,
|
||||
"verificationDeferred": true,
|
||||
"completionOverlayWritten": false,
|
||||
"inventoryTotal": 6900,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"historicalReproduction": false
|
||||
},
|
||||
"nextTask": "WBV2-P29-004"
|
||||
}
|
||||
174
tests/golden/WBV2-P29-003/native-datablock-task-plan.json
Normal file
174
tests/golden/WBV2-P29-003/native-datablock-task-plan.json
Normal file
@@ -0,0 +1,174 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"planId": "BLENDER_WEB_NATIVE_DATABLOCK_IMPLEMENTATION_P29",
|
||||
"status": "ACTIVE_NATIVE_DATABLOCK_QUEUE",
|
||||
"authority": "user_authorized_implementation_first_execution",
|
||||
"executionPointer": "docs/EXECUTION_QUEUE.md",
|
||||
"runtimePolicy": {
|
||||
"blenderSource": "blender-5.2.0",
|
||||
"mainAuthority": "blender_main",
|
||||
"browserPolicy": "chromium_only_for_later_verification",
|
||||
"verificationPolicy": "deferred",
|
||||
"reusePolicy": "source_hash_behavior_hash_and_dedupe_key"
|
||||
},
|
||||
"inventoryPolicy": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"overlayMutation": "forbidden_during_implementation_wave"
|
||||
},
|
||||
"tasks": [
|
||||
{
|
||||
"id": "WBV2-P29-000",
|
||||
"phase": "P29",
|
||||
"title": "authorize_native_datablock_implementation",
|
||||
"kind": "enabling",
|
||||
"owner": "PROGRAM",
|
||||
"dependsOn": [
|
||||
"WBV2-P28-005"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p29-000",
|
||||
"gate": "G1",
|
||||
"card": "docs/tasks/WBV2-P29-000.md",
|
||||
"behavior": "Authorize native Blender Main datablock implementation for advanced source-backed capabilities.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real Blender Main datablock is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": true
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P29-001",
|
||||
"phase": "P29",
|
||||
"title": "implement_geometry_nodes_native_datablock",
|
||||
"kind": "feature",
|
||||
"owner": "GEOMETRY",
|
||||
"dependsOn": [
|
||||
"WBV2-P29-000"
|
||||
],
|
||||
"parityId": "GEOMETRY_NODES.NATIVE_DATABLOCK",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p29-001",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P29-001.md",
|
||||
"behavior": "Attach validated Geometry Node graphs to real Blender GeometryNodeTree and mesh modifier datablocks.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real Blender Main datablock is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P29-002",
|
||||
"phase": "P29",
|
||||
"title": "implement_physics_native_datablock",
|
||||
"kind": "feature",
|
||||
"owner": "SIMULATION",
|
||||
"dependsOn": [
|
||||
"WBV2-P29-001"
|
||||
],
|
||||
"parityId": "SIMULATION.NATIVE_DATABLOCK",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p29-002",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P29-002.md",
|
||||
"behavior": "Attach validated physics manifests to native Blender object/modifier data where supported.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real Blender Main datablock is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P29-003",
|
||||
"phase": "P29",
|
||||
"title": "implement_compositor_sequencer_datablock",
|
||||
"kind": "feature",
|
||||
"owner": "RENDER",
|
||||
"dependsOn": [
|
||||
"WBV2-P29-002"
|
||||
],
|
||||
"parityId": "RENDER.COMPOSITOR_SEQUENCER_DATABLOCK",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p29-003",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P29-003.md",
|
||||
"behavior": "Connect compositor and sequencer metadata to native Main data and web capability routes.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real Blender Main datablock is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P29-004",
|
||||
"phase": "P29",
|
||||
"title": "implement_native_datablock_smoke",
|
||||
"kind": "enabling",
|
||||
"owner": "RELEASE",
|
||||
"dependsOn": [
|
||||
"WBV2-P29-003"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p29-004",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P29-004.md",
|
||||
"behavior": "Run bounded source build and startup smoke after native datablock implementation.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real Blender Main datablock is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "in_progress",
|
||||
"ready": true,
|
||||
"queueMutationAllowed": false
|
||||
}
|
||||
]
|
||||
}
|
||||
173
tests/golden/WBV2-P29-003/task-context.json
Normal file
173
tests/golden/WBV2-P29-003/task-context.json
Normal file
@@ -0,0 +1,173 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P29-003",
|
||||
"parentTask": "WBV2-P29-002",
|
||||
"status": "in_progress",
|
||||
"goal": "Connect compositor and sequencer metadata to native Main data and web capability routes.",
|
||||
"scope": {
|
||||
"gap": "RENDER.COMPOSITOR_SEQUENCER_DATABLOCK",
|
||||
"ownerFamily": "RENDER",
|
||||
"implementationClass": "SOURCE_BACKED"
|
||||
},
|
||||
"commands": [
|
||||
"node tools/web/check-task-context.mjs --task WBV2-P29-003 --write"
|
||||
],
|
||||
"inputPaths": [],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 2901,
|
||||
"contextRemainingTokens": 723
|
||||
},
|
||||
"source": {
|
||||
"bytes": 7003,
|
||||
"tokens": 1753
|
||||
},
|
||||
"selected": [],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
||||
"bytes": 254201,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
||||
"bytes": 127451,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "web/protocol/web-engine.ts",
|
||||
"bytes": 14979,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P29-003/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P29-003.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P29-003/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 0,
|
||||
"bytes": 0,
|
||||
"tokens": 0
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"real Blender Main datablock is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"nextTask": "WBV2-P29-004",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/WBV2-P29-003.md",
|
||||
"taskIndex": "tests/golden/WBV2/task-index.json",
|
||||
"parentManifest": "tests/golden/WBV2-P29-002/manifest.json",
|
||||
"parentStatus": "docs/status/WBV2-P29-002.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/WBV2-P29-003.md",
|
||||
"tests/golden/WBV2-P29-002/manifest.json",
|
||||
"docs/status/WBV2-P29-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-P29-002",
|
||||
"parentTask": "WBV2-P29-001",
|
||||
"status": "done",
|
||||
"nextTask": "WBV2-P29-003",
|
||||
"artifactCount": 10
|
||||
},
|
||||
"statusSummary": [
|
||||
"# WBV2-P29-002 status",
|
||||
"- task: `WBV2-P29-002`; parent: `WBV2-P29-001`; status: `done`",
|
||||
"- native datablock family: `SIMULATION.NATIVE_DATABLOCK`; source-backed implementation connected",
|
||||
"- marker: `web_engine_blend_main_set_physics_simulation`; duplicate protocol shim: `false`",
|
||||
"- Chromium receipts and completion overlay: `DEFERRED`",
|
||||
"- inventory unchanged: `6900` total, `281` legacy completed, `6618` legacy pending, `290/6609` effective carried forward",
|
||||
"- nextTask: `WBV2-P29-003`"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1290,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 34,
|
||||
"taskTokens": 323
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2803,
|
||||
"lines": 51,
|
||||
"tokens": 701
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/WBV2-P29-003.md",
|
||||
"bytes": 1290,
|
||||
"lines": 34,
|
||||
"tokens": 323
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P29-002/manifest.json",
|
||||
"bytes": 2433,
|
||||
"lines": 65,
|
||||
"tokens": 609
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P29-002.md",
|
||||
"bytes": 477,
|
||||
"lines": 9,
|
||||
"tokens": 120
|
||||
}
|
||||
],
|
||||
"sourceTokens": 1753,
|
||||
"evidenceFiles": 0,
|
||||
"evidenceBytes": 0,
|
||||
"evidenceTokens": 0,
|
||||
"totalTokens": 1753,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 2777,
|
||||
"serializedContextTokens": 609,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
25
tests/golden/WBV2-P29-004/implementation-smoke-report.json
Normal file
25
tests/golden/WBV2-P29-004/implementation-smoke-report.json
Normal file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P29-004",
|
||||
"operation": "RUN_NATIVE_DATABLOCK_IMPLEMENTATION_SMOKE",
|
||||
"status": "PASS",
|
||||
"build": {
|
||||
"command": "npm --prefix web run build",
|
||||
"exitCode": 0,
|
||||
"worker": "web/dist/assets/web-engine.worker-BwJEJ-2w.js",
|
||||
"wasm": "web/dist/assets/web_engine-Cqit5qeJ.wasm"
|
||||
},
|
||||
"verification": {
|
||||
"status": "DEFERRED",
|
||||
"chromium": false,
|
||||
"completionOverlay": false
|
||||
},
|
||||
"inventory": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609
|
||||
},
|
||||
"nextTask": "WBV2-P30-000"
|
||||
}
|
||||
51
tests/golden/WBV2-P29-004/manifest.json
Normal file
51
tests/golden/WBV2-P29-004/manifest.json
Normal file
@@ -0,0 +1,51 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P29-004",
|
||||
"parentTask": "WBV2-P29-003",
|
||||
"operation": "RUN_NATIVE_DATABLOCK_IMPLEMENTATION_SMOKE",
|
||||
"status": "done",
|
||||
"enablingTask": true,
|
||||
"parityStateChange": false,
|
||||
"runtime": "VITE_BUILD_AND_SOURCE_WASM_SMOKE",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/WBV2-P29-003/manifest.json",
|
||||
"sha256": "1990ba4c4dffb426d18c7be5432f8441477f26028bce1bb513990c4281e97ac3"
|
||||
},
|
||||
"report": {
|
||||
"path": "tests/golden/WBV2-P29-004/implementation-smoke-report.json",
|
||||
"sha256": "e603842da7564c507416d351aaf4b67718cc4bb466fb37a4ebdf9d76439a5669"
|
||||
},
|
||||
"status": {
|
||||
"path": "docs/status/WBV2-P29-004.md",
|
||||
"sha256": "252ddd661e5c03896fea0d7ee4f973aed6939f8716fbd800e1644f15054ae584"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/WBV2-P29-004/native-datablock-task-plan.json",
|
||||
"sha256": "2292214c317d5bcffe48f4f5625db4eba07f23bcd9818e8d7a7918138ccc75ef"
|
||||
},
|
||||
"index": {
|
||||
"path": "web/dist/index.html",
|
||||
"sha256": "456f1171b36fc9cea608ea6e74a11570f855b0f26a646350d5ac458a4e918fe9"
|
||||
},
|
||||
"worker": {
|
||||
"path": "web/dist/assets/web-engine.worker-BwJEJ-2w.js",
|
||||
"sha256": "3590090f7797f6b06000a5593d2f5a29d7667e73fdaefaed07e70130a6d25cfb"
|
||||
},
|
||||
"wasm": {
|
||||
"path": "web/dist/assets/web_engine-Cqit5qeJ.wasm",
|
||||
"sha256": "9c0d4183fe9d901d2276abeaedda8fa8ac0088ea2fb1b292a9806e8e8394926d"
|
||||
}
|
||||
},
|
||||
"assertions": {
|
||||
"buildExitCode": 0,
|
||||
"sourceBackedImplementation": true,
|
||||
"verificationDeferred": true,
|
||||
"completionOverlayWritten": false,
|
||||
"inventoryTotal": 6900,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"historicalReproduction": false
|
||||
},
|
||||
"nextTask": "WBV2-P30-000"
|
||||
}
|
||||
174
tests/golden/WBV2-P29-004/native-datablock-task-plan.json
Normal file
174
tests/golden/WBV2-P29-004/native-datablock-task-plan.json
Normal file
@@ -0,0 +1,174 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"planId": "BLENDER_WEB_NATIVE_DATABLOCK_IMPLEMENTATION_P29",
|
||||
"status": "ACTIVE_NATIVE_DATABLOCK_QUEUE",
|
||||
"authority": "user_authorized_implementation_first_execution",
|
||||
"executionPointer": "docs/EXECUTION_QUEUE.md",
|
||||
"runtimePolicy": {
|
||||
"blenderSource": "blender-5.2.0",
|
||||
"mainAuthority": "blender_main",
|
||||
"browserPolicy": "chromium_only_for_later_verification",
|
||||
"verificationPolicy": "deferred",
|
||||
"reusePolicy": "source_hash_behavior_hash_and_dedupe_key"
|
||||
},
|
||||
"inventoryPolicy": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"overlayMutation": "forbidden_during_implementation_wave"
|
||||
},
|
||||
"tasks": [
|
||||
{
|
||||
"id": "WBV2-P29-000",
|
||||
"phase": "P29",
|
||||
"title": "authorize_native_datablock_implementation",
|
||||
"kind": "enabling",
|
||||
"owner": "PROGRAM",
|
||||
"dependsOn": [
|
||||
"WBV2-P28-005"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p29-000",
|
||||
"gate": "G1",
|
||||
"card": "docs/tasks/WBV2-P29-000.md",
|
||||
"behavior": "Authorize native Blender Main datablock implementation for advanced source-backed capabilities.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real Blender Main datablock is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": true
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P29-001",
|
||||
"phase": "P29",
|
||||
"title": "implement_geometry_nodes_native_datablock",
|
||||
"kind": "feature",
|
||||
"owner": "GEOMETRY",
|
||||
"dependsOn": [
|
||||
"WBV2-P29-000"
|
||||
],
|
||||
"parityId": "GEOMETRY_NODES.NATIVE_DATABLOCK",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p29-001",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P29-001.md",
|
||||
"behavior": "Attach validated Geometry Node graphs to real Blender GeometryNodeTree and mesh modifier datablocks.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real Blender Main datablock is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P29-002",
|
||||
"phase": "P29",
|
||||
"title": "implement_physics_native_datablock",
|
||||
"kind": "feature",
|
||||
"owner": "SIMULATION",
|
||||
"dependsOn": [
|
||||
"WBV2-P29-001"
|
||||
],
|
||||
"parityId": "SIMULATION.NATIVE_DATABLOCK",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p29-002",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P29-002.md",
|
||||
"behavior": "Attach validated physics manifests to native Blender object/modifier data where supported.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real Blender Main datablock is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P29-003",
|
||||
"phase": "P29",
|
||||
"title": "implement_compositor_sequencer_datablock",
|
||||
"kind": "feature",
|
||||
"owner": "RENDER",
|
||||
"dependsOn": [
|
||||
"WBV2-P29-002"
|
||||
],
|
||||
"parityId": "RENDER.COMPOSITOR_SEQUENCER_DATABLOCK",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p29-003",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P29-003.md",
|
||||
"behavior": "Connect compositor and sequencer metadata to native Main data and web capability routes.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real Blender Main datablock is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P29-004",
|
||||
"phase": "P29",
|
||||
"title": "implement_native_datablock_smoke",
|
||||
"kind": "enabling",
|
||||
"owner": "RELEASE",
|
||||
"dependsOn": [
|
||||
"WBV2-P29-003"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p29-004",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P29-004.md",
|
||||
"behavior": "Run bounded source build and startup smoke after native datablock implementation.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real Blender Main datablock is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
}
|
||||
]
|
||||
}
|
||||
172
tests/golden/WBV2-P29-004/task-context.json
Normal file
172
tests/golden/WBV2-P29-004/task-context.json
Normal file
@@ -0,0 +1,172 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P29-004",
|
||||
"parentTask": "WBV2-P29-003",
|
||||
"status": "in_progress",
|
||||
"goal": "Run bounded source build and startup smoke after native datablock implementation.",
|
||||
"scope": {
|
||||
"gap": "workflow:implement_native_datablock_smoke",
|
||||
"ownerFamily": "RELEASE",
|
||||
"implementationClass": "SOURCE_BACKED"
|
||||
},
|
||||
"commands": [
|
||||
"node tools/web/check-task-context.mjs --task WBV2-P29-004 --write"
|
||||
],
|
||||
"inputPaths": [],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 3199,
|
||||
"contextRemainingTokens": 798
|
||||
},
|
||||
"source": {
|
||||
"bytes": 6705,
|
||||
"tokens": 1678
|
||||
},
|
||||
"selected": [],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
||||
"bytes": 254201,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
||||
"bytes": 127451,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "web/protocol/web-engine.ts",
|
||||
"bytes": 14979,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P29-004/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P29-004.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P29-004/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 0,
|
||||
"bytes": 0,
|
||||
"tokens": 0
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"focused command exits 0",
|
||||
"report and manifest are hash-bound",
|
||||
"failure path does not publish a late result"
|
||||
],
|
||||
"nextTask": "WBV2-P30-000",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/WBV2-P29-004.md",
|
||||
"taskIndex": "tests/golden/WBV2/task-index.json",
|
||||
"parentManifest": "tests/golden/WBV2-P29-003/manifest.json",
|
||||
"parentStatus": "docs/status/WBV2-P29-003.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/WBV2-P29-004.md",
|
||||
"tests/golden/WBV2-P29-003/manifest.json",
|
||||
"docs/status/WBV2-P29-003.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-P29-003",
|
||||
"parentTask": "WBV2-P29-002",
|
||||
"status": "done",
|
||||
"nextTask": "WBV2-P29-004",
|
||||
"artifactCount": 9
|
||||
},
|
||||
"statusSummary": [
|
||||
"# WBV2-P29-003 status",
|
||||
"- task: `WBV2-P29-003`; parent: `WBV2-P29-002`; status: `done`",
|
||||
"- native datablock family: `RENDER.COMPOSITOR_SEQUENCER_DATABLOCK`; source-backed implementation connected",
|
||||
"- marker: `compositor`; duplicate protocol shim: `false`",
|
||||
"- Chromium receipts and completion overlay: `DEFERRED`",
|
||||
"- inventory unchanged: `6900` total, `281` legacy completed, `6618` legacy pending, `290/6609` effective carried forward",
|
||||
"- nextTask: `WBV2-P29-004`"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1280,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 34,
|
||||
"taskTokens": 320
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2803,
|
||||
"lines": 51,
|
||||
"tokens": 701
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/WBV2-P29-004.md",
|
||||
"bytes": 1280,
|
||||
"lines": 34,
|
||||
"tokens": 320
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P29-003/manifest.json",
|
||||
"bytes": 2169,
|
||||
"lines": 61,
|
||||
"tokens": 543
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P29-003.md",
|
||||
"bytes": 453,
|
||||
"lines": 9,
|
||||
"tokens": 114
|
||||
}
|
||||
],
|
||||
"sourceTokens": 1678,
|
||||
"evidenceFiles": 0,
|
||||
"evidenceBytes": 0,
|
||||
"evidenceTokens": 0,
|
||||
"totalTokens": 1678,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 2702,
|
||||
"serializedContextTokens": 598,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
34
tests/golden/WBV2-P30-000/animation-render-root-report.json
Normal file
34
tests/golden/WBV2-P30-000/animation-render-root-report.json
Normal file
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P30-000",
|
||||
"operation": "AUTHORIZE_ANIMATION_RENDER_WORKBENCH",
|
||||
"status": "PASS",
|
||||
"parent": {
|
||||
"task": "WBV2-P29-004",
|
||||
"manifest": "tests/golden/WBV2-P29-004/manifest.json",
|
||||
"manifestSha256": "19a4b853bd3b3ccc741144e0122a0cfb9eede7b68cd1d2b1c74b97e49ab30a4b"
|
||||
},
|
||||
"scope": {
|
||||
"firstTask": "WBV2-P30-001",
|
||||
"plannedTasks": [
|
||||
"WBV2-P30-000",
|
||||
"WBV2-P30-001",
|
||||
"WBV2-P30-002",
|
||||
"WBV2-P30-003",
|
||||
"WBV2-P30-004"
|
||||
]
|
||||
},
|
||||
"verification": {
|
||||
"status": "DEFERRED",
|
||||
"chromium": false,
|
||||
"completionOverlay": false
|
||||
},
|
||||
"inventory": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609
|
||||
},
|
||||
"nextTask": "WBV2-P30-001"
|
||||
}
|
||||
174
tests/golden/WBV2-P30-000/animation-render-task-plan.json
Normal file
174
tests/golden/WBV2-P30-000/animation-render-task-plan.json
Normal file
@@ -0,0 +1,174 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"planId": "BLENDER_WEB_ANIMATION_RENDER_IMPLEMENTATION_P30",
|
||||
"status": "ACTIVE_ANIMATION_RENDER_QUEUE",
|
||||
"authority": "user_authorized_implementation_first_execution",
|
||||
"executionPointer": "docs/EXECUTION_QUEUE.md",
|
||||
"runtimePolicy": {
|
||||
"blenderSource": "blender-5.2.0",
|
||||
"mainAuthority": "blender_main",
|
||||
"browserPolicy": "chromium_only_for_later_verification",
|
||||
"verificationPolicy": "deferred",
|
||||
"reusePolicy": "source_hash_behavior_hash_and_dedupe_key"
|
||||
},
|
||||
"inventoryPolicy": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"overlayMutation": "forbidden_during_implementation_wave"
|
||||
},
|
||||
"tasks": [
|
||||
{
|
||||
"id": "WBV2-P30-000",
|
||||
"phase": "P30",
|
||||
"title": "authorize_animation_render_workbench",
|
||||
"kind": "enabling",
|
||||
"owner": "PROGRAM",
|
||||
"dependsOn": [
|
||||
"WBV2-P29-004"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p30-000",
|
||||
"gate": "G1",
|
||||
"card": "docs/tasks/WBV2-P30-000.md",
|
||||
"behavior": "Authorize the next source-backed workbench implementation wave.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": true
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P30-001",
|
||||
"phase": "P30",
|
||||
"title": "implement_animation_nla_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "ANIMATION",
|
||||
"dependsOn": [
|
||||
"WBV2-P30-000"
|
||||
],
|
||||
"parityId": "ANIMATION.NLA_WORKBENCH",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p30-001",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P30-001.md",
|
||||
"behavior": "Expose active action, FCurve interpolation and NLA stack controls through the workbench.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "in_progress",
|
||||
"ready": true,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P30-002",
|
||||
"phase": "P30",
|
||||
"title": "implement_camera_light_world_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "RENDER",
|
||||
"dependsOn": [
|
||||
"WBV2-P30-001"
|
||||
],
|
||||
"parityId": "RENDER.SCENE_PROPERTIES",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p30-002",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P30-002.md",
|
||||
"behavior": "Expose camera, light and world property commands through the workbench.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "planned",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P30-003",
|
||||
"phase": "P30",
|
||||
"title": "implement_nonmesh_media_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "GEOMETRY",
|
||||
"dependsOn": [
|
||||
"WBV2-P30-002"
|
||||
],
|
||||
"parityId": "GEOMETRY.NON_MESH_MEDIA",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p30-003",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P30-003.md",
|
||||
"behavior": "Expose font, volume, metaball and non-mesh editing controls.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "planned",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P30-004",
|
||||
"phase": "P30",
|
||||
"title": "run_p30_implementation_smoke",
|
||||
"kind": "enabling",
|
||||
"owner": "RELEASE",
|
||||
"dependsOn": [
|
||||
"WBV2-P30-003"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p30-004",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P30-004.md",
|
||||
"behavior": "Run bounded build and startup smoke after P30 implementation.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "planned",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
}
|
||||
]
|
||||
}
|
||||
43
tests/golden/WBV2-P30-000/manifest.json
Normal file
43
tests/golden/WBV2-P30-000/manifest.json
Normal file
@@ -0,0 +1,43 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P30-000",
|
||||
"parentTask": "WBV2-P29-004",
|
||||
"operation": "AUTHORIZE_ANIMATION_RENDER_WORKBENCH",
|
||||
"status": "done",
|
||||
"enablingTask": true,
|
||||
"parityStateChange": false,
|
||||
"runtime": "SOURCE_BACKED_ANIMATION_RENDER_QUEUE",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/WBV2-P29-004/manifest.json",
|
||||
"sha256": "8984c3828be6553a22dec26befa552795254d0f21d9209feb90ce388ae50c6b6"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/WBV2-P30-000/animation-render-task-plan.json",
|
||||
"sha256": "a30f0c76d54f77195aebcf0ac1ed48204222f6156b50b60f4f1ab80bb18f7536"
|
||||
},
|
||||
"report": {
|
||||
"path": "tests/golden/WBV2-P30-000/animation-render-root-report.json",
|
||||
"sha256": "00b0ad1e9d0f9b93617e2b6f65996051b1383d0198cda2905b5337fe238928b5"
|
||||
},
|
||||
"rootCard": {
|
||||
"path": "docs/tasks/WBV2-P30-000.md",
|
||||
"sha256": "e341b0a7cb8da6ddfaf2cbf4a1cb0ebf9d99003ffd5cfa87f1f776bd04749556"
|
||||
},
|
||||
"rootStatus": {
|
||||
"path": "docs/status/WBV2-P30-000.md",
|
||||
"sha256": "f3d4fdcd2e11fb6c334abdeb40b64d7386e34084a522ae6e1f811dbdbf5bccef"
|
||||
}
|
||||
},
|
||||
"assertions": {
|
||||
"animationRenderImplementation": true,
|
||||
"plannedTasks": 5,
|
||||
"verificationDeferred": true,
|
||||
"completionOverlayWritten": false,
|
||||
"inventoryTotal": 6900,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"historicalReproduction": false
|
||||
},
|
||||
"nextTask": "WBV2-P30-001"
|
||||
}
|
||||
174
tests/golden/WBV2-P30-001/animation-render-task-plan.json
Normal file
174
tests/golden/WBV2-P30-001/animation-render-task-plan.json
Normal file
@@ -0,0 +1,174 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"planId": "BLENDER_WEB_ANIMATION_RENDER_IMPLEMENTATION_P30",
|
||||
"status": "ACTIVE_ANIMATION_RENDER_QUEUE",
|
||||
"authority": "user_authorized_implementation_first_execution",
|
||||
"executionPointer": "docs/EXECUTION_QUEUE.md",
|
||||
"runtimePolicy": {
|
||||
"blenderSource": "blender-5.2.0",
|
||||
"mainAuthority": "blender_main",
|
||||
"browserPolicy": "chromium_only_for_later_verification",
|
||||
"verificationPolicy": "deferred",
|
||||
"reusePolicy": "source_hash_behavior_hash_and_dedupe_key"
|
||||
},
|
||||
"inventoryPolicy": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"overlayMutation": "forbidden_during_implementation_wave"
|
||||
},
|
||||
"tasks": [
|
||||
{
|
||||
"id": "WBV2-P30-000",
|
||||
"phase": "P30",
|
||||
"title": "authorize_animation_render_workbench",
|
||||
"kind": "enabling",
|
||||
"owner": "PROGRAM",
|
||||
"dependsOn": [
|
||||
"WBV2-P29-004"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p30-000",
|
||||
"gate": "G1",
|
||||
"card": "docs/tasks/WBV2-P30-000.md",
|
||||
"behavior": "Authorize the next source-backed workbench implementation wave.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": true
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P30-001",
|
||||
"phase": "P30",
|
||||
"title": "implement_animation_nla_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "ANIMATION",
|
||||
"dependsOn": [
|
||||
"WBV2-P30-000"
|
||||
],
|
||||
"parityId": "ANIMATION.NLA_WORKBENCH",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p30-001",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P30-001.md",
|
||||
"behavior": "Expose active action, FCurve interpolation and NLA stack controls through the workbench.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P30-002",
|
||||
"phase": "P30",
|
||||
"title": "implement_camera_light_world_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "RENDER",
|
||||
"dependsOn": [
|
||||
"WBV2-P30-001"
|
||||
],
|
||||
"parityId": "RENDER.SCENE_PROPERTIES",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p30-002",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P30-002.md",
|
||||
"behavior": "Expose camera, light and world property commands through the workbench.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "in_progress",
|
||||
"ready": true,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P30-003",
|
||||
"phase": "P30",
|
||||
"title": "implement_nonmesh_media_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "GEOMETRY",
|
||||
"dependsOn": [
|
||||
"WBV2-P30-002"
|
||||
],
|
||||
"parityId": "GEOMETRY.NON_MESH_MEDIA",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p30-003",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P30-003.md",
|
||||
"behavior": "Expose font, volume, metaball and non-mesh editing controls.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "planned",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P30-004",
|
||||
"phase": "P30",
|
||||
"title": "run_p30_implementation_smoke",
|
||||
"kind": "enabling",
|
||||
"owner": "RELEASE",
|
||||
"dependsOn": [
|
||||
"WBV2-P30-003"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p30-004",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P30-004.md",
|
||||
"behavior": "Run bounded build and startup smoke after P30 implementation.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "planned",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
}
|
||||
]
|
||||
}
|
||||
27
tests/golden/WBV2-P30-001/implementation-report.json
Normal file
27
tests/golden/WBV2-P30-001/implementation-report.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P30-001",
|
||||
"operation": "IMPLEMENT_ANIMATION_RENDER_FAMILY",
|
||||
"status": "PASS",
|
||||
"family": "ANIMATION.NLA_WORKBENCH",
|
||||
"sourceBacked": true,
|
||||
"marker": "animationRenderCommands",
|
||||
"sourcePaths": [
|
||||
"web/protocol/animation-render-commands.ts",
|
||||
"web/app/src/app/App.tsx",
|
||||
"web/protocol/web-engine.ts"
|
||||
],
|
||||
"verification": {
|
||||
"status": "DEFERRED",
|
||||
"chromium": false,
|
||||
"completionOverlay": false
|
||||
},
|
||||
"inventory": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609
|
||||
},
|
||||
"nextTask": "WBV2-P30-002"
|
||||
}
|
||||
55
tests/golden/WBV2-P30-001/manifest.json
Normal file
55
tests/golden/WBV2-P30-001/manifest.json
Normal file
@@ -0,0 +1,55 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P30-001",
|
||||
"parentTask": "WBV2-P30-000",
|
||||
"operation": "IMPLEMENT_ANIMATION_RENDER_FAMILY",
|
||||
"status": "done",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": false,
|
||||
"runtime": "SOURCE_BACKED_ANIMATION_RENDER_IMPLEMENTATION",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/WBV2-P30-000/manifest.json",
|
||||
"sha256": "50d55ebe1c4cdb3b8e545286ba4a8aba58de74d6d0c6887740ac5fff57feebe2"
|
||||
},
|
||||
"animation_render_commands_ts": {
|
||||
"path": "web/protocol/animation-render-commands.ts",
|
||||
"sha256": "9824e8a9abcb55f951f115aa113679ec0542fc246426e0f325099d44dfa76157"
|
||||
},
|
||||
"App_tsx": {
|
||||
"path": "web/app/src/app/App.tsx",
|
||||
"sha256": "8c3ee6086716be3912a9597091642ee3416ee766a6aaedea7ca642ed7a9c3b53"
|
||||
},
|
||||
"web_engine_ts": {
|
||||
"path": "web/protocol/web-engine.ts",
|
||||
"sha256": "3c4aba796afb70a6b29d34cca4ba924ffb1a240549b79730d1a639ca913ee896"
|
||||
},
|
||||
"report": {
|
||||
"path": "tests/golden/WBV2-P30-001/implementation-report.json",
|
||||
"sha256": "f773ef3c534d526789ec5a05af4f1d05cd79c159292ca151c2f7c36421b780d2"
|
||||
},
|
||||
"status": {
|
||||
"path": "docs/status/WBV2-P30-001.md",
|
||||
"sha256": "7341aa426b06a8d019e86d965ff974558706cf97bc96fd1deb93a46c4d2d4459"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/WBV2-P30-001/animation-render-task-plan.json",
|
||||
"sha256": "c1dee9be1f7dd6c207806392eea4283d86b0fa8cf3fc6c7875b43295c33cf1e8"
|
||||
},
|
||||
"taskContext": {
|
||||
"path": "tests/golden/WBV2-P30-001/task-context.json",
|
||||
"sha256": "827c4bfbb715382362f17afae9302364345cb9c3e86bc625e642528f01cbdc5a"
|
||||
}
|
||||
},
|
||||
"assertions": {
|
||||
"capabilityFamily": "ANIMATION.NLA_WORKBENCH",
|
||||
"sourceBacked": true,
|
||||
"verificationDeferred": true,
|
||||
"completionOverlayWritten": false,
|
||||
"inventoryTotal": 6900,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"historicalReproduction": false
|
||||
},
|
||||
"nextTask": "WBV2-P30-002"
|
||||
}
|
||||
168
tests/golden/WBV2-P30-001/task-context.json
Normal file
168
tests/golden/WBV2-P30-001/task-context.json
Normal file
@@ -0,0 +1,168 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P30-001",
|
||||
"parentTask": "WBV2-P30-000",
|
||||
"status": "in_progress",
|
||||
"goal": "Expose active action, FCurve interpolation and NLA stack controls through the workbench.",
|
||||
"scope": {
|
||||
"gap": "ANIMATION.NLA_WORKBENCH",
|
||||
"ownerFamily": "ANIMATION",
|
||||
"implementationClass": "SOURCE_BACKED"
|
||||
},
|
||||
"commands": [
|
||||
"node tools/web/check-task-context.mjs --task WBV2-P30-001 --write"
|
||||
],
|
||||
"inputPaths": [],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 4010,
|
||||
"contextRemainingTokens": 1001
|
||||
},
|
||||
"source": {
|
||||
"bytes": 5894,
|
||||
"tokens": 1475
|
||||
},
|
||||
"selected": [],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
||||
"bytes": 254201,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "web/protocol/web-engine.ts",
|
||||
"bytes": 14979,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P30-001/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P30-001.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P30-001/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 0,
|
||||
"bytes": 0,
|
||||
"tokens": 0
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"nextTask": "WBV2-P30-002",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/WBV2-P30-001.md",
|
||||
"taskIndex": "tests/golden/WBV2/task-index.json",
|
||||
"parentManifest": "tests/golden/WBV2-P30-000/manifest.json",
|
||||
"parentStatus": "docs/status/WBV2-P30-000.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/WBV2-P30-001.md",
|
||||
"tests/golden/WBV2-P30-000/manifest.json",
|
||||
"docs/status/WBV2-P30-000.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-P30-000",
|
||||
"parentTask": "WBV2-P29-004",
|
||||
"status": "done",
|
||||
"nextTask": "WBV2-P30-001",
|
||||
"artifactCount": 5
|
||||
},
|
||||
"statusSummary": [
|
||||
"# WBV2-P30-000 status",
|
||||
"- task: `WBV2-P30-000`; parent: `WBV2-P29-004`; status: `done`",
|
||||
"- Animation/Render workbench implementation wave authorized",
|
||||
"- first task: `WBV2-P30-001`",
|
||||
"- verification receipts and completion overlays: `DEFERRED`",
|
||||
"- inventory unchanged: `6900` total, `281` legacy completed, `6618` legacy pending, `290/6609` effective carried forward",
|
||||
"- nextTask: `WBV2-P30-001`"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1265,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 34,
|
||||
"taskTokens": 317
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2803,
|
||||
"lines": 51,
|
||||
"tokens": 701
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/WBV2-P30-001.md",
|
||||
"bytes": 1265,
|
||||
"lines": 34,
|
||||
"tokens": 317
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P30-000/manifest.json",
|
||||
"bytes": 1443,
|
||||
"lines": 44,
|
||||
"tokens": 361
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P30-000.md",
|
||||
"bytes": 383,
|
||||
"lines": 9,
|
||||
"tokens": 96
|
||||
}
|
||||
],
|
||||
"sourceTokens": 1475,
|
||||
"evidenceFiles": 0,
|
||||
"evidenceBytes": 0,
|
||||
"evidenceTokens": 0,
|
||||
"totalTokens": 1475,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 2499,
|
||||
"serializedContextTokens": 607,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
174
tests/golden/WBV2-P30-002/animation-render-task-plan.json
Normal file
174
tests/golden/WBV2-P30-002/animation-render-task-plan.json
Normal file
@@ -0,0 +1,174 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"planId": "BLENDER_WEB_ANIMATION_RENDER_IMPLEMENTATION_P30",
|
||||
"status": "ACTIVE_ANIMATION_RENDER_QUEUE",
|
||||
"authority": "user_authorized_implementation_first_execution",
|
||||
"executionPointer": "docs/EXECUTION_QUEUE.md",
|
||||
"runtimePolicy": {
|
||||
"blenderSource": "blender-5.2.0",
|
||||
"mainAuthority": "blender_main",
|
||||
"browserPolicy": "chromium_only_for_later_verification",
|
||||
"verificationPolicy": "deferred",
|
||||
"reusePolicy": "source_hash_behavior_hash_and_dedupe_key"
|
||||
},
|
||||
"inventoryPolicy": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"overlayMutation": "forbidden_during_implementation_wave"
|
||||
},
|
||||
"tasks": [
|
||||
{
|
||||
"id": "WBV2-P30-000",
|
||||
"phase": "P30",
|
||||
"title": "authorize_animation_render_workbench",
|
||||
"kind": "enabling",
|
||||
"owner": "PROGRAM",
|
||||
"dependsOn": [
|
||||
"WBV2-P29-004"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p30-000",
|
||||
"gate": "G1",
|
||||
"card": "docs/tasks/WBV2-P30-000.md",
|
||||
"behavior": "Authorize the next source-backed workbench implementation wave.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": true
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P30-001",
|
||||
"phase": "P30",
|
||||
"title": "implement_animation_nla_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "ANIMATION",
|
||||
"dependsOn": [
|
||||
"WBV2-P30-000"
|
||||
],
|
||||
"parityId": "ANIMATION.NLA_WORKBENCH",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p30-001",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P30-001.md",
|
||||
"behavior": "Expose active action, FCurve interpolation and NLA stack controls through the workbench.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P30-002",
|
||||
"phase": "P30",
|
||||
"title": "implement_camera_light_world_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "RENDER",
|
||||
"dependsOn": [
|
||||
"WBV2-P30-001"
|
||||
],
|
||||
"parityId": "RENDER.SCENE_PROPERTIES",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p30-002",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P30-002.md",
|
||||
"behavior": "Expose camera, light and world property commands through the workbench.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P30-003",
|
||||
"phase": "P30",
|
||||
"title": "implement_nonmesh_media_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "GEOMETRY",
|
||||
"dependsOn": [
|
||||
"WBV2-P30-002"
|
||||
],
|
||||
"parityId": "GEOMETRY.NON_MESH_MEDIA",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p30-003",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P30-003.md",
|
||||
"behavior": "Expose font, volume, metaball and non-mesh editing controls.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "in_progress",
|
||||
"ready": true,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P30-004",
|
||||
"phase": "P30",
|
||||
"title": "run_p30_implementation_smoke",
|
||||
"kind": "enabling",
|
||||
"owner": "RELEASE",
|
||||
"dependsOn": [
|
||||
"WBV2-P30-003"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p30-004",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P30-004.md",
|
||||
"behavior": "Run bounded build and startup smoke after P30 implementation.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "planned",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
}
|
||||
]
|
||||
}
|
||||
28
tests/golden/WBV2-P30-002/implementation-report.json
Normal file
28
tests/golden/WBV2-P30-002/implementation-report.json
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P30-002",
|
||||
"operation": "IMPLEMENT_ANIMATION_RENDER_FAMILY",
|
||||
"status": "PASS",
|
||||
"family": "RENDER.SCENE_PROPERTIES",
|
||||
"sourceBacked": true,
|
||||
"marker": "set_render_properties",
|
||||
"sourcePaths": [
|
||||
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
||||
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
||||
"web/protocol/animation-render-commands.ts",
|
||||
"web/app/src/app/App.tsx"
|
||||
],
|
||||
"verification": {
|
||||
"status": "DEFERRED",
|
||||
"chromium": false,
|
||||
"completionOverlay": false
|
||||
},
|
||||
"inventory": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609
|
||||
},
|
||||
"nextTask": "WBV2-P30-003"
|
||||
}
|
||||
59
tests/golden/WBV2-P30-002/manifest.json
Normal file
59
tests/golden/WBV2-P30-002/manifest.json
Normal file
@@ -0,0 +1,59 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P30-002",
|
||||
"parentTask": "WBV2-P30-001",
|
||||
"operation": "IMPLEMENT_ANIMATION_RENDER_FAMILY",
|
||||
"status": "done",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": false,
|
||||
"runtime": "SOURCE_BACKED_ANIMATION_RENDER_IMPLEMENTATION",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/WBV2-P30-001/manifest.json",
|
||||
"sha256": "efd0dff21cdec612aedbe885afba06ab611c2645a62ea5f0805c5f48fa96f1f8"
|
||||
},
|
||||
"web_engine_main_state_cpp": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
||||
"sha256": "7803654bf15db8645b65e0653eb3599b46f969d65c5a1a365daeee51079259d4"
|
||||
},
|
||||
"web_engine_api_cpp": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
||||
"sha256": "6a3eebde527f029fce7666a080e8cac1a60de944aee372bfe772ee6e2adabbdf"
|
||||
},
|
||||
"animation_render_commands_ts": {
|
||||
"path": "web/protocol/animation-render-commands.ts",
|
||||
"sha256": "9824e8a9abcb55f951f115aa113679ec0542fc246426e0f325099d44dfa76157"
|
||||
},
|
||||
"App_tsx": {
|
||||
"path": "web/app/src/app/App.tsx",
|
||||
"sha256": "8c3ee6086716be3912a9597091642ee3416ee766a6aaedea7ca642ed7a9c3b53"
|
||||
},
|
||||
"report": {
|
||||
"path": "tests/golden/WBV2-P30-002/implementation-report.json",
|
||||
"sha256": "0a926c7c97e69632d83d6166b94f843d8a49fd3e309ecd3be11ddeb529423cd8"
|
||||
},
|
||||
"status": {
|
||||
"path": "docs/status/WBV2-P30-002.md",
|
||||
"sha256": "dc6c44220e213a36940305f6f97dd85ddfc2c01c04c35c45f5cdd48f0bd4294b"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/WBV2-P30-002/animation-render-task-plan.json",
|
||||
"sha256": "f1849504b9310ac0e6188e04daa2c3c1a0a126ea7e809f6f91cfb439fe2f9523"
|
||||
},
|
||||
"taskContext": {
|
||||
"path": "tests/golden/WBV2-P30-002/task-context.json",
|
||||
"sha256": "2f11d80e2b2a9cbe25dcd31a61e520afa0411b7dea0f1d37203a4266caac1b9b"
|
||||
}
|
||||
},
|
||||
"assertions": {
|
||||
"capabilityFamily": "RENDER.SCENE_PROPERTIES",
|
||||
"sourceBacked": true,
|
||||
"verificationDeferred": true,
|
||||
"completionOverlayWritten": false,
|
||||
"inventoryTotal": 6900,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"historicalReproduction": false
|
||||
},
|
||||
"nextTask": "WBV2-P30-003"
|
||||
}
|
||||
167
tests/golden/WBV2-P30-002/task-context.json
Normal file
167
tests/golden/WBV2-P30-002/task-context.json
Normal file
@@ -0,0 +1,167 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P30-002",
|
||||
"parentTask": "WBV2-P30-001",
|
||||
"status": "in_progress",
|
||||
"goal": "Expose camera, light and world property commands through the workbench.",
|
||||
"scope": {
|
||||
"gap": "RENDER.SCENE_PROPERTIES",
|
||||
"ownerFamily": "RENDER",
|
||||
"implementationClass": "SOURCE_BACKED"
|
||||
},
|
||||
"commands": [
|
||||
"node tools/web/check-task-context.mjs --task WBV2-P30-002 --write"
|
||||
],
|
||||
"inputPaths": [],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 3564,
|
||||
"contextRemainingTokens": 889
|
||||
},
|
||||
"source": {
|
||||
"bytes": 6340,
|
||||
"tokens": 1587
|
||||
},
|
||||
"selected": [],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
||||
"bytes": 254201,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "web/protocol/web-engine.ts",
|
||||
"bytes": 14979,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P30-002/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P30-002.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P30-002/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 0,
|
||||
"bytes": 0,
|
||||
"tokens": 0
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"nextTask": "WBV2-P30-003",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/WBV2-P30-002.md",
|
||||
"taskIndex": "tests/golden/WBV2/task-index.json",
|
||||
"parentManifest": "tests/golden/WBV2-P30-001/manifest.json",
|
||||
"parentStatus": "docs/status/WBV2-P30-001.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/WBV2-P30-002.md",
|
||||
"tests/golden/WBV2-P30-001/manifest.json",
|
||||
"docs/status/WBV2-P30-001.md"
|
||||
],
|
||||
"machineOnly": [
|
||||
"tests/golden/WBV2/task-index.json",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl"
|
||||
],
|
||||
"optionalByNeed": [
|
||||
"docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
||||
"任务卡列出的精确协议/生产路径",
|
||||
"任务卡明确命名的长期计划小节"
|
||||
],
|
||||
"forbiddenByDefault": [
|
||||
"完整 CURRENT_EXECUTION_PLAN.md",
|
||||
"完整 PROJECT_STATUS_AND_NEXT_WORK.md",
|
||||
"全部 docs/status/*.md",
|
||||
"完整 parity/WBS 计划",
|
||||
"README 历史和 test-results/"
|
||||
]
|
||||
},
|
||||
"parent": {
|
||||
"manifest": {
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P30-001",
|
||||
"parentTask": "WBV2-P30-000",
|
||||
"status": "done",
|
||||
"nextTask": "WBV2-P30-002",
|
||||
"artifactCount": 8
|
||||
},
|
||||
"statusSummary": [
|
||||
"# WBV2-P30-001 status",
|
||||
"- task: `WBV2-P30-001`; parent: `WBV2-P30-000`; status: `done`",
|
||||
"- source-backed implementation family: `ANIMATION.NLA_WORKBENCH`; marker: `animationRenderCommands`",
|
||||
"- Chromium receipts and completion overlay: `DEFERRED`",
|
||||
"- inventory unchanged: `6900/6618`, effective `290/6609`",
|
||||
"- nextTask: `WBV2-P30-002`"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1250,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 34,
|
||||
"taskTokens": 313
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2803,
|
||||
"lines": 51,
|
||||
"tokens": 701
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/WBV2-P30-002.md",
|
||||
"bytes": 1250,
|
||||
"lines": 34,
|
||||
"tokens": 313
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P30-001/manifest.json",
|
||||
"bytes": 1962,
|
||||
"lines": 56,
|
||||
"tokens": 491
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P30-001.md",
|
||||
"bytes": 325,
|
||||
"lines": 8,
|
||||
"tokens": 82
|
||||
}
|
||||
],
|
||||
"sourceTokens": 1587,
|
||||
"evidenceFiles": 0,
|
||||
"evidenceBytes": 0,
|
||||
"evidenceTokens": 0,
|
||||
"totalTokens": 1587,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 2611,
|
||||
"serializedContextTokens": 602,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
174
tests/golden/WBV2-P30-003/animation-render-task-plan.json
Normal file
174
tests/golden/WBV2-P30-003/animation-render-task-plan.json
Normal file
@@ -0,0 +1,174 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"planId": "BLENDER_WEB_ANIMATION_RENDER_IMPLEMENTATION_P30",
|
||||
"status": "ACTIVE_ANIMATION_RENDER_QUEUE",
|
||||
"authority": "user_authorized_implementation_first_execution",
|
||||
"executionPointer": "docs/EXECUTION_QUEUE.md",
|
||||
"runtimePolicy": {
|
||||
"blenderSource": "blender-5.2.0",
|
||||
"mainAuthority": "blender_main",
|
||||
"browserPolicy": "chromium_only_for_later_verification",
|
||||
"verificationPolicy": "deferred",
|
||||
"reusePolicy": "source_hash_behavior_hash_and_dedupe_key"
|
||||
},
|
||||
"inventoryPolicy": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"overlayMutation": "forbidden_during_implementation_wave"
|
||||
},
|
||||
"tasks": [
|
||||
{
|
||||
"id": "WBV2-P30-000",
|
||||
"phase": "P30",
|
||||
"title": "authorize_animation_render_workbench",
|
||||
"kind": "enabling",
|
||||
"owner": "PROGRAM",
|
||||
"dependsOn": [
|
||||
"WBV2-P29-004"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p30-000",
|
||||
"gate": "G1",
|
||||
"card": "docs/tasks/WBV2-P30-000.md",
|
||||
"behavior": "Authorize the next source-backed workbench implementation wave.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": true
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P30-001",
|
||||
"phase": "P30",
|
||||
"title": "implement_animation_nla_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "ANIMATION",
|
||||
"dependsOn": [
|
||||
"WBV2-P30-000"
|
||||
],
|
||||
"parityId": "ANIMATION.NLA_WORKBENCH",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p30-001",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P30-001.md",
|
||||
"behavior": "Expose active action, FCurve interpolation and NLA stack controls through the workbench.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P30-002",
|
||||
"phase": "P30",
|
||||
"title": "implement_camera_light_world_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "RENDER",
|
||||
"dependsOn": [
|
||||
"WBV2-P30-001"
|
||||
],
|
||||
"parityId": "RENDER.SCENE_PROPERTIES",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p30-002",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P30-002.md",
|
||||
"behavior": "Expose camera, light and world property commands through the workbench.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P30-003",
|
||||
"phase": "P30",
|
||||
"title": "implement_nonmesh_media_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "GEOMETRY",
|
||||
"dependsOn": [
|
||||
"WBV2-P30-002"
|
||||
],
|
||||
"parityId": "GEOMETRY.NON_MESH_MEDIA",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p30-003",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P30-003.md",
|
||||
"behavior": "Expose font, volume, metaball and non-mesh editing controls.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P30-004",
|
||||
"phase": "P30",
|
||||
"title": "run_p30_implementation_smoke",
|
||||
"kind": "enabling",
|
||||
"owner": "RELEASE",
|
||||
"dependsOn": [
|
||||
"WBV2-P30-003"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p30-004",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P30-004.md",
|
||||
"behavior": "Run bounded build and startup smoke after P30 implementation.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "in_progress",
|
||||
"ready": true,
|
||||
"queueMutationAllowed": false
|
||||
}
|
||||
]
|
||||
}
|
||||
27
tests/golden/WBV2-P30-003/implementation-report.json
Normal file
27
tests/golden/WBV2-P30-003/implementation-report.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P30-003",
|
||||
"operation": "IMPLEMENT_ANIMATION_RENDER_FAMILY",
|
||||
"status": "PASS",
|
||||
"family": "GEOMETRY.NON_MESH_MEDIA",
|
||||
"sourceBacked": true,
|
||||
"marker": "nonMeshGeometryCommands",
|
||||
"sourcePaths": [
|
||||
"web/protocol/nonmesh-geometry-commands.ts",
|
||||
"web/protocol/web-engine.ts",
|
||||
"web/app/src/app/App.tsx"
|
||||
],
|
||||
"verification": {
|
||||
"status": "DEFERRED",
|
||||
"chromium": false,
|
||||
"completionOverlay": false
|
||||
},
|
||||
"inventory": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609
|
||||
},
|
||||
"nextTask": "WBV2-P30-004"
|
||||
}
|
||||
55
tests/golden/WBV2-P30-003/manifest.json
Normal file
55
tests/golden/WBV2-P30-003/manifest.json
Normal file
@@ -0,0 +1,55 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P30-003",
|
||||
"parentTask": "WBV2-P30-002",
|
||||
"operation": "IMPLEMENT_ANIMATION_RENDER_FAMILY",
|
||||
"status": "done",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": false,
|
||||
"runtime": "SOURCE_BACKED_ANIMATION_RENDER_IMPLEMENTATION",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/WBV2-P30-002/manifest.json",
|
||||
"sha256": "f7c28f47ba0ad8a41c661c06194e5f85a249126913f0ed2b41591beb46d4285f"
|
||||
},
|
||||
"nonmesh_geometry_commands_ts": {
|
||||
"path": "web/protocol/nonmesh-geometry-commands.ts",
|
||||
"sha256": "3e10b86f4d0f09656540cd64fd7774859fc058ff3b0b11db89a664b96763571f"
|
||||
},
|
||||
"web_engine_ts": {
|
||||
"path": "web/protocol/web-engine.ts",
|
||||
"sha256": "3c4aba796afb70a6b29d34cca4ba924ffb1a240549b79730d1a639ca913ee896"
|
||||
},
|
||||
"App_tsx": {
|
||||
"path": "web/app/src/app/App.tsx",
|
||||
"sha256": "8c3ee6086716be3912a9597091642ee3416ee766a6aaedea7ca642ed7a9c3b53"
|
||||
},
|
||||
"report": {
|
||||
"path": "tests/golden/WBV2-P30-003/implementation-report.json",
|
||||
"sha256": "6d80b3e779b6ac30fa09bfca71d59da5147816894ece6cce923cf879676e3092"
|
||||
},
|
||||
"status": {
|
||||
"path": "docs/status/WBV2-P30-003.md",
|
||||
"sha256": "ad525773251ae023fdc73f3a6233122ae89bb17a896e7c5fd2823502e756253b"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/WBV2-P30-003/animation-render-task-plan.json",
|
||||
"sha256": "db8f746b031d3f65281ed2a10a26ab8b337c7a7639db12d5a53e8dab2d8fcaef"
|
||||
},
|
||||
"taskContext": {
|
||||
"path": "tests/golden/WBV2-P30-003/task-context.json",
|
||||
"sha256": "8612a41a9d609b1e2a82a6161cda90534bf1862637dafdde33de547dd7689aef"
|
||||
}
|
||||
},
|
||||
"assertions": {
|
||||
"capabilityFamily": "GEOMETRY.NON_MESH_MEDIA",
|
||||
"sourceBacked": true,
|
||||
"verificationDeferred": true,
|
||||
"completionOverlayWritten": false,
|
||||
"inventoryTotal": 6900,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"historicalReproduction": false
|
||||
},
|
||||
"nextTask": "WBV2-P30-004"
|
||||
}
|
||||
167
tests/golden/WBV2-P30-003/task-context.json
Normal file
167
tests/golden/WBV2-P30-003/task-context.json
Normal file
@@ -0,0 +1,167 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P30-003",
|
||||
"parentTask": "WBV2-P30-002",
|
||||
"status": "in_progress",
|
||||
"goal": "Expose font, volume, metaball and non-mesh editing controls.",
|
||||
"scope": {
|
||||
"gap": "GEOMETRY.NON_MESH_MEDIA",
|
||||
"ownerFamily": "GEOMETRY",
|
||||
"implementationClass": "SOURCE_BACKED"
|
||||
},
|
||||
"commands": [
|
||||
"node tools/web/check-task-context.mjs --task WBV2-P30-003 --write"
|
||||
],
|
||||
"inputPaths": [],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 3335,
|
||||
"contextRemainingTokens": 833
|
||||
},
|
||||
"source": {
|
||||
"bytes": 6569,
|
||||
"tokens": 1643
|
||||
},
|
||||
"selected": [],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
||||
"bytes": 254201,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "web/protocol/web-engine.ts",
|
||||
"bytes": 14979,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P30-003/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P30-003.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P30-003/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 0,
|
||||
"bytes": 0,
|
||||
"tokens": 0
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"nextTask": "WBV2-P30-004",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/WBV2-P30-003.md",
|
||||
"taskIndex": "tests/golden/WBV2/task-index.json",
|
||||
"parentManifest": "tests/golden/WBV2-P30-002/manifest.json",
|
||||
"parentStatus": "docs/status/WBV2-P30-002.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/WBV2-P30-003.md",
|
||||
"tests/golden/WBV2-P30-002/manifest.json",
|
||||
"docs/status/WBV2-P30-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-P30-002",
|
||||
"parentTask": "WBV2-P30-001",
|
||||
"status": "done",
|
||||
"nextTask": "WBV2-P30-003",
|
||||
"artifactCount": 9
|
||||
},
|
||||
"statusSummary": [
|
||||
"# WBV2-P30-002 status",
|
||||
"- task: `WBV2-P30-002`; parent: `WBV2-P30-001`; status: `done`",
|
||||
"- source-backed implementation family: `RENDER.SCENE_PROPERTIES`; marker: `set_render_properties`",
|
||||
"- Chromium receipts and completion overlay: `DEFERRED`",
|
||||
"- inventory unchanged: `6900/6618`, effective `290/6609`",
|
||||
"- nextTask: `WBV2-P30-003`"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1236,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 34,
|
||||
"taskTokens": 309
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2803,
|
||||
"lines": 51,
|
||||
"tokens": 701
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/WBV2-P30-003.md",
|
||||
"bytes": 1236,
|
||||
"lines": 34,
|
||||
"tokens": 309
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P30-002/manifest.json",
|
||||
"bytes": 2207,
|
||||
"lines": 60,
|
||||
"tokens": 552
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P30-002.md",
|
||||
"bytes": 323,
|
||||
"lines": 8,
|
||||
"tokens": 81
|
||||
}
|
||||
],
|
||||
"sourceTokens": 1643,
|
||||
"evidenceFiles": 0,
|
||||
"evidenceBytes": 0,
|
||||
"evidenceTokens": 0,
|
||||
"totalTokens": 1643,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 2667,
|
||||
"serializedContextTokens": 600,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
204
tests/golden/WBV2-P30-004/animation-render-task-plan.json
Normal file
204
tests/golden/WBV2-P30-004/animation-render-task-plan.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"planId": "BLENDER_WEB_ANIMATION_RENDER_IMPLEMENTATION_P30",
|
||||
"status": "ACTIVE_ANIMATION_RENDER_QUEUE",
|
||||
"authority": "user_authorized_implementation_first_execution",
|
||||
"executionPointer": "docs/EXECUTION_QUEUE.md",
|
||||
"runtimePolicy": {
|
||||
"blenderSource": "blender-5.2.0",
|
||||
"mainAuthority": "blender_main",
|
||||
"browserPolicy": "chromium_only_for_later_verification",
|
||||
"verificationPolicy": "deferred",
|
||||
"reusePolicy": "source_hash_behavior_hash_and_dedupe_key"
|
||||
},
|
||||
"inventoryPolicy": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"overlayMutation": "forbidden_during_implementation_wave"
|
||||
},
|
||||
"tasks": [
|
||||
{
|
||||
"id": "WBV2-P30-000",
|
||||
"phase": "P30",
|
||||
"title": "authorize_animation_render_workbench",
|
||||
"kind": "enabling",
|
||||
"owner": "PROGRAM",
|
||||
"dependsOn": [
|
||||
"WBV2-P29-004"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p30-000",
|
||||
"gate": "G1",
|
||||
"card": "docs/tasks/WBV2-P30-000.md",
|
||||
"behavior": "Authorize the next source-backed workbench implementation wave.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": true
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P30-001",
|
||||
"phase": "P30",
|
||||
"title": "implement_animation_nla_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "ANIMATION",
|
||||
"dependsOn": [
|
||||
"WBV2-P30-000"
|
||||
],
|
||||
"parityId": "ANIMATION.NLA_WORKBENCH",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p30-001",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P30-001.md",
|
||||
"behavior": "Expose active action, FCurve interpolation and NLA stack controls through the workbench.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P30-002",
|
||||
"phase": "P30",
|
||||
"title": "implement_camera_light_world_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "RENDER",
|
||||
"dependsOn": [
|
||||
"WBV2-P30-001"
|
||||
],
|
||||
"parityId": "RENDER.SCENE_PROPERTIES",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p30-002",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P30-002.md",
|
||||
"behavior": "Expose camera, light and world property commands through the workbench.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P30-003",
|
||||
"phase": "P30",
|
||||
"title": "implement_nonmesh_media_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "GEOMETRY",
|
||||
"dependsOn": [
|
||||
"WBV2-P30-002"
|
||||
],
|
||||
"parityId": "GEOMETRY.NON_MESH_MEDIA",
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p30-003",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P30-003.md",
|
||||
"behavior": "Expose font, volume, metaball and non-mesh editing controls.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P30-004",
|
||||
"phase": "P30",
|
||||
"title": "run_p30_implementation_smoke",
|
||||
"kind": "enabling",
|
||||
"owner": "RELEASE",
|
||||
"dependsOn": [
|
||||
"WBV2-P30-003"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p30-004",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P30-004.md",
|
||||
"behavior": "Run bounded build and startup smoke after P30 implementation.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P31-000",
|
||||
"phase": "P31",
|
||||
"title": "authorize_resource_scene_workbench",
|
||||
"kind": "enabling",
|
||||
"owner": "PROGRAM",
|
||||
"dependsOn": [
|
||||
"WBV2-P30-004"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p31-000",
|
||||
"gate": "G1",
|
||||
"card": "docs/tasks/WBV2-P31-000.md",
|
||||
"behavior": "Authorize the next source-backed resource and scene-data implementation wave.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "in_progress",
|
||||
"ready": true,
|
||||
"queueMutationAllowed": true
|
||||
}
|
||||
]
|
||||
}
|
||||
26
tests/golden/WBV2-P30-004/implementation-report.json
Normal file
26
tests/golden/WBV2-P30-004/implementation-report.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P30-004",
|
||||
"operation": "IMPLEMENT_ANIMATION_RENDER_FAMILY",
|
||||
"status": "PASS",
|
||||
"family": "P30.IMPLEMENTATION_SMOKE",
|
||||
"sourceBacked": true,
|
||||
"marker": "applyCommand",
|
||||
"sourcePaths": [
|
||||
"web/app/src/workers/web-engine.worker.ts",
|
||||
"web/app/src/vendor/blender/web_engine.wasm"
|
||||
],
|
||||
"verification": {
|
||||
"status": "DEFERRED",
|
||||
"chromium": false,
|
||||
"completionOverlay": false
|
||||
},
|
||||
"inventory": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609
|
||||
},
|
||||
"nextTask": "WBV2-P31-000"
|
||||
}
|
||||
51
tests/golden/WBV2-P30-004/manifest.json
Normal file
51
tests/golden/WBV2-P30-004/manifest.json
Normal file
@@ -0,0 +1,51 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P30-004",
|
||||
"parentTask": "WBV2-P30-003",
|
||||
"operation": "IMPLEMENT_ANIMATION_RENDER_FAMILY",
|
||||
"status": "done",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": false,
|
||||
"runtime": "SOURCE_BACKED_ANIMATION_RENDER_IMPLEMENTATION",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/WBV2-P30-003/manifest.json",
|
||||
"sha256": "6def8574794ea45d53894095ceef1f566a30440ceb9288db88e662dbb3148d22"
|
||||
},
|
||||
"web_engine_worker_ts": {
|
||||
"path": "web/app/src/workers/web-engine.worker.ts",
|
||||
"sha256": "72242855c47eb33b1f440f3a586f290e074876bda6e5c1369d83444b0cb3e0af"
|
||||
},
|
||||
"web_engine_wasm": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"sha256": "e04c9c06fa2db509acf210290cfd132acae68597964952869f133d51a8c0d9ff"
|
||||
},
|
||||
"report": {
|
||||
"path": "tests/golden/WBV2-P30-004/implementation-report.json",
|
||||
"sha256": "d73f511902315b2b7167c254ae0de035d1ae712d15f24a5b13d427448db6c96c"
|
||||
},
|
||||
"status": {
|
||||
"path": "docs/status/WBV2-P30-004.md",
|
||||
"sha256": "4677538c42fea9c609dd08ed09e0d8887baea86547a40ad47f7632b20629f00f"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/WBV2-P30-004/animation-render-task-plan.json",
|
||||
"sha256": "6f704f67540215ec885a400ad7d48cc1aebcae0521239ecd2072d2e1c94b6767"
|
||||
},
|
||||
"taskContext": {
|
||||
"path": "tests/golden/WBV2-P30-004/task-context.json",
|
||||
"sha256": "293f9f2a050ec5452253f53f00c8f6ae7384a639c2f33887bbb4fa2085fdbabe"
|
||||
}
|
||||
},
|
||||
"assertions": {
|
||||
"capabilityFamily": "P30.IMPLEMENTATION_SMOKE",
|
||||
"sourceBacked": true,
|
||||
"verificationDeferred": true,
|
||||
"completionOverlayWritten": false,
|
||||
"inventoryTotal": 6900,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"historicalReproduction": false
|
||||
},
|
||||
"nextTask": "WBV2-P31-000"
|
||||
}
|
||||
167
tests/golden/WBV2-P30-004/task-context.json
Normal file
167
tests/golden/WBV2-P30-004/task-context.json
Normal file
@@ -0,0 +1,167 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P30-004",
|
||||
"parentTask": "WBV2-P30-003",
|
||||
"status": "in_progress",
|
||||
"goal": "Run bounded build and startup smoke after P30 implementation.",
|
||||
"scope": {
|
||||
"gap": "workflow:run_p30_implementation_smoke",
|
||||
"ownerFamily": "RELEASE",
|
||||
"implementationClass": "SOURCE_BACKED"
|
||||
},
|
||||
"commands": [
|
||||
"node tools/web/check-task-context.mjs --task WBV2-P30-004 --write"
|
||||
],
|
||||
"inputPaths": [],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 3569,
|
||||
"contextRemainingTokens": 890
|
||||
},
|
||||
"source": {
|
||||
"bytes": 6335,
|
||||
"tokens": 1586
|
||||
},
|
||||
"selected": [],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
||||
"bytes": 254201,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "web/protocol/web-engine.ts",
|
||||
"bytes": 14979,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P30-004/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P30-004.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P30-004/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 0,
|
||||
"bytes": 0,
|
||||
"tokens": 0
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"nextTask": "WBV2-P31-000",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/WBV2-P30-004.md",
|
||||
"taskIndex": "tests/golden/WBV2/task-index.json",
|
||||
"parentManifest": "tests/golden/WBV2-P30-003/manifest.json",
|
||||
"parentStatus": "docs/status/WBV2-P30-003.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/WBV2-P30-004.md",
|
||||
"tests/golden/WBV2-P30-003/manifest.json",
|
||||
"docs/status/WBV2-P30-003.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-P30-003",
|
||||
"parentTask": "WBV2-P30-002",
|
||||
"status": "done",
|
||||
"nextTask": "WBV2-P30-004",
|
||||
"artifactCount": 8
|
||||
},
|
||||
"statusSummary": [
|
||||
"# WBV2-P30-003 status",
|
||||
"- task: `WBV2-P30-003`; parent: `WBV2-P30-002`; status: `done`",
|
||||
"- source-backed implementation family: `GEOMETRY.NON_MESH_MEDIA`; marker: `nonMeshGeometryCommands`",
|
||||
"- Chromium receipts and completion overlay: `DEFERRED`",
|
||||
"- inventory unchanged: `6900/6618`, effective `290/6609`",
|
||||
"- nextTask: `WBV2-P30-004`"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1245,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 34,
|
||||
"taskTokens": 312
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2803,
|
||||
"lines": 51,
|
||||
"tokens": 701
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/WBV2-P30-004.md",
|
||||
"bytes": 1245,
|
||||
"lines": 34,
|
||||
"tokens": 312
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P30-003/manifest.json",
|
||||
"bytes": 1962,
|
||||
"lines": 56,
|
||||
"tokens": 491
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P30-003.md",
|
||||
"bytes": 325,
|
||||
"lines": 8,
|
||||
"tokens": 82
|
||||
}
|
||||
],
|
||||
"sourceTokens": 1586,
|
||||
"evidenceFiles": 0,
|
||||
"evidenceBytes": 0,
|
||||
"evidenceTokens": 0,
|
||||
"totalTokens": 1586,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 2610,
|
||||
"serializedContextTokens": 603,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
38
tests/golden/WBV2-P31-000/manifest.json
Normal file
38
tests/golden/WBV2-P31-000/manifest.json
Normal file
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P31-000",
|
||||
"parentTask": "WBV2-P30-004",
|
||||
"operation": "AUTHORIZE_RESOURCE_SCENE_WORKBENCH",
|
||||
"status": "done",
|
||||
"enablingTask": true,
|
||||
"parityStateChange": false,
|
||||
"runtime": "SOURCE_BACKED_RESOURCE_SCENE_QUEUE",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/WBV2-P30-004/manifest.json",
|
||||
"sha256": "04063de92571c27ff5bd0177b5aa76f9a04853e983d114fbaa2936300739511c"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/WBV2-P31-000/resource-scene-task-plan.json",
|
||||
"sha256": "cf566325b181ad62a28d8922b932563e5ed5e642b6fbd3b84e6f490f0da8c7ce"
|
||||
},
|
||||
"report": {
|
||||
"path": "tests/golden/WBV2-P31-000/resource-scene-root-report.json",
|
||||
"sha256": "a01a1452b487155ef92b584adc52d7ee851a6469105dea97b28113f24213b260"
|
||||
},
|
||||
"status": {
|
||||
"path": "docs/status/WBV2-P31-000.md",
|
||||
"sha256": "60d580b1c919e83bcf9cb177dc3a1b735c53eb114f842ea437e00f0b8c3e3881"
|
||||
}
|
||||
},
|
||||
"assertions": {
|
||||
"plannedTasks": 4,
|
||||
"verificationDeferred": true,
|
||||
"completionOverlayWritten": false,
|
||||
"inventoryTotal": 6900,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"historicalReproduction": false
|
||||
},
|
||||
"nextTask": "WBV2-P31-001"
|
||||
}
|
||||
33
tests/golden/WBV2-P31-000/resource-scene-root-report.json
Normal file
33
tests/golden/WBV2-P31-000/resource-scene-root-report.json
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P31-000",
|
||||
"operation": "AUTHORIZE_RESOURCE_SCENE_WORKBENCH",
|
||||
"status": "PASS",
|
||||
"parent": {
|
||||
"task": "WBV2-P30-004",
|
||||
"manifest": "tests/golden/WBV2-P30-004/manifest.json",
|
||||
"manifestSha256": "b866177dd1e3f99206beeb82c28cd4487da5fb5310971a745de981a9b3b155d3"
|
||||
},
|
||||
"scope": {
|
||||
"firstTask": "WBV2-P31-001",
|
||||
"plannedTasks": [
|
||||
"WBV2-P31-000",
|
||||
"WBV2-P31-001",
|
||||
"WBV2-P31-002",
|
||||
"WBV2-P31-003"
|
||||
]
|
||||
},
|
||||
"verification": {
|
||||
"status": "DEFERRED",
|
||||
"chromium": false,
|
||||
"completionOverlay": false
|
||||
},
|
||||
"inventory": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609
|
||||
},
|
||||
"nextTask": "WBV2-P31-001"
|
||||
}
|
||||
150
tests/golden/WBV2-P31-000/resource-scene-task-plan.json
Normal file
150
tests/golden/WBV2-P31-000/resource-scene-task-plan.json
Normal file
@@ -0,0 +1,150 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"planId": "BLENDER_WEB_RESOURCE_SCENE_IMPLEMENTATION_P31",
|
||||
"status": "ACTIVE_RESOURCE_SCENE_QUEUE",
|
||||
"authority": "user_authorized_implementation_first_execution",
|
||||
"executionPointer": "docs/EXECUTION_QUEUE.md",
|
||||
"runtimePolicy": {
|
||||
"blenderSource": "blender-5.2.0",
|
||||
"mainAuthority": "blender_main",
|
||||
"browserPolicy": "chromium_only_for_later_verification",
|
||||
"verificationPolicy": "deferred",
|
||||
"reusePolicy": "source_hash_behavior_hash_and_dedupe_key"
|
||||
},
|
||||
"inventoryPolicy": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"overlayMutation": "forbidden_during_implementation_wave"
|
||||
},
|
||||
"tasks": [
|
||||
{
|
||||
"id": "WBV2-P31-000",
|
||||
"title": "authorize_resource_scene_workbench",
|
||||
"owner": "PROGRAM",
|
||||
"parent": "WBV2-P30-004",
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"kind": "enabling",
|
||||
"behavior": "Authorize the next source-backed resource and scene-data implementation wave.",
|
||||
"dependsOn": [
|
||||
"WBV2-P30-004"
|
||||
],
|
||||
"phase": "P31",
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p31-000",
|
||||
"gate": "G1",
|
||||
"card": "docs/tasks/WBV2-P31-000.md",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"queueMutationAllowed": true
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P31-001",
|
||||
"title": "implement_resource_workbench",
|
||||
"owner": "IO",
|
||||
"parent": "WBV2-P31-000",
|
||||
"status": "in_progress",
|
||||
"ready": true,
|
||||
"kind": "feature",
|
||||
"family": "IO.RESOURCE_WORKBENCH",
|
||||
"behavior": "Expose packed VFonts, sounds, speakers, text blocks, textures and particle settings through a bounded resource workbench.",
|
||||
"dependsOn": [
|
||||
"WBV2-P31-000"
|
||||
],
|
||||
"phase": "P31",
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p31-001",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P31-001.md",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P31-002",
|
||||
"title": "implement_text_datablock_authoring",
|
||||
"owner": "IO",
|
||||
"parent": "WBV2-P31-001",
|
||||
"status": "planned",
|
||||
"ready": false,
|
||||
"kind": "feature",
|
||||
"family": "IO.TEXT_DATABLOCK",
|
||||
"behavior": "Connect a typed text-source command to Blender Main Text datablocks with bounded persistence.",
|
||||
"dependsOn": [
|
||||
"WBV2-P31-001"
|
||||
],
|
||||
"phase": "P31",
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p31-002",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P31-002.md",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P31-003",
|
||||
"title": "run_p31_implementation_smoke",
|
||||
"owner": "RELEASE",
|
||||
"parent": "WBV2-P31-002",
|
||||
"status": "planned",
|
||||
"ready": false,
|
||||
"kind": "enabling",
|
||||
"behavior": "Run the bounded production build smoke after P31 resource implementation.",
|
||||
"dependsOn": [
|
||||
"WBV2-P31-002"
|
||||
],
|
||||
"phase": "P31",
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p31-003",
|
||||
"gate": "G1",
|
||||
"card": "docs/tasks/WBV2-P31-003.md",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"queueMutationAllowed": true
|
||||
}
|
||||
]
|
||||
}
|
||||
162
tests/golden/WBV2-P31-000/task-context.json
Normal file
162
tests/golden/WBV2-P31-000/task-context.json
Normal file
@@ -0,0 +1,162 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P31-000",
|
||||
"parentTask": "WBV2-P30-004",
|
||||
"status": "done",
|
||||
"goal": "Authorize the next source-backed resource and scene-data implementation wave.",
|
||||
"scope": {
|
||||
"gap": "workflow:authorize_resource_scene_workbench",
|
||||
"ownerFamily": "PROGRAM",
|
||||
"implementationClass": "SOURCE_BACKED"
|
||||
},
|
||||
"commands": [
|
||||
"node tools/web/check-task-context.mjs --task WBV2-P31-000 --write"
|
||||
],
|
||||
"inputPaths": [],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 3660,
|
||||
"contextRemainingTokens": 914
|
||||
},
|
||||
"source": {
|
||||
"bytes": 6244,
|
||||
"tokens": 1562
|
||||
},
|
||||
"selected": [],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "web/protocol/web-engine.ts",
|
||||
"bytes": 14979,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P31-000/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P31-000.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P31-000/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 0,
|
||||
"bytes": 0,
|
||||
"tokens": 0
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"nextTask": "WBV2-P31-001",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/WBV2-P31-000.md",
|
||||
"taskIndex": "tests/golden/WBV2/task-index.json",
|
||||
"parentManifest": "tests/golden/WBV2-P30-004/manifest.json",
|
||||
"parentStatus": "docs/status/WBV2-P30-004.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/WBV2-P31-000.md",
|
||||
"tests/golden/WBV2-P30-004/manifest.json",
|
||||
"docs/status/WBV2-P30-004.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-P30-004",
|
||||
"parentTask": "WBV2-P30-003",
|
||||
"status": "done",
|
||||
"nextTask": "WBV2-P31-000",
|
||||
"artifactCount": 7
|
||||
},
|
||||
"statusSummary": [
|
||||
"# WBV2-P30-004 status",
|
||||
"- task: `WBV2-P30-004`; parent: `WBV2-P30-003`; status: `done`",
|
||||
"- source-backed implementation family: `P30.IMPLEMENTATION_SMOKE`; marker: `applyCommand`",
|
||||
"- Chromium receipts and completion overlay: `DEFERRED`",
|
||||
"- inventory unchanged: `6900/6618`, effective `290/6609`",
|
||||
"- nextTask: `WBV2-P31-000`"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1302,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 326
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2803,
|
||||
"lines": 51,
|
||||
"tokens": 701
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/WBV2-P31-000.md",
|
||||
"bytes": 1302,
|
||||
"lines": 38,
|
||||
"tokens": 326
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P30-004/manifest.json",
|
||||
"bytes": 1824,
|
||||
"lines": 52,
|
||||
"tokens": 456
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P30-004.md",
|
||||
"bytes": 315,
|
||||
"lines": 8,
|
||||
"tokens": 79
|
||||
}
|
||||
],
|
||||
"sourceTokens": 1562,
|
||||
"evidenceFiles": 0,
|
||||
"evidenceBytes": 0,
|
||||
"evidenceTokens": 0,
|
||||
"totalTokens": 1562,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 2586,
|
||||
"serializedContextTokens": 607,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
30
tests/golden/WBV2-P31-001/implementation-report.json
Normal file
30
tests/golden/WBV2-P31-001/implementation-report.json
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P31-001",
|
||||
"operation": "IMPLEMENT_RESOURCE_SCENE_FAMILY",
|
||||
"status": "PASS",
|
||||
"family": "IO.RESOURCE_WORKBENCH",
|
||||
"sourceBacked": true,
|
||||
"implementation": {
|
||||
"marker": "resource-scene-workbench",
|
||||
"sourcePaths": [
|
||||
"web/app/src/app/App.tsx",
|
||||
"web/protocol/scene-ir.ts"
|
||||
],
|
||||
"duplicateShimAdded": false
|
||||
},
|
||||
"verification": {
|
||||
"status": "DEFERRED",
|
||||
"chromium": false,
|
||||
"receipts": false,
|
||||
"completionOverlay": false
|
||||
},
|
||||
"inventory": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609
|
||||
},
|
||||
"nextTask": "WBV2-P31-002"
|
||||
}
|
||||
52
tests/golden/WBV2-P31-001/manifest.json
Normal file
52
tests/golden/WBV2-P31-001/manifest.json
Normal file
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P31-001",
|
||||
"parentTask": "WBV2-P31-000",
|
||||
"operation": "IMPLEMENT_RESOURCE_SCENE_FAMILY",
|
||||
"status": "done",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": false,
|
||||
"runtime": "SOURCE_BACKED_RESOURCE_SCENE_IMPLEMENTATION",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/WBV2-P31-000/manifest.json",
|
||||
"sha256": "0f3ad23c080f95308d722df0090737e7ba59e53d08d5077712eed914e2fd8ac8"
|
||||
},
|
||||
"source1": {
|
||||
"path": "web/app/src/app/App.tsx",
|
||||
"sha256": "8c3ee6086716be3912a9597091642ee3416ee766a6aaedea7ca642ed7a9c3b53"
|
||||
},
|
||||
"source2": {
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"sha256": "7c3582a11cfbab47ebb0dced99034a43591500f70ca2a24c58bd5dc183d977cb"
|
||||
},
|
||||
"report": {
|
||||
"path": "tests/golden/WBV2-P31-001/implementation-report.json",
|
||||
"sha256": "75f53034a35f443ef6f58e972050249e3dd8b9640bcb9a7c5338216533e8af07"
|
||||
},
|
||||
"status": {
|
||||
"path": "docs/status/WBV2-P31-001.md",
|
||||
"sha256": "ee54bf80083e41d6ee9b798b089eafe78f182759e8185471f8cb85cf17eeafcc"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/WBV2-P31-001/resource-scene-task-plan.json",
|
||||
"sha256": "7b1acf841f0e08afe0c4bfb4ebadc9fb88210e9f8501faf43ef3f9379ac08480"
|
||||
},
|
||||
"taskContext": {
|
||||
"path": "tests/golden/WBV2-P31-001/task-context.json",
|
||||
"sha256": "3f6d65e5ccf5f4183b9bbafc0c3f245349ec6254d66d20ea1ae0125fdc533ef7"
|
||||
}
|
||||
},
|
||||
"assertions": {
|
||||
"capabilityFamily": "IO.RESOURCE_WORKBENCH",
|
||||
"sourceBacked": true,
|
||||
"unsupportedFailsClosed": true,
|
||||
"verificationDeferred": true,
|
||||
"completionOverlayWritten": false,
|
||||
"inventoryTotal": 6900,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"historicalReproduction": false
|
||||
},
|
||||
"nextTask": "WBV2-P31-002"
|
||||
}
|
||||
150
tests/golden/WBV2-P31-001/resource-scene-task-plan.json
Normal file
150
tests/golden/WBV2-P31-001/resource-scene-task-plan.json
Normal file
@@ -0,0 +1,150 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"planId": "BLENDER_WEB_RESOURCE_SCENE_IMPLEMENTATION_P31",
|
||||
"status": "ACTIVE_RESOURCE_SCENE_QUEUE",
|
||||
"authority": "user_authorized_implementation_first_execution",
|
||||
"executionPointer": "docs/EXECUTION_QUEUE.md",
|
||||
"runtimePolicy": {
|
||||
"blenderSource": "blender-5.2.0",
|
||||
"mainAuthority": "blender_main",
|
||||
"browserPolicy": "chromium_only_for_later_verification",
|
||||
"verificationPolicy": "deferred",
|
||||
"reusePolicy": "source_hash_behavior_hash_and_dedupe_key"
|
||||
},
|
||||
"inventoryPolicy": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"overlayMutation": "forbidden_during_implementation_wave"
|
||||
},
|
||||
"tasks": [
|
||||
{
|
||||
"id": "WBV2-P31-000",
|
||||
"title": "authorize_resource_scene_workbench",
|
||||
"owner": "PROGRAM",
|
||||
"parent": "WBV2-P30-004",
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"kind": "enabling",
|
||||
"behavior": "Authorize the next source-backed resource and scene-data implementation wave.",
|
||||
"dependsOn": [
|
||||
"WBV2-P30-004"
|
||||
],
|
||||
"phase": "P31",
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p31-000",
|
||||
"gate": "G1",
|
||||
"card": "docs/tasks/WBV2-P31-000.md",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"queueMutationAllowed": true
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P31-001",
|
||||
"title": "implement_resource_workbench",
|
||||
"owner": "IO",
|
||||
"parent": "WBV2-P31-000",
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"kind": "feature",
|
||||
"family": "IO.RESOURCE_WORKBENCH",
|
||||
"behavior": "Expose packed VFonts, sounds, speakers, text blocks, textures and particle settings through a bounded resource workbench.",
|
||||
"dependsOn": [
|
||||
"WBV2-P31-000"
|
||||
],
|
||||
"phase": "P31",
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p31-001",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P31-001.md",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P31-002",
|
||||
"title": "implement_text_datablock_authoring",
|
||||
"owner": "IO",
|
||||
"parent": "WBV2-P31-001",
|
||||
"status": "in_progress",
|
||||
"ready": true,
|
||||
"kind": "feature",
|
||||
"family": "IO.TEXT_DATABLOCK",
|
||||
"behavior": "Connect a typed text-source command to Blender Main Text datablocks with bounded persistence.",
|
||||
"dependsOn": [
|
||||
"WBV2-P31-001"
|
||||
],
|
||||
"phase": "P31",
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p31-002",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P31-002.md",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P31-003",
|
||||
"title": "run_p31_implementation_smoke",
|
||||
"owner": "RELEASE",
|
||||
"parent": "WBV2-P31-002",
|
||||
"status": "planned",
|
||||
"ready": false,
|
||||
"kind": "enabling",
|
||||
"behavior": "Run the bounded production build smoke after P31 resource implementation.",
|
||||
"dependsOn": [
|
||||
"WBV2-P31-002"
|
||||
],
|
||||
"phase": "P31",
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p31-003",
|
||||
"gate": "G1",
|
||||
"card": "docs/tasks/WBV2-P31-003.md",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"queueMutationAllowed": true
|
||||
}
|
||||
]
|
||||
}
|
||||
162
tests/golden/WBV2-P31-001/task-context.json
Normal file
162
tests/golden/WBV2-P31-001/task-context.json
Normal file
@@ -0,0 +1,162 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P31-001",
|
||||
"parentTask": "WBV2-P31-000",
|
||||
"status": "in_progress",
|
||||
"goal": "Expose packed VFonts, sounds, speakers, text blocks, textures and particle settings through a bounded resource workbench.",
|
||||
"scope": {
|
||||
"gap": "IO.RESOURCE_WORKBENCH",
|
||||
"ownerFamily": "IO",
|
||||
"implementationClass": "SOURCE_BACKED"
|
||||
},
|
||||
"commands": [
|
||||
"node tools/web/check-task-context.mjs --task WBV2-P31-001 --write"
|
||||
],
|
||||
"inputPaths": [],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 4165,
|
||||
"contextRemainingTokens": 1040
|
||||
},
|
||||
"source": {
|
||||
"bytes": 5739,
|
||||
"tokens": 1436
|
||||
},
|
||||
"selected": [],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "web/protocol/web-engine.ts",
|
||||
"bytes": 14979,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P31-001/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P31-001.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P31-001/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 0,
|
||||
"bytes": 0,
|
||||
"tokens": 0
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"nextTask": "WBV2-P31-002",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/WBV2-P31-001.md",
|
||||
"taskIndex": "tests/golden/WBV2/task-index.json",
|
||||
"parentManifest": "tests/golden/WBV2-P31-000/manifest.json",
|
||||
"parentStatus": "docs/status/WBV2-P31-000.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/WBV2-P31-001.md",
|
||||
"tests/golden/WBV2-P31-000/manifest.json",
|
||||
"docs/status/WBV2-P31-000.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-P31-000",
|
||||
"parentTask": "WBV2-P30-004",
|
||||
"status": "done",
|
||||
"nextTask": "WBV2-P31-001",
|
||||
"artifactCount": 4
|
||||
},
|
||||
"statusSummary": [
|
||||
"# WBV2-P31-000 status",
|
||||
"- task: `WBV2-P31-000`; parent: `WBV2-P30-004`; status: `done`",
|
||||
"- resource and scene-data implementation wave authorized",
|
||||
"- verification receipts and completion overlays: `DEFERRED`",
|
||||
"- inventory unchanged: `6900` total, `281` legacy completed, `6618` legacy pending, `290/6609` effective carried forward",
|
||||
"- nextTask: `WBV2-P31-001`"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1349,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 338
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2803,
|
||||
"lines": 51,
|
||||
"tokens": 701
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/WBV2-P31-001.md",
|
||||
"bytes": 1349,
|
||||
"lines": 38,
|
||||
"tokens": 338
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P31-000/manifest.json",
|
||||
"bytes": 1236,
|
||||
"lines": 39,
|
||||
"tokens": 309
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P31-000.md",
|
||||
"bytes": 351,
|
||||
"lines": 8,
|
||||
"tokens": 88
|
||||
}
|
||||
],
|
||||
"sourceTokens": 1436,
|
||||
"evidenceFiles": 0,
|
||||
"evidenceBytes": 0,
|
||||
"evidenceTokens": 0,
|
||||
"totalTokens": 1436,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 2460,
|
||||
"serializedContextTokens": 613,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
34
tests/golden/WBV2-P31-002/implementation-report.json
Normal file
34
tests/golden/WBV2-P31-002/implementation-report.json
Normal file
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P31-002",
|
||||
"operation": "IMPLEMENT_RESOURCE_SCENE_FAMILY",
|
||||
"status": "PASS",
|
||||
"family": "IO.TEXT_DATABLOCK",
|
||||
"sourceBacked": true,
|
||||
"implementation": {
|
||||
"marker": "web_engine_blend_main_set_text_source",
|
||||
"sourcePaths": [
|
||||
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
||||
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
||||
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
||||
"web/protocol/web-engine.ts",
|
||||
"web/app/src/workers/web-engine.worker.ts",
|
||||
"web/app/src/app/App.tsx"
|
||||
],
|
||||
"duplicateShimAdded": false
|
||||
},
|
||||
"verification": {
|
||||
"status": "DEFERRED",
|
||||
"chromium": false,
|
||||
"receipts": false,
|
||||
"completionOverlay": false
|
||||
},
|
||||
"inventory": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609
|
||||
},
|
||||
"nextTask": "WBV2-P31-003"
|
||||
}
|
||||
68
tests/golden/WBV2-P31-002/manifest.json
Normal file
68
tests/golden/WBV2-P31-002/manifest.json
Normal file
@@ -0,0 +1,68 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P31-002",
|
||||
"parentTask": "WBV2-P31-001",
|
||||
"operation": "IMPLEMENT_RESOURCE_SCENE_FAMILY",
|
||||
"status": "done",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": false,
|
||||
"runtime": "SOURCE_BACKED_RESOURCE_SCENE_IMPLEMENTATION",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/WBV2-P31-001/manifest.json",
|
||||
"sha256": "9d0e856506d562e42fa23d7a7c7c75320e4d506566eb27f48d212a6b188f53ee"
|
||||
},
|
||||
"source1": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
||||
"sha256": "7803654bf15db8645b65e0653eb3599b46f969d65c5a1a365daeee51079259d4"
|
||||
},
|
||||
"source2": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
||||
"sha256": "d689575a2a8496acf50b5b8cafbb1f26b80de54ed7735a2bf1507b01f072f568"
|
||||
},
|
||||
"source3": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
||||
"sha256": "6a3eebde527f029fce7666a080e8cac1a60de944aee372bfe772ee6e2adabbdf"
|
||||
},
|
||||
"source4": {
|
||||
"path": "web/protocol/web-engine.ts",
|
||||
"sha256": "3c4aba796afb70a6b29d34cca4ba924ffb1a240549b79730d1a639ca913ee896"
|
||||
},
|
||||
"source5": {
|
||||
"path": "web/app/src/workers/web-engine.worker.ts",
|
||||
"sha256": "72242855c47eb33b1f440f3a586f290e074876bda6e5c1369d83444b0cb3e0af"
|
||||
},
|
||||
"source6": {
|
||||
"path": "web/app/src/app/App.tsx",
|
||||
"sha256": "8c3ee6086716be3912a9597091642ee3416ee766a6aaedea7ca642ed7a9c3b53"
|
||||
},
|
||||
"report": {
|
||||
"path": "tests/golden/WBV2-P31-002/implementation-report.json",
|
||||
"sha256": "cc4372f305a024e7cb14b7dbc3d96e1ed015872353b0f284119c7b2c1fd7830f"
|
||||
},
|
||||
"status": {
|
||||
"path": "docs/status/WBV2-P31-002.md",
|
||||
"sha256": "600b3c7ed3882db0829a65db2b394ce03883335b7f44319493804768ab8b0765"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/WBV2-P31-002/resource-scene-task-plan.json",
|
||||
"sha256": "ecf8fdcd3e479a7aae279755534e0783f2181f5c0edf9026767ba371d805c8e0"
|
||||
},
|
||||
"taskContext": {
|
||||
"path": "tests/golden/WBV2-P31-002/task-context.json",
|
||||
"sha256": "21548c06fb936d80ef1ea8083d7682c8a8a9faa7fb61aa10618412f9f0615537"
|
||||
}
|
||||
},
|
||||
"assertions": {
|
||||
"capabilityFamily": "IO.TEXT_DATABLOCK",
|
||||
"sourceBacked": true,
|
||||
"unsupportedFailsClosed": true,
|
||||
"verificationDeferred": true,
|
||||
"completionOverlayWritten": false,
|
||||
"inventoryTotal": 6900,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"historicalReproduction": false
|
||||
},
|
||||
"nextTask": "WBV2-P31-003"
|
||||
}
|
||||
150
tests/golden/WBV2-P31-002/resource-scene-task-plan.json
Normal file
150
tests/golden/WBV2-P31-002/resource-scene-task-plan.json
Normal file
@@ -0,0 +1,150 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"planId": "BLENDER_WEB_RESOURCE_SCENE_IMPLEMENTATION_P31",
|
||||
"status": "ACTIVE_RESOURCE_SCENE_QUEUE",
|
||||
"authority": "user_authorized_implementation_first_execution",
|
||||
"executionPointer": "docs/EXECUTION_QUEUE.md",
|
||||
"runtimePolicy": {
|
||||
"blenderSource": "blender-5.2.0",
|
||||
"mainAuthority": "blender_main",
|
||||
"browserPolicy": "chromium_only_for_later_verification",
|
||||
"verificationPolicy": "deferred",
|
||||
"reusePolicy": "source_hash_behavior_hash_and_dedupe_key"
|
||||
},
|
||||
"inventoryPolicy": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"overlayMutation": "forbidden_during_implementation_wave"
|
||||
},
|
||||
"tasks": [
|
||||
{
|
||||
"id": "WBV2-P31-000",
|
||||
"title": "authorize_resource_scene_workbench",
|
||||
"owner": "PROGRAM",
|
||||
"parent": "WBV2-P30-004",
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"kind": "enabling",
|
||||
"behavior": "Authorize the next source-backed resource and scene-data implementation wave.",
|
||||
"dependsOn": [
|
||||
"WBV2-P30-004"
|
||||
],
|
||||
"phase": "P31",
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p31-000",
|
||||
"gate": "G1",
|
||||
"card": "docs/tasks/WBV2-P31-000.md",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"queueMutationAllowed": true
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P31-001",
|
||||
"title": "implement_resource_workbench",
|
||||
"owner": "IO",
|
||||
"parent": "WBV2-P31-000",
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"kind": "feature",
|
||||
"family": "IO.RESOURCE_WORKBENCH",
|
||||
"behavior": "Expose packed VFonts, sounds, speakers, text blocks, textures and particle settings through a bounded resource workbench.",
|
||||
"dependsOn": [
|
||||
"WBV2-P31-000"
|
||||
],
|
||||
"phase": "P31",
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p31-001",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P31-001.md",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P31-002",
|
||||
"title": "implement_text_datablock_authoring",
|
||||
"owner": "IO",
|
||||
"parent": "WBV2-P31-001",
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"kind": "feature",
|
||||
"family": "IO.TEXT_DATABLOCK",
|
||||
"behavior": "Connect a typed text-source command to Blender Main Text datablocks with bounded persistence.",
|
||||
"dependsOn": [
|
||||
"WBV2-P31-001"
|
||||
],
|
||||
"phase": "P31",
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p31-002",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P31-002.md",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P31-003",
|
||||
"title": "run_p31_implementation_smoke",
|
||||
"owner": "RELEASE",
|
||||
"parent": "WBV2-P31-002",
|
||||
"status": "in_progress",
|
||||
"ready": true,
|
||||
"kind": "enabling",
|
||||
"behavior": "Run the bounded production build smoke after P31 resource implementation.",
|
||||
"dependsOn": [
|
||||
"WBV2-P31-002"
|
||||
],
|
||||
"phase": "P31",
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p31-003",
|
||||
"gate": "G1",
|
||||
"card": "docs/tasks/WBV2-P31-003.md",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"queueMutationAllowed": true
|
||||
}
|
||||
]
|
||||
}
|
||||
162
tests/golden/WBV2-P31-002/task-context.json
Normal file
162
tests/golden/WBV2-P31-002/task-context.json
Normal file
@@ -0,0 +1,162 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P31-002",
|
||||
"parentTask": "WBV2-P31-001",
|
||||
"status": "in_progress",
|
||||
"goal": "Connect a typed text-source command to Blender Main Text datablocks with bounded persistence.",
|
||||
"scope": {
|
||||
"gap": "IO.TEXT_DATABLOCK",
|
||||
"ownerFamily": "IO",
|
||||
"implementationClass": "SOURCE_BACKED"
|
||||
},
|
||||
"commands": [
|
||||
"node tools/web/check-task-context.mjs --task WBV2-P31-002 --write"
|
||||
],
|
||||
"inputPaths": [],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 3659,
|
||||
"contextRemainingTokens": 914
|
||||
},
|
||||
"source": {
|
||||
"bytes": 6245,
|
||||
"tokens": 1562
|
||||
},
|
||||
"selected": [],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "web/protocol/web-engine.ts",
|
||||
"bytes": 15041,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P31-002/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P31-002.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P31-002/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 0,
|
||||
"bytes": 0,
|
||||
"tokens": 0
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"nextTask": "WBV2-P31-003",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/WBV2-P31-002.md",
|
||||
"taskIndex": "tests/golden/WBV2/task-index.json",
|
||||
"parentManifest": "tests/golden/WBV2-P31-001/manifest.json",
|
||||
"parentStatus": "docs/status/WBV2-P31-001.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/WBV2-P31-002.md",
|
||||
"tests/golden/WBV2-P31-001/manifest.json",
|
||||
"docs/status/WBV2-P31-001.md"
|
||||
],
|
||||
"machineOnly": [
|
||||
"tests/golden/WBV2/task-index.json",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl"
|
||||
],
|
||||
"optionalByNeed": [
|
||||
"docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
||||
"任务卡列出的精确协议/生产路径",
|
||||
"任务卡明确命名的长期计划小节"
|
||||
],
|
||||
"forbiddenByDefault": [
|
||||
"完整 CURRENT_EXECUTION_PLAN.md",
|
||||
"完整 PROJECT_STATUS_AND_NEXT_WORK.md",
|
||||
"全部 docs/status/*.md",
|
||||
"完整 parity/WBS 计划",
|
||||
"README 历史和 test-results/"
|
||||
]
|
||||
},
|
||||
"parent": {
|
||||
"manifest": {
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P31-001",
|
||||
"parentTask": "WBV2-P31-000",
|
||||
"status": "done",
|
||||
"nextTask": "WBV2-P31-002",
|
||||
"artifactCount": 7
|
||||
},
|
||||
"statusSummary": [
|
||||
"# WBV2-P31-001 status",
|
||||
"- task: `WBV2-P31-001`; parent: `WBV2-P31-000`; status: `done`",
|
||||
"- source-backed resource/scene family: `IO.RESOURCE_WORKBENCH`; marker: `resource-scene-workbench`",
|
||||
"- Chromium receipts and completion overlay: `DEFERRED`",
|
||||
"- inventory unchanged: `6900/6618`, effective `290/6609`",
|
||||
"- nextTask: `WBV2-P31-002`"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1323,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 331
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2803,
|
||||
"lines": 51,
|
||||
"tokens": 701
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/WBV2-P31-002.md",
|
||||
"bytes": 1323,
|
||||
"lines": 38,
|
||||
"tokens": 331
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P31-001/manifest.json",
|
||||
"bytes": 1795,
|
||||
"lines": 53,
|
||||
"tokens": 449
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P31-001.md",
|
||||
"bytes": 324,
|
||||
"lines": 8,
|
||||
"tokens": 81
|
||||
}
|
||||
],
|
||||
"sourceTokens": 1562,
|
||||
"evidenceFiles": 0,
|
||||
"evidenceBytes": 0,
|
||||
"evidenceTokens": 0,
|
||||
"totalTokens": 1562,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 2586,
|
||||
"serializedContextTokens": 605,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
30
tests/golden/WBV2-P31-003/implementation-report.json
Normal file
30
tests/golden/WBV2-P31-003/implementation-report.json
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P31-003",
|
||||
"operation": "RUN_RESOURCE_SCENE_IMPLEMENTATION_SMOKE",
|
||||
"status": "PASS",
|
||||
"family": "P31.IMPLEMENTATION_SMOKE",
|
||||
"sourceBacked": true,
|
||||
"implementation": {
|
||||
"marker": "applyCommand",
|
||||
"sourcePaths": [
|
||||
"web/app/src/workers/web-engine.worker.ts",
|
||||
"web/app/src/vendor/blender/web_engine.wasm"
|
||||
],
|
||||
"duplicateShimAdded": false
|
||||
},
|
||||
"verification": {
|
||||
"status": "DEFERRED",
|
||||
"chromium": false,
|
||||
"receipts": false,
|
||||
"completionOverlay": false
|
||||
},
|
||||
"inventory": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609
|
||||
},
|
||||
"nextTask": "WBV2-P32-000"
|
||||
}
|
||||
52
tests/golden/WBV2-P31-003/manifest.json
Normal file
52
tests/golden/WBV2-P31-003/manifest.json
Normal file
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P31-003",
|
||||
"parentTask": "WBV2-P31-002",
|
||||
"operation": "RUN_RESOURCE_SCENE_IMPLEMENTATION_SMOKE",
|
||||
"status": "done",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": false,
|
||||
"runtime": "SOURCE_BACKED_RESOURCE_SCENE_IMPLEMENTATION",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/WBV2-P31-002/manifest.json",
|
||||
"sha256": "d08dcb1bf0646292af0095853dac6d4194a5e76867e72b14e35669b7f7af9abc"
|
||||
},
|
||||
"source1": {
|
||||
"path": "web/app/src/workers/web-engine.worker.ts",
|
||||
"sha256": "72242855c47eb33b1f440f3a586f290e074876bda6e5c1369d83444b0cb3e0af"
|
||||
},
|
||||
"source2": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"sha256": "e04c9c06fa2db509acf210290cfd132acae68597964952869f133d51a8c0d9ff"
|
||||
},
|
||||
"report": {
|
||||
"path": "tests/golden/WBV2-P31-003/implementation-report.json",
|
||||
"sha256": "9cae0b50b135c2436fa48e5656be20c738a45b92c85be4c9a4e7287242d164d4"
|
||||
},
|
||||
"status": {
|
||||
"path": "docs/status/WBV2-P31-003.md",
|
||||
"sha256": "0e56452fadae174fe741651a85d310128dd930474e4eaf5dbcdd300dc0010656"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/WBV2-P31-003/resource-scene-task-plan.json",
|
||||
"sha256": "f6305f6161166a75c4759ce532357cef85f0a5586396449803e72b01782479c5"
|
||||
},
|
||||
"taskContext": {
|
||||
"path": "tests/golden/WBV2-P31-003/task-context.json",
|
||||
"sha256": "30d53c25a3ac057e6d5beb760287777d56d2f9955af42710a0e148e330f1240f"
|
||||
}
|
||||
},
|
||||
"assertions": {
|
||||
"capabilityFamily": "P31.IMPLEMENTATION_SMOKE",
|
||||
"sourceBacked": true,
|
||||
"unsupportedFailsClosed": true,
|
||||
"verificationDeferred": true,
|
||||
"completionOverlayWritten": false,
|
||||
"inventoryTotal": 6900,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"historicalReproduction": false
|
||||
},
|
||||
"nextTask": "WBV2-P32-000"
|
||||
}
|
||||
180
tests/golden/WBV2-P31-003/resource-scene-task-plan.json
Normal file
180
tests/golden/WBV2-P31-003/resource-scene-task-plan.json
Normal file
@@ -0,0 +1,180 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"planId": "BLENDER_WEB_RESOURCE_SCENE_IMPLEMENTATION_P31",
|
||||
"status": "ACTIVE_RESOURCE_SCENE_QUEUE",
|
||||
"authority": "user_authorized_implementation_first_execution",
|
||||
"executionPointer": "docs/EXECUTION_QUEUE.md",
|
||||
"runtimePolicy": {
|
||||
"blenderSource": "blender-5.2.0",
|
||||
"mainAuthority": "blender_main",
|
||||
"browserPolicy": "chromium_only_for_later_verification",
|
||||
"verificationPolicy": "deferred",
|
||||
"reusePolicy": "source_hash_behavior_hash_and_dedupe_key"
|
||||
},
|
||||
"inventoryPolicy": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"overlayMutation": "forbidden_during_implementation_wave"
|
||||
},
|
||||
"tasks": [
|
||||
{
|
||||
"id": "WBV2-P31-000",
|
||||
"title": "authorize_resource_scene_workbench",
|
||||
"owner": "PROGRAM",
|
||||
"parent": "WBV2-P30-004",
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"kind": "enabling",
|
||||
"behavior": "Authorize the next source-backed resource and scene-data implementation wave.",
|
||||
"dependsOn": [
|
||||
"WBV2-P30-004"
|
||||
],
|
||||
"phase": "P31",
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p31-000",
|
||||
"gate": "G1",
|
||||
"card": "docs/tasks/WBV2-P31-000.md",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"queueMutationAllowed": true
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P31-001",
|
||||
"title": "implement_resource_workbench",
|
||||
"owner": "IO",
|
||||
"parent": "WBV2-P31-000",
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"kind": "feature",
|
||||
"family": "IO.RESOURCE_WORKBENCH",
|
||||
"behavior": "Expose packed VFonts, sounds, speakers, text blocks, textures and particle settings through a bounded resource workbench.",
|
||||
"dependsOn": [
|
||||
"WBV2-P31-000"
|
||||
],
|
||||
"phase": "P31",
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p31-001",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P31-001.md",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P31-002",
|
||||
"title": "implement_text_datablock_authoring",
|
||||
"owner": "IO",
|
||||
"parent": "WBV2-P31-001",
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"kind": "feature",
|
||||
"family": "IO.TEXT_DATABLOCK",
|
||||
"behavior": "Connect a typed text-source command to Blender Main Text datablocks with bounded persistence.",
|
||||
"dependsOn": [
|
||||
"WBV2-P31-001"
|
||||
],
|
||||
"phase": "P31",
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p31-002",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P31-002.md",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P31-003",
|
||||
"title": "run_p31_implementation_smoke",
|
||||
"owner": "RELEASE",
|
||||
"parent": "WBV2-P31-002",
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"kind": "enabling",
|
||||
"behavior": "Run the bounded production build smoke after P31 resource implementation.",
|
||||
"dependsOn": [
|
||||
"WBV2-P31-002"
|
||||
],
|
||||
"phase": "P31",
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p31-003",
|
||||
"gate": "G1",
|
||||
"card": "docs/tasks/WBV2-P31-003.md",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"queueMutationAllowed": true
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P32-000",
|
||||
"phase": "P32",
|
||||
"title": "authorize_next_implementation_wave",
|
||||
"kind": "enabling",
|
||||
"owner": "PROGRAM",
|
||||
"dependsOn": [
|
||||
"WBV2-P31-003"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p32-000",
|
||||
"gate": "G1",
|
||||
"card": "docs/tasks/WBV2-P32-000.md",
|
||||
"behavior": "Authorize the next source-backed implementation wave.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "in_progress",
|
||||
"ready": true,
|
||||
"queueMutationAllowed": true
|
||||
}
|
||||
]
|
||||
}
|
||||
162
tests/golden/WBV2-P31-003/task-context.json
Normal file
162
tests/golden/WBV2-P31-003/task-context.json
Normal file
@@ -0,0 +1,162 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P31-003",
|
||||
"parentTask": "WBV2-P31-002",
|
||||
"status": "in_progress",
|
||||
"goal": "Run the bounded production build smoke after P31 resource implementation.",
|
||||
"scope": {
|
||||
"gap": "workflow:run_p31_implementation_smoke",
|
||||
"ownerFamily": "RELEASE",
|
||||
"implementationClass": "SOURCE_BACKED"
|
||||
},
|
||||
"commands": [
|
||||
"node tools/web/check-task-context.mjs --task WBV2-P31-003 --write"
|
||||
],
|
||||
"inputPaths": [],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 2956,
|
||||
"contextRemainingTokens": 737
|
||||
},
|
||||
"source": {
|
||||
"bytes": 6948,
|
||||
"tokens": 1739
|
||||
},
|
||||
"selected": [],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "web/protocol/web-engine.ts",
|
||||
"bytes": 15041,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P31-003/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P31-003.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P31-003/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 0,
|
||||
"bytes": 0,
|
||||
"tokens": 0
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"nextTask": "WBV2-P32-000",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/WBV2-P31-003.md",
|
||||
"taskIndex": "tests/golden/WBV2/task-index.json",
|
||||
"parentManifest": "tests/golden/WBV2-P31-002/manifest.json",
|
||||
"parentStatus": "docs/status/WBV2-P31-002.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/WBV2-P31-003.md",
|
||||
"tests/golden/WBV2-P31-002/manifest.json",
|
||||
"docs/status/WBV2-P31-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-P31-002",
|
||||
"parentTask": "WBV2-P31-001",
|
||||
"status": "done",
|
||||
"nextTask": "WBV2-P31-003",
|
||||
"artifactCount": 11
|
||||
},
|
||||
"statusSummary": [
|
||||
"# WBV2-P31-002 status",
|
||||
"- task: `WBV2-P31-002`; parent: `WBV2-P31-001`; status: `done`",
|
||||
"- source-backed resource/scene family: `IO.TEXT_DATABLOCK`; marker: `web_engine_blend_main_set_text_source`",
|
||||
"- Chromium receipts and completion overlay: `DEFERRED`",
|
||||
"- inventory unchanged: `6900/6618`, effective `290/6609`",
|
||||
"- nextTask: `WBV2-P31-003`"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1293,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 324
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2803,
|
||||
"lines": 51,
|
||||
"tokens": 701
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/WBV2-P31-003.md",
|
||||
"bytes": 1293,
|
||||
"lines": 38,
|
||||
"tokens": 324
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P31-002/manifest.json",
|
||||
"bytes": 2519,
|
||||
"lines": 69,
|
||||
"tokens": 630
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P31-002.md",
|
||||
"bytes": 333,
|
||||
"lines": 8,
|
||||
"tokens": 84
|
||||
}
|
||||
],
|
||||
"sourceTokens": 1739,
|
||||
"evidenceFiles": 0,
|
||||
"evidenceBytes": 0,
|
||||
"evidenceTokens": 0,
|
||||
"totalTokens": 1739,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 2763,
|
||||
"serializedContextTokens": 607,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
38
tests/golden/WBV2-P32-000/manifest.json
Normal file
38
tests/golden/WBV2-P32-000/manifest.json
Normal file
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P32-000",
|
||||
"parentTask": "WBV2-P31-003",
|
||||
"operation": "AUTHORIZE_SCENE_CONTEXT_WORKBENCH",
|
||||
"status": "done",
|
||||
"enablingTask": true,
|
||||
"parityStateChange": false,
|
||||
"runtime": "SOURCE_BACKED_SCENE_CONTEXT_QUEUE",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/WBV2-P31-003/manifest.json",
|
||||
"sha256": "7279cf19524eeec2ffd6a43abed0d48ac311d901953cd855e88dacf4292bcb98"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/WBV2-P32-000/scene-context-task-plan.json",
|
||||
"sha256": "9ebfc48396562ee59744f77c175256906fd31d4538eaef44b28f0018676039d5"
|
||||
},
|
||||
"report": {
|
||||
"path": "tests/golden/WBV2-P32-000/scene-context-root-report.json",
|
||||
"sha256": "4006189330353510b79aa278f48e9b64473a6b965bf85c233f229164b4534a9a"
|
||||
},
|
||||
"status": {
|
||||
"path": "docs/status/WBV2-P32-000.md",
|
||||
"sha256": "a319059263e65f7ba2de5cf51338e92f6a203271ef0a60a633c8f28bbf865de0"
|
||||
}
|
||||
},
|
||||
"assertions": {
|
||||
"plannedTasks": 4,
|
||||
"verificationDeferred": true,
|
||||
"completionOverlayWritten": false,
|
||||
"inventoryTotal": 6900,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"historicalReproduction": false
|
||||
},
|
||||
"nextTask": "WBV2-P32-001"
|
||||
}
|
||||
33
tests/golden/WBV2-P32-000/scene-context-root-report.json
Normal file
33
tests/golden/WBV2-P32-000/scene-context-root-report.json
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P32-000",
|
||||
"operation": "AUTHORIZE_SCENE_CONTEXT_WORKBENCH",
|
||||
"status": "PASS",
|
||||
"parent": {
|
||||
"task": "WBV2-P31-003",
|
||||
"manifest": "tests/golden/WBV2-P31-003/manifest.json",
|
||||
"manifestSha256": "7279cf19524eeec2ffd6a43abed0d48ac311d901953cd855e88dacf4292bcb98"
|
||||
},
|
||||
"scope": {
|
||||
"firstTask": "WBV2-P32-001",
|
||||
"plannedTasks": [
|
||||
"WBV2-P32-000",
|
||||
"WBV2-P32-001",
|
||||
"WBV2-P32-002",
|
||||
"WBV2-P32-003"
|
||||
]
|
||||
},
|
||||
"verification": {
|
||||
"status": "DEFERRED",
|
||||
"chromium": false,
|
||||
"completionOverlay": false
|
||||
},
|
||||
"inventory": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609
|
||||
},
|
||||
"nextTask": "WBV2-P32-001"
|
||||
}
|
||||
144
tests/golden/WBV2-P32-000/scene-context-task-plan.json
Normal file
144
tests/golden/WBV2-P32-000/scene-context-task-plan.json
Normal file
@@ -0,0 +1,144 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"planId": "BLENDER_WEB_SCENE_CONTEXT_IMPLEMENTATION_P32",
|
||||
"status": "ACTIVE_SCENE_CONTEXT_QUEUE",
|
||||
"authority": "user_authorized_implementation_first_execution",
|
||||
"executionPointer": "docs/EXECUTION_QUEUE.md",
|
||||
"runtimePolicy": {
|
||||
"blenderSource": "blender-5.2.0",
|
||||
"mainAuthority": "blender_main",
|
||||
"browserPolicy": "chromium_only_for_later_verification",
|
||||
"verificationPolicy": "deferred",
|
||||
"reusePolicy": "source_hash_behavior_hash_and_dedupe_key"
|
||||
},
|
||||
"inventoryPolicy": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"overlayMutation": "forbidden_during_implementation_wave"
|
||||
},
|
||||
"tasks": [
|
||||
{
|
||||
"id": "WBV2-P32-000",
|
||||
"phase": "P32",
|
||||
"title": "authorize_scene_context_workbench",
|
||||
"kind": "enabling",
|
||||
"owner": "PROGRAM",
|
||||
"dependsOn": [
|
||||
"WBV2-P31-003"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p32-000",
|
||||
"gate": "G1",
|
||||
"card": "docs/tasks/WBV2-P32-000.md",
|
||||
"behavior": "Authorize scene context and release status implementation.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": true
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P32-001",
|
||||
"phase": "P32",
|
||||
"title": "implement_scene_context_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "WORKFLOW",
|
||||
"dependsOn": [
|
||||
"WBV2-P32-000"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p32-001",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P32-001.md",
|
||||
"behavior": "Expose real SceneIR collections, libraries, armatures and workflow status in the Properties workbench.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "in_progress",
|
||||
"ready": true,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P32-002",
|
||||
"phase": "P32",
|
||||
"title": "implement_release_status_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "RELEASE",
|
||||
"dependsOn": [
|
||||
"WBV2-P32-001"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p32-002",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P32-002.md",
|
||||
"behavior": "Expose guarded scripting, render routing, server job and release candidate status without local shims.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "planned",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P32-003",
|
||||
"phase": "P32",
|
||||
"title": "run_p32_implementation_smoke",
|
||||
"kind": "enabling",
|
||||
"owner": "RELEASE",
|
||||
"dependsOn": [
|
||||
"WBV2-P32-002"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p32-003",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P32-003.md",
|
||||
"behavior": "Run the bounded production build smoke after scene context implementation.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "planned",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
}
|
||||
]
|
||||
}
|
||||
162
tests/golden/WBV2-P32-000/task-context.json
Normal file
162
tests/golden/WBV2-P32-000/task-context.json
Normal file
@@ -0,0 +1,162 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P32-000",
|
||||
"parentTask": "WBV2-P31-003",
|
||||
"status": "done",
|
||||
"goal": "Authorize scene context and release status implementation.",
|
||||
"scope": {
|
||||
"gap": "workflow:authorize_scene_context_workbench",
|
||||
"ownerFamily": "PROGRAM",
|
||||
"implementationClass": "SOURCE_BACKED"
|
||||
},
|
||||
"commands": [
|
||||
"node tools/web/check-task-context.mjs --task WBV2-P32-000 --write"
|
||||
],
|
||||
"inputPaths": [],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 3638,
|
||||
"contextRemainingTokens": 908
|
||||
},
|
||||
"source": {
|
||||
"bytes": 6266,
|
||||
"tokens": 1568
|
||||
},
|
||||
"selected": [],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"bytes": 110285,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P32-000/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P32-000.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P32-000/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 0,
|
||||
"bytes": 0,
|
||||
"tokens": 0
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"nextTask": "WBV2-P32-001",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/WBV2-P32-000.md",
|
||||
"taskIndex": "tests/golden/WBV2/task-index.json",
|
||||
"parentManifest": "tests/golden/WBV2-P31-003/manifest.json",
|
||||
"parentStatus": "docs/status/WBV2-P31-003.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/WBV2-P32-000.md",
|
||||
"tests/golden/WBV2-P31-003/manifest.json",
|
||||
"docs/status/WBV2-P31-003.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-P31-003",
|
||||
"parentTask": "WBV2-P31-002",
|
||||
"status": "done",
|
||||
"nextTask": "WBV2-P32-000",
|
||||
"artifactCount": 7
|
||||
},
|
||||
"statusSummary": [
|
||||
"# WBV2-P31-003 status",
|
||||
"- task: `WBV2-P31-003`; parent: `WBV2-P31-002`; status: `done`",
|
||||
"- source-backed resource/scene family: `P31.IMPLEMENTATION_SMOKE`; marker: `applyCommand`",
|
||||
"- Chromium receipts and completion overlay: `DEFERRED`",
|
||||
"- inventory unchanged: `6900/6618`, effective `290/6609`",
|
||||
"- nextTask: `WBV2-P32-000`"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1307,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 327
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2803,
|
||||
"lines": 51,
|
||||
"tokens": 701
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/WBV2-P32-000.md",
|
||||
"bytes": 1307,
|
||||
"lines": 38,
|
||||
"tokens": 327
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P31-003/manifest.json",
|
||||
"bytes": 1841,
|
||||
"lines": 53,
|
||||
"tokens": 461
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P31-003.md",
|
||||
"bytes": 315,
|
||||
"lines": 8,
|
||||
"tokens": 79
|
||||
}
|
||||
],
|
||||
"sourceTokens": 1568,
|
||||
"evidenceFiles": 0,
|
||||
"evidenceBytes": 0,
|
||||
"evidenceTokens": 0,
|
||||
"totalTokens": 1568,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 2592,
|
||||
"serializedContextTokens": 602,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
30
tests/golden/WBV2-P32-001/implementation-report.json
Normal file
30
tests/golden/WBV2-P32-001/implementation-report.json
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P32-001",
|
||||
"operation": "IMPLEMENT_SCENE_CONTEXT_FAMILY",
|
||||
"status": "PASS",
|
||||
"family": "WORKFLOW.SCENE_CONTEXT",
|
||||
"sourceBacked": true,
|
||||
"implementation": {
|
||||
"marker": "scene-context-workbench",
|
||||
"sourcePaths": [
|
||||
"web/app/src/app/App.tsx",
|
||||
"web/protocol/scene-ir.ts"
|
||||
],
|
||||
"duplicateShimAdded": false
|
||||
},
|
||||
"verification": {
|
||||
"status": "DEFERRED",
|
||||
"chromium": false,
|
||||
"receipts": false,
|
||||
"completionOverlay": false
|
||||
},
|
||||
"inventory": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609
|
||||
},
|
||||
"nextTask": "WBV2-P32-002"
|
||||
}
|
||||
52
tests/golden/WBV2-P32-001/manifest.json
Normal file
52
tests/golden/WBV2-P32-001/manifest.json
Normal file
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P32-001",
|
||||
"parentTask": "WBV2-P32-000",
|
||||
"operation": "IMPLEMENT_SCENE_CONTEXT_FAMILY",
|
||||
"status": "done",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": false,
|
||||
"runtime": "SOURCE_BACKED_SCENE_CONTEXT_IMPLEMENTATION",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/WBV2-P32-000/manifest.json",
|
||||
"sha256": "dd6018ab897e23f7a4dd62a3d7836af0475c0b961d29cb7b67c3e5f49f4256ee"
|
||||
},
|
||||
"source1": {
|
||||
"path": "web/app/src/app/App.tsx",
|
||||
"sha256": "4c608bb481c1c2da0bb80f010a5636fd1a9b69b412cd231834eba1f24d5da784"
|
||||
},
|
||||
"source2": {
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"sha256": "7c3582a11cfbab47ebb0dced99034a43591500f70ca2a24c58bd5dc183d977cb"
|
||||
},
|
||||
"report": {
|
||||
"path": "tests/golden/WBV2-P32-001/implementation-report.json",
|
||||
"sha256": "fe08e8f7bd449586804631d4c1b4e8f916244c96179abeed01bbff058f30ec07"
|
||||
},
|
||||
"status": {
|
||||
"path": "docs/status/WBV2-P32-001.md",
|
||||
"sha256": "95e97781271bc3dbb2d07c583a443b1e21b7bf8c96f0ab8caf2f8a68466f883a"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/WBV2-P32-001/scene-context-task-plan.json",
|
||||
"sha256": "e76c3bcc63bdaeea9951e10c1c9907fbbbd0eee5bd97dc53869cf915f95d0aa6"
|
||||
},
|
||||
"taskContext": {
|
||||
"path": "tests/golden/WBV2-P32-001/task-context.json",
|
||||
"sha256": "5240442f22b808f9390dc15b42be67ba32f957c06872864dde2c405cf4fb5da1"
|
||||
}
|
||||
},
|
||||
"assertions": {
|
||||
"capabilityFamily": "WORKFLOW.SCENE_CONTEXT",
|
||||
"sourceBacked": true,
|
||||
"unsupportedFailsClosed": true,
|
||||
"verificationDeferred": true,
|
||||
"completionOverlayWritten": false,
|
||||
"inventoryTotal": 6900,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"historicalReproduction": false
|
||||
},
|
||||
"nextTask": "WBV2-P32-002"
|
||||
}
|
||||
144
tests/golden/WBV2-P32-001/scene-context-task-plan.json
Normal file
144
tests/golden/WBV2-P32-001/scene-context-task-plan.json
Normal file
@@ -0,0 +1,144 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"planId": "BLENDER_WEB_SCENE_CONTEXT_IMPLEMENTATION_P32",
|
||||
"status": "ACTIVE_SCENE_CONTEXT_QUEUE",
|
||||
"authority": "user_authorized_implementation_first_execution",
|
||||
"executionPointer": "docs/EXECUTION_QUEUE.md",
|
||||
"runtimePolicy": {
|
||||
"blenderSource": "blender-5.2.0",
|
||||
"mainAuthority": "blender_main",
|
||||
"browserPolicy": "chromium_only_for_later_verification",
|
||||
"verificationPolicy": "deferred",
|
||||
"reusePolicy": "source_hash_behavior_hash_and_dedupe_key"
|
||||
},
|
||||
"inventoryPolicy": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"overlayMutation": "forbidden_during_implementation_wave"
|
||||
},
|
||||
"tasks": [
|
||||
{
|
||||
"id": "WBV2-P32-000",
|
||||
"phase": "P32",
|
||||
"title": "authorize_scene_context_workbench",
|
||||
"kind": "enabling",
|
||||
"owner": "PROGRAM",
|
||||
"dependsOn": [
|
||||
"WBV2-P31-003"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p32-000",
|
||||
"gate": "G1",
|
||||
"card": "docs/tasks/WBV2-P32-000.md",
|
||||
"behavior": "Authorize scene context and release status implementation.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": true
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P32-001",
|
||||
"phase": "P32",
|
||||
"title": "implement_scene_context_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "WORKFLOW",
|
||||
"dependsOn": [
|
||||
"WBV2-P32-000"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p32-001",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P32-001.md",
|
||||
"behavior": "Expose real SceneIR collections, libraries, armatures and workflow status in the Properties workbench.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P32-002",
|
||||
"phase": "P32",
|
||||
"title": "implement_release_status_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "RELEASE",
|
||||
"dependsOn": [
|
||||
"WBV2-P32-001"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p32-002",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P32-002.md",
|
||||
"behavior": "Expose guarded scripting, render routing, server job and release candidate status without local shims.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "in_progress",
|
||||
"ready": true,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P32-003",
|
||||
"phase": "P32",
|
||||
"title": "run_p32_implementation_smoke",
|
||||
"kind": "enabling",
|
||||
"owner": "RELEASE",
|
||||
"dependsOn": [
|
||||
"WBV2-P32-002"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p32-003",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P32-003.md",
|
||||
"behavior": "Run the bounded production build smoke after scene context implementation.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "planned",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
}
|
||||
]
|
||||
}
|
||||
162
tests/golden/WBV2-P32-001/task-context.json
Normal file
162
tests/golden/WBV2-P32-001/task-context.json
Normal file
@@ -0,0 +1,162 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P32-001",
|
||||
"parentTask": "WBV2-P32-000",
|
||||
"status": "in_progress",
|
||||
"goal": "Expose real SceneIR collections, libraries, armatures and workflow status in the Properties workbench.",
|
||||
"scope": {
|
||||
"gap": "workflow:implement_scene_context_workbench",
|
||||
"ownerFamily": "WORKFLOW",
|
||||
"implementationClass": "SOURCE_BACKED"
|
||||
},
|
||||
"commands": [
|
||||
"node tools/web/check-task-context.mjs --task WBV2-P32-001 --write"
|
||||
],
|
||||
"inputPaths": [],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 4150,
|
||||
"contextRemainingTokens": 1037
|
||||
},
|
||||
"source": {
|
||||
"bytes": 5754,
|
||||
"tokens": 1439
|
||||
},
|
||||
"selected": [],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"bytes": 110285,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P32-001/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P32-001.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P32-001/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 0,
|
||||
"bytes": 0,
|
||||
"tokens": 0
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"nextTask": "WBV2-P32-002",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/WBV2-P32-001.md",
|
||||
"taskIndex": "tests/golden/WBV2/task-index.json",
|
||||
"parentManifest": "tests/golden/WBV2-P32-000/manifest.json",
|
||||
"parentStatus": "docs/status/WBV2-P32-000.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/WBV2-P32-001.md",
|
||||
"tests/golden/WBV2-P32-000/manifest.json",
|
||||
"docs/status/WBV2-P32-000.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-P32-000",
|
||||
"parentTask": "WBV2-P31-003",
|
||||
"status": "done",
|
||||
"nextTask": "WBV2-P32-001",
|
||||
"artifactCount": 4
|
||||
},
|
||||
"statusSummary": [
|
||||
"# WBV2-P32-000 status",
|
||||
"- task: `WBV2-P32-000`; parent: `WBV2-P31-003`; status: `done`",
|
||||
"- scene context and release status implementation wave authorized",
|
||||
"- verification receipts and completion overlays: `DEFERRED`",
|
||||
"- inventory unchanged: `6900` total, `281` legacy completed, `6618` legacy pending, `290/6609` effective carried forward",
|
||||
"- nextTask: `WBV2-P32-001`"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1359,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 340
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2803,
|
||||
"lines": 51,
|
||||
"tokens": 701
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/WBV2-P32-001.md",
|
||||
"bytes": 1359,
|
||||
"lines": 38,
|
||||
"tokens": 340
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P32-000/manifest.json",
|
||||
"bytes": 1232,
|
||||
"lines": 39,
|
||||
"tokens": 308
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P32-000.md",
|
||||
"bytes": 360,
|
||||
"lines": 8,
|
||||
"tokens": 90
|
||||
}
|
||||
],
|
||||
"sourceTokens": 1439,
|
||||
"evidenceFiles": 0,
|
||||
"evidenceBytes": 0,
|
||||
"evidenceTokens": 0,
|
||||
"totalTokens": 1439,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 2463,
|
||||
"serializedContextTokens": 615,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
30
tests/golden/WBV2-P32-002/implementation-report.json
Normal file
30
tests/golden/WBV2-P32-002/implementation-report.json
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P32-002",
|
||||
"operation": "IMPLEMENT_SCENE_CONTEXT_FAMILY",
|
||||
"status": "PASS",
|
||||
"family": "RELEASE.STATUS_WORKBENCH",
|
||||
"sourceBacked": true,
|
||||
"implementation": {
|
||||
"marker": "releaseCandidateStatus",
|
||||
"sourcePaths": [
|
||||
"web/app/src/app/App.tsx",
|
||||
"web/protocol/scene-ir.ts"
|
||||
],
|
||||
"duplicateShimAdded": false
|
||||
},
|
||||
"verification": {
|
||||
"status": "DEFERRED",
|
||||
"chromium": false,
|
||||
"receipts": false,
|
||||
"completionOverlay": false
|
||||
},
|
||||
"inventory": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609
|
||||
},
|
||||
"nextTask": "WBV2-P32-003"
|
||||
}
|
||||
52
tests/golden/WBV2-P32-002/manifest.json
Normal file
52
tests/golden/WBV2-P32-002/manifest.json
Normal file
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P32-002",
|
||||
"parentTask": "WBV2-P32-001",
|
||||
"operation": "IMPLEMENT_SCENE_CONTEXT_FAMILY",
|
||||
"status": "done",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": false,
|
||||
"runtime": "SOURCE_BACKED_SCENE_CONTEXT_IMPLEMENTATION",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/WBV2-P32-001/manifest.json",
|
||||
"sha256": "53528d8e9b97203db4aa7e26679b764c0d2a8685b812074e3b388c8020eb6ebe"
|
||||
},
|
||||
"source1": {
|
||||
"path": "web/app/src/app/App.tsx",
|
||||
"sha256": "8c3ee6086716be3912a9597091642ee3416ee766a6aaedea7ca642ed7a9c3b53"
|
||||
},
|
||||
"source2": {
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"sha256": "7c3582a11cfbab47ebb0dced99034a43591500f70ca2a24c58bd5dc183d977cb"
|
||||
},
|
||||
"report": {
|
||||
"path": "tests/golden/WBV2-P32-002/implementation-report.json",
|
||||
"sha256": "656c29d908a39470248f556283b502e53c49905ec52fc579ca571db5f2ed4983"
|
||||
},
|
||||
"status": {
|
||||
"path": "docs/status/WBV2-P32-002.md",
|
||||
"sha256": "16ec800e73e334b50c67bb858fda790e35e5a478d8ff8a919e8235b3eb1058a8"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/WBV2-P32-002/scene-context-task-plan.json",
|
||||
"sha256": "57acae8237528c180bbd75d3b6ae7b6f86405a798f3442039820fc7f2d807924"
|
||||
},
|
||||
"taskContext": {
|
||||
"path": "tests/golden/WBV2-P32-002/task-context.json",
|
||||
"sha256": "a939a1118cff1f00fbb25f3a84f68c7f3a6cd8e00f3032524e7f0d45f6c4a377"
|
||||
}
|
||||
},
|
||||
"assertions": {
|
||||
"capabilityFamily": "RELEASE.STATUS_WORKBENCH",
|
||||
"sourceBacked": true,
|
||||
"unsupportedFailsClosed": true,
|
||||
"verificationDeferred": true,
|
||||
"completionOverlayWritten": false,
|
||||
"inventoryTotal": 6900,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"historicalReproduction": false
|
||||
},
|
||||
"nextTask": "WBV2-P32-003"
|
||||
}
|
||||
144
tests/golden/WBV2-P32-002/scene-context-task-plan.json
Normal file
144
tests/golden/WBV2-P32-002/scene-context-task-plan.json
Normal file
@@ -0,0 +1,144 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"planId": "BLENDER_WEB_SCENE_CONTEXT_IMPLEMENTATION_P32",
|
||||
"status": "ACTIVE_SCENE_CONTEXT_QUEUE",
|
||||
"authority": "user_authorized_implementation_first_execution",
|
||||
"executionPointer": "docs/EXECUTION_QUEUE.md",
|
||||
"runtimePolicy": {
|
||||
"blenderSource": "blender-5.2.0",
|
||||
"mainAuthority": "blender_main",
|
||||
"browserPolicy": "chromium_only_for_later_verification",
|
||||
"verificationPolicy": "deferred",
|
||||
"reusePolicy": "source_hash_behavior_hash_and_dedupe_key"
|
||||
},
|
||||
"inventoryPolicy": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"overlayMutation": "forbidden_during_implementation_wave"
|
||||
},
|
||||
"tasks": [
|
||||
{
|
||||
"id": "WBV2-P32-000",
|
||||
"phase": "P32",
|
||||
"title": "authorize_scene_context_workbench",
|
||||
"kind": "enabling",
|
||||
"owner": "PROGRAM",
|
||||
"dependsOn": [
|
||||
"WBV2-P31-003"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p32-000",
|
||||
"gate": "G1",
|
||||
"card": "docs/tasks/WBV2-P32-000.md",
|
||||
"behavior": "Authorize scene context and release status implementation.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": true
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P32-001",
|
||||
"phase": "P32",
|
||||
"title": "implement_scene_context_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "WORKFLOW",
|
||||
"dependsOn": [
|
||||
"WBV2-P32-000"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p32-001",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P32-001.md",
|
||||
"behavior": "Expose real SceneIR collections, libraries, armatures and workflow status in the Properties workbench.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P32-002",
|
||||
"phase": "P32",
|
||||
"title": "implement_release_status_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "RELEASE",
|
||||
"dependsOn": [
|
||||
"WBV2-P32-001"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p32-002",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P32-002.md",
|
||||
"behavior": "Expose guarded scripting, render routing, server job and release candidate status without local shims.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P32-003",
|
||||
"phase": "P32",
|
||||
"title": "run_p32_implementation_smoke",
|
||||
"kind": "enabling",
|
||||
"owner": "RELEASE",
|
||||
"dependsOn": [
|
||||
"WBV2-P32-002"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p32-003",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P32-003.md",
|
||||
"behavior": "Run the bounded production build smoke after scene context implementation.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "in_progress",
|
||||
"ready": true,
|
||||
"queueMutationAllowed": false
|
||||
}
|
||||
]
|
||||
}
|
||||
162
tests/golden/WBV2-P32-002/task-context.json
Normal file
162
tests/golden/WBV2-P32-002/task-context.json
Normal file
@@ -0,0 +1,162 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P32-002",
|
||||
"parentTask": "WBV2-P32-001",
|
||||
"status": "in_progress",
|
||||
"goal": "Expose guarded scripting, render routing, server job and release candidate status without local shims.",
|
||||
"scope": {
|
||||
"gap": "workflow:implement_release_status_workbench",
|
||||
"ownerFamily": "RELEASE",
|
||||
"implementationClass": "SOURCE_BACKED"
|
||||
},
|
||||
"commands": [
|
||||
"node tools/web/check-task-context.mjs --task WBV2-P32-002 --write"
|
||||
],
|
||||
"inputPaths": [],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 3625,
|
||||
"contextRemainingTokens": 905
|
||||
},
|
||||
"source": {
|
||||
"bytes": 6279,
|
||||
"tokens": 1571
|
||||
},
|
||||
"selected": [],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"bytes": 110285,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P32-002/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P32-002.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P32-002/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 0,
|
||||
"bytes": 0,
|
||||
"tokens": 0
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"nextTask": "WBV2-P32-003",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/WBV2-P32-002.md",
|
||||
"taskIndex": "tests/golden/WBV2/task-index.json",
|
||||
"parentManifest": "tests/golden/WBV2-P32-001/manifest.json",
|
||||
"parentStatus": "docs/status/WBV2-P32-001.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/WBV2-P32-002.md",
|
||||
"tests/golden/WBV2-P32-001/manifest.json",
|
||||
"docs/status/WBV2-P32-001.md"
|
||||
],
|
||||
"machineOnly": [
|
||||
"tests/golden/WBV2/task-index.json",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl"
|
||||
],
|
||||
"optionalByNeed": [
|
||||
"docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
||||
"任务卡列出的精确协议/生产路径",
|
||||
"任务卡明确命名的长期计划小节"
|
||||
],
|
||||
"forbiddenByDefault": [
|
||||
"完整 CURRENT_EXECUTION_PLAN.md",
|
||||
"完整 PROJECT_STATUS_AND_NEXT_WORK.md",
|
||||
"全部 docs/status/*.md",
|
||||
"完整 parity/WBS 计划",
|
||||
"README 历史和 test-results/"
|
||||
]
|
||||
},
|
||||
"parent": {
|
||||
"manifest": {
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P32-001",
|
||||
"parentTask": "WBV2-P32-000",
|
||||
"status": "done",
|
||||
"nextTask": "WBV2-P32-002",
|
||||
"artifactCount": 7
|
||||
},
|
||||
"statusSummary": [
|
||||
"# WBV2-P32-001 status",
|
||||
"- task: `WBV2-P32-001`; parent: `WBV2-P32-000`; status: `done`",
|
||||
"- source-backed scene context family: `WORKFLOW.SCENE_CONTEXT`; marker: `scene-context-workbench`",
|
||||
"- Chromium receipts and completion overlay: `DEFERRED`",
|
||||
"- inventory unchanged: `6900/6618`, effective `290/6609`",
|
||||
"- nextTask: `WBV2-P32-002`"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1360,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 340
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2803,
|
||||
"lines": 51,
|
||||
"tokens": 701
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/WBV2-P32-002.md",
|
||||
"bytes": 1360,
|
||||
"lines": 38,
|
||||
"tokens": 340
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P32-001/manifest.json",
|
||||
"bytes": 1793,
|
||||
"lines": 53,
|
||||
"tokens": 449
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P32-001.md",
|
||||
"bytes": 323,
|
||||
"lines": 8,
|
||||
"tokens": 81
|
||||
}
|
||||
],
|
||||
"sourceTokens": 1571,
|
||||
"evidenceFiles": 0,
|
||||
"evidenceBytes": 0,
|
||||
"evidenceTokens": 0,
|
||||
"totalTokens": 1571,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 2595,
|
||||
"serializedContextTokens": 615,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
30
tests/golden/WBV2-P32-003/implementation-report.json
Normal file
30
tests/golden/WBV2-P32-003/implementation-report.json
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P32-003",
|
||||
"operation": "RUN_SCENE_CONTEXT_IMPLEMENTATION_SMOKE",
|
||||
"status": "PASS",
|
||||
"family": "P32.IMPLEMENTATION_SMOKE",
|
||||
"sourceBacked": true,
|
||||
"implementation": {
|
||||
"marker": "applyCommand",
|
||||
"sourcePaths": [
|
||||
"web/app/src/workers/web-engine.worker.ts",
|
||||
"web/app/src/vendor/blender/web_engine.wasm"
|
||||
],
|
||||
"duplicateShimAdded": false
|
||||
},
|
||||
"verification": {
|
||||
"status": "DEFERRED",
|
||||
"chromium": false,
|
||||
"receipts": false,
|
||||
"completionOverlay": false
|
||||
},
|
||||
"inventory": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609
|
||||
},
|
||||
"nextTask": "WBV2-P33-000"
|
||||
}
|
||||
52
tests/golden/WBV2-P32-003/manifest.json
Normal file
52
tests/golden/WBV2-P32-003/manifest.json
Normal file
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P32-003",
|
||||
"parentTask": "WBV2-P32-002",
|
||||
"operation": "RUN_SCENE_CONTEXT_IMPLEMENTATION_SMOKE",
|
||||
"status": "done",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": false,
|
||||
"runtime": "SOURCE_BACKED_SCENE_CONTEXT_IMPLEMENTATION",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/WBV2-P32-002/manifest.json",
|
||||
"sha256": "2cc789344f5d4cb92b0a02df1962cad4b4c81bae9dfcdd501f55780d45ed48f5"
|
||||
},
|
||||
"source1": {
|
||||
"path": "web/app/src/workers/web-engine.worker.ts",
|
||||
"sha256": "72242855c47eb33b1f440f3a586f290e074876bda6e5c1369d83444b0cb3e0af"
|
||||
},
|
||||
"source2": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"sha256": "e04c9c06fa2db509acf210290cfd132acae68597964952869f133d51a8c0d9ff"
|
||||
},
|
||||
"report": {
|
||||
"path": "tests/golden/WBV2-P32-003/implementation-report.json",
|
||||
"sha256": "b5bee6f8216349232740cc77e9ab48c11e518f3abe85f8aed52fe5f395ee137c"
|
||||
},
|
||||
"status": {
|
||||
"path": "docs/status/WBV2-P32-003.md",
|
||||
"sha256": "acb0e7577bf689a9e05729b31eb22acc9659d1aa9a738e53fdddd47bc4f9c4ca"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/WBV2-P32-003/scene-context-task-plan.json",
|
||||
"sha256": "eca8a703b2933ce58fedb74fcd566da6aaf6e037d944c9a33c5222991aec8d61"
|
||||
},
|
||||
"taskContext": {
|
||||
"path": "tests/golden/WBV2-P32-003/task-context.json",
|
||||
"sha256": "cfbd36f17bce19c585a700610ab00ec527030e08ed47316d2e7ff7d1cd09e300"
|
||||
}
|
||||
},
|
||||
"assertions": {
|
||||
"capabilityFamily": "P32.IMPLEMENTATION_SMOKE",
|
||||
"sourceBacked": true,
|
||||
"unsupportedFailsClosed": true,
|
||||
"verificationDeferred": true,
|
||||
"completionOverlayWritten": false,
|
||||
"inventoryTotal": 6900,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"historicalReproduction": false
|
||||
},
|
||||
"nextTask": "WBV2-P33-000"
|
||||
}
|
||||
174
tests/golden/WBV2-P32-003/scene-context-task-plan.json
Normal file
174
tests/golden/WBV2-P32-003/scene-context-task-plan.json
Normal file
@@ -0,0 +1,174 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"planId": "BLENDER_WEB_SCENE_CONTEXT_IMPLEMENTATION_P32",
|
||||
"status": "ACTIVE_SCENE_CONTEXT_QUEUE",
|
||||
"authority": "user_authorized_implementation_first_execution",
|
||||
"executionPointer": "docs/EXECUTION_QUEUE.md",
|
||||
"runtimePolicy": {
|
||||
"blenderSource": "blender-5.2.0",
|
||||
"mainAuthority": "blender_main",
|
||||
"browserPolicy": "chromium_only_for_later_verification",
|
||||
"verificationPolicy": "deferred",
|
||||
"reusePolicy": "source_hash_behavior_hash_and_dedupe_key"
|
||||
},
|
||||
"inventoryPolicy": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"overlayMutation": "forbidden_during_implementation_wave"
|
||||
},
|
||||
"tasks": [
|
||||
{
|
||||
"id": "WBV2-P32-000",
|
||||
"phase": "P32",
|
||||
"title": "authorize_scene_context_workbench",
|
||||
"kind": "enabling",
|
||||
"owner": "PROGRAM",
|
||||
"dependsOn": [
|
||||
"WBV2-P31-003"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p32-000",
|
||||
"gate": "G1",
|
||||
"card": "docs/tasks/WBV2-P32-000.md",
|
||||
"behavior": "Authorize scene context and release status implementation.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": true
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P32-001",
|
||||
"phase": "P32",
|
||||
"title": "implement_scene_context_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "WORKFLOW",
|
||||
"dependsOn": [
|
||||
"WBV2-P32-000"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p32-001",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P32-001.md",
|
||||
"behavior": "Expose real SceneIR collections, libraries, armatures and workflow status in the Properties workbench.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P32-002",
|
||||
"phase": "P32",
|
||||
"title": "implement_release_status_workbench",
|
||||
"kind": "feature",
|
||||
"owner": "RELEASE",
|
||||
"dependsOn": [
|
||||
"WBV2-P32-001"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p32-002",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P32-002.md",
|
||||
"behavior": "Expose guarded scripting, render routing, server job and release candidate status without local shims.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P32-003",
|
||||
"phase": "P32",
|
||||
"title": "run_p32_implementation_smoke",
|
||||
"kind": "enabling",
|
||||
"owner": "RELEASE",
|
||||
"dependsOn": [
|
||||
"WBV2-P32-002"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p32-003",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P32-003.md",
|
||||
"behavior": "Run the bounded production build smoke after scene context implementation.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P33-000",
|
||||
"phase": "P33",
|
||||
"title": "authorize_next_implementation_wave",
|
||||
"kind": "enabling",
|
||||
"owner": "PROGRAM",
|
||||
"dependsOn": [
|
||||
"WBV2-P32-003"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p33-000",
|
||||
"gate": "G1",
|
||||
"card": "docs/tasks/WBV2-P33-000.md",
|
||||
"behavior": "Authorize the next source-backed implementation wave.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"status": "in_progress",
|
||||
"ready": true,
|
||||
"queueMutationAllowed": true
|
||||
}
|
||||
]
|
||||
}
|
||||
162
tests/golden/WBV2-P32-003/task-context.json
Normal file
162
tests/golden/WBV2-P32-003/task-context.json
Normal file
@@ -0,0 +1,162 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P32-003",
|
||||
"parentTask": "WBV2-P32-002",
|
||||
"status": "in_progress",
|
||||
"goal": "Run the bounded production build smoke after scene context implementation.",
|
||||
"scope": {
|
||||
"gap": "workflow:run_p32_implementation_smoke",
|
||||
"ownerFamily": "RELEASE",
|
||||
"implementationClass": "SOURCE_BACKED"
|
||||
},
|
||||
"commands": [
|
||||
"node tools/web/check-task-context.mjs --task WBV2-P32-003 --write"
|
||||
],
|
||||
"inputPaths": [],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 3662,
|
||||
"contextRemainingTokens": 915
|
||||
},
|
||||
"source": {
|
||||
"bytes": 6242,
|
||||
"tokens": 1561
|
||||
},
|
||||
"selected": [],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"bytes": 110285,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P32-003/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P32-003.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P32-003/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 0,
|
||||
"bytes": 0,
|
||||
"tokens": 0
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"nextTask": "WBV2-P33-000",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/WBV2-P32-003.md",
|
||||
"taskIndex": "tests/golden/WBV2/task-index.json",
|
||||
"parentManifest": "tests/golden/WBV2-P32-002/manifest.json",
|
||||
"parentStatus": "docs/status/WBV2-P32-002.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/WBV2-P32-003.md",
|
||||
"tests/golden/WBV2-P32-002/manifest.json",
|
||||
"docs/status/WBV2-P32-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-P32-002",
|
||||
"parentTask": "WBV2-P32-001",
|
||||
"status": "done",
|
||||
"nextTask": "WBV2-P32-003",
|
||||
"artifactCount": 7
|
||||
},
|
||||
"statusSummary": [
|
||||
"# WBV2-P32-002 status",
|
||||
"- task: `WBV2-P32-002`; parent: `WBV2-P32-001`; status: `done`",
|
||||
"- source-backed scene context family: `RELEASE.STATUS_WORKBENCH`; marker: `releaseCandidateStatus`",
|
||||
"- Chromium receipts and completion overlay: `DEFERRED`",
|
||||
"- inventory unchanged: `6900/6618`, effective `290/6609`",
|
||||
"- nextTask: `WBV2-P32-003`"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1320,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 330
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2803,
|
||||
"lines": 51,
|
||||
"tokens": 701
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/WBV2-P32-003.md",
|
||||
"bytes": 1320,
|
||||
"lines": 38,
|
||||
"tokens": 330
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P32-002/manifest.json",
|
||||
"bytes": 1795,
|
||||
"lines": 53,
|
||||
"tokens": 449
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P32-002.md",
|
||||
"bytes": 324,
|
||||
"lines": 8,
|
||||
"tokens": 81
|
||||
}
|
||||
],
|
||||
"sourceTokens": 1561,
|
||||
"evidenceFiles": 0,
|
||||
"evidenceBytes": 0,
|
||||
"evidenceTokens": 0,
|
||||
"totalTokens": 1561,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 2585,
|
||||
"serializedContextTokens": 607,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
162
tests/golden/WBV2-P33-000/task-context.json
Normal file
162
tests/golden/WBV2-P33-000/task-context.json
Normal file
@@ -0,0 +1,162 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P33-000",
|
||||
"parentTask": "WBV2-P32-003",
|
||||
"status": "in_progress",
|
||||
"goal": "Authorize the next source-backed implementation wave.",
|
||||
"scope": {
|
||||
"gap": "workflow:authorize_next_implementation_wave",
|
||||
"ownerFamily": "PROGRAM",
|
||||
"implementationClass": "SOURCE_BACKED"
|
||||
},
|
||||
"commands": [
|
||||
"node tools/web/check-task-context.mjs --task WBV2-P33-000 --write"
|
||||
],
|
||||
"inputPaths": [],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 3870,
|
||||
"contextRemainingTokens": 966
|
||||
},
|
||||
"source": {
|
||||
"bytes": 6034,
|
||||
"tokens": 1510
|
||||
},
|
||||
"selected": [],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "web/protocol/web-engine.ts",
|
||||
"bytes": 15041,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P33-000/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P33-000.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P33-000/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 0,
|
||||
"bytes": 0,
|
||||
"tokens": 0
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"real source or WebEngine Main path is wired",
|
||||
"unsupported input fails closed",
|
||||
"implementation smoke is reproducible",
|
||||
"verification remains deferred"
|
||||
],
|
||||
"nextTask": null,
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/WBV2-P33-000.md",
|
||||
"taskIndex": "tests/golden/WBV2/task-index.json",
|
||||
"parentManifest": "tests/golden/WBV2-P32-003/manifest.json",
|
||||
"parentStatus": "docs/status/WBV2-P32-003.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/WBV2-P33-000.md",
|
||||
"tests/golden/WBV2-P32-003/manifest.json",
|
||||
"docs/status/WBV2-P32-003.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-P32-003",
|
||||
"parentTask": "WBV2-P32-002",
|
||||
"status": "done",
|
||||
"nextTask": "WBV2-P33-000",
|
||||
"artifactCount": 7
|
||||
},
|
||||
"statusSummary": [
|
||||
"# WBV2-P32-003 status",
|
||||
"- task: `WBV2-P32-003`; parent: `WBV2-P32-002`; status: `done`",
|
||||
"- source-backed scene context family: `P32.IMPLEMENTATION_SMOKE`; marker: `applyCommand`",
|
||||
"- Chromium receipts and completion overlay: `DEFERRED`",
|
||||
"- inventory unchanged: `6900/6618`, effective `290/6609`",
|
||||
"- nextTask: `WBV2-P33-000`"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1079,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 37,
|
||||
"taskTokens": 270
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2803,
|
||||
"lines": 51,
|
||||
"tokens": 701
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/WBV2-P33-000.md",
|
||||
"bytes": 1079,
|
||||
"lines": 37,
|
||||
"tokens": 270
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P32-003/manifest.json",
|
||||
"bytes": 1838,
|
||||
"lines": 53,
|
||||
"tokens": 460
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P32-003.md",
|
||||
"bytes": 314,
|
||||
"lines": 8,
|
||||
"tokens": 79
|
||||
}
|
||||
],
|
||||
"sourceTokens": 1510,
|
||||
"evidenceFiles": 0,
|
||||
"evidenceBytes": 0,
|
||||
"evidenceTokens": 0,
|
||||
"totalTokens": 1510,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 2534,
|
||||
"serializedContextTokens": 600,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
{"id":"WBV2-P27-000","gapId":"workflow:authorize_deferred_verification_wave","ownerFamily":"PROGRAM","sourceTask":"P27","state":"completed","targetImplementationClass":"VERIFICATION_ONLY","exitCriteria":["existing source and behavior hashes are reused","duplicate behavior runs remain zero","Chromium is the only production browser","overlay is unchanged until complete evidence"]}
|
||||
{"id":"WBV2-P27-001","gapId":"VERIFICATION.BATCH_PLANNER","ownerFamily":"VERIFICATION","sourceTask":"P27","state":"completed","targetImplementationClass":"VERIFICATION_ONLY","exitCriteria":["existing source and behavior hashes are reused","duplicate behavior runs remain zero","Chromium is the only production browser","overlay is unchanged until complete evidence"]}
|
||||
{"id":"WBV2-P27-002","gapId":"VERIFICATION.CHROMIUM_RECEIPTS","ownerFamily":"CHROMIUM","sourceTask":"P27","state":"active","targetImplementationClass":"VERIFICATION_ONLY","exitCriteria":["existing source and behavior hashes are reused","duplicate behavior runs remain zero","Chromium is the only production browser","overlay is unchanged until complete evidence"]}
|
||||
{"id":"WBV2-P27-003","gapId":"VERIFICATION.COMPLETION_OVERLAY","ownerFamily":"RELEASE","sourceTask":"P27","state":"pending","targetImplementationClass":"VERIFICATION_ONLY","exitCriteria":["existing source and behavior hashes are reused","duplicate behavior runs remain zero","Chromium is the only production browser","overlay is unchanged until complete evidence"]}
|
||||
{"id":"WBV2-P32-000","gapId":"workflow:authorize_scene_context_workbench","ownerFamily":"PROGRAM","sourceTask":"P32","state":"completed","targetImplementationClass":"SOURCE_BACKED","exitCriteria":["real source or WebEngine Main path is wired","unsupported input fails closed","implementation smoke is reproducible","verification remains deferred"]}
|
||||
{"id":"WBV2-P32-001","gapId":"workflow:implement_scene_context_workbench","ownerFamily":"WORKFLOW","sourceTask":"P32","state":"completed","targetImplementationClass":"SOURCE_BACKED","exitCriteria":["real source or WebEngine Main path is wired","unsupported input fails closed","implementation smoke is reproducible","verification remains deferred"]}
|
||||
{"id":"WBV2-P32-002","gapId":"workflow:implement_release_status_workbench","ownerFamily":"RELEASE","sourceTask":"P32","state":"completed","targetImplementationClass":"SOURCE_BACKED","exitCriteria":["real source or WebEngine Main path is wired","unsupported input fails closed","implementation smoke is reproducible","verification remains deferred"]}
|
||||
{"id":"WBV2-P32-003","gapId":"workflow:run_p32_implementation_smoke","ownerFamily":"RELEASE","sourceTask":"P32","state":"completed","targetImplementationClass":"SOURCE_BACKED","exitCriteria":["real source or WebEngine Main path is wired","unsupported input fails closed","implementation smoke is reproducible","verification remains deferred"]}
|
||||
{"id":"WBV2-P33-000","gapId":"workflow:authorize_next_implementation_wave","ownerFamily":"PROGRAM","sourceTask":"P33","state":"active","targetImplementationClass":"SOURCE_BACKED","exitCriteria":["real source or WebEngine Main path is wired","unsupported input fails closed","implementation smoke is reproducible","verification remains deferred"]}
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"schemaVersion":1,"operation":"BLENDER_WEB_CAPABILITY_TASK_INDEX","source":{"path":"tests/golden/WBV2-P27-001/implementation-task-plan.json","sha256":"93473eeb6f6c0d48a52048f712d3a2e7b11fa3d81619e0746331aa0acc692d99"},"catalog":{"path":"tests/golden/WBV2/task-catalog.jsonl","sha256":"40b17a75157456b34e0338194dd852d4c11102f6da047fab7b9ab4026c2e17f7"},"taskCount":4,"activeTask":"WBV2-P27-002","entries":{"WBV2-P27-000":{"line":0,"offset":0,"length":382,"previous":"WBV2-P26-006","next":"WBV2-P27-001"},"WBV2-P27-001":{"line":1,"offset":382,"length":368,"previous":"WBV2-P27-000","next":"WBV2-P27-002"},"WBV2-P27-002":{"line":2,"offset":750,"length":365,"previous":"WBV2-P27-001","next":"WBV2-P27-003"},"WBV2-P27-003":{"line":3,"offset":1115,"length":366,"previous":"WBV2-P27-002","next":null}}}
|
||||
{"schemaVersion":1,"operation":"BLENDER_WEB_CAPABILITY_TASK_INDEX","source":{"path":"tests/golden/WBV2-P32-003/scene-context-task-plan.json","sha256":"eca8a703b2933ce58fedb74fcd566da6aaf6e037d944c9a33c5222991aec8d61"},"catalog":{"path":"tests/golden/WBV2/task-catalog.jsonl","sha256":"a92e7960c80069cdff88cd964f269cab235356f6b1ecfde6f67c267a5b457c64"},"taskCount":5,"activeTask":"WBV2-P33-000","entries":{"WBV2-P32-000":{"line":0,"offset":0,"length":349,"previous":"WBV2-P31-003","next":"WBV2-P32-001"},"WBV2-P32-001":{"line":1,"offset":349,"length":350,"previous":"WBV2-P32-000","next":"WBV2-P32-002"},"WBV2-P32-002":{"line":2,"offset":699,"length":350,"previous":"WBV2-P32-001","next":"WBV2-P32-003"},"WBV2-P32-003":{"line":3,"offset":1049,"length":344,"previous":"WBV2-P32-002","next":"WBV2-P33-000"},"WBV2-P33-000":{"line":4,"offset":1393,"length":347,"previous":"WBV2-P32-003","next":null}}}
|
||||
|
||||
Reference in New Issue
Block a user