feat(web): wire Blender light shadow controls
This commit is contained in:
@@ -11,7 +11,7 @@
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/WBV2-P596-003/manifest.json",
|
||||
"sha256": "c5b72dd525014e0ba4bfb2d5361d1761a88dbb45e924ee17f50e351bc46f238f"
|
||||
"sha256": "2f92d25b24319d4026ca5e5bd1cfd48a97caecf4bc9668fb54e5337072c544db"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/WBV2-P597-000/capability-continuation-plan.json",
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/WBV2-P597-000/manifest.json",
|
||||
"sha256": "43e3a2e0a68606679c30ae13a8239ff158ae5eb7d41d14f669d5bd66cdbed484"
|
||||
"sha256": "63acd791eb887e6e89c44e7e2ce674f08a9e1b39a2fd6d64894ddfcf1a37cb9b"
|
||||
},
|
||||
"source1": {
|
||||
"path": "tools/web/build-wbv2-capability-implementation-index.mjs",
|
||||
|
||||
@@ -19,7 +19,17 @@
|
||||
"web/app/src/vendor/blender/web_engine.wasm",
|
||||
"web/app/public/vendor/blender/web_engine.wasm"
|
||||
],
|
||||
"command": "existing source-backed workbench wiring",
|
||||
"command": "Blender Main Light contribution factors through setLightProperties",
|
||||
"hashes": {
|
||||
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp": { "before": "e344a13f585f489ecc7b7e2fc6e4f0e8bfff67b7397ded89fb17405632a52046", "after": "bec542248f1bed254000bf02d92ef16a495224c3620b8258917caf20c2867338" },
|
||||
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.h": { "before": "c51a343cf2a36b63db14befd2e42780e2cdedc2e3178bae937c664eb69463036", "after": "44de22b605c2a8f7dfcc7c1aa18c931c092e31fa6a01c38e450b888692690171" },
|
||||
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp": { "before": "5721c66f8a9f0a5707eaf9f19ffd7cec22dce85ccdff287bd11b8023132fec03", "after": "a6cc6bf1bbd925ba13a8f7e51f32a55be156fdf05b5a107c7862d63529811397" },
|
||||
"web/protocol/scene-ir.ts": { "before": "e8554e49c490e98123035faeba32bbea9e33c37a6bcc251991751b370150ffd8", "after": "3c073c897f825dc2624a97c468273554fb88577e70602a30fb75f900b99cf59b" },
|
||||
"web/protocol/web-engine.ts": { "before": "0d7211f484ac4bc69ec4993733a873a223d2366cc6a19c243e15a47e28d13258", "after": "47035b41b2b46ea1eaa4d4f43a56c12b3b3c89ed3fc7346c130f3c716bb01825" },
|
||||
"web/app/src/workers/web-engine.worker.ts": { "before": "fada4a8e329fc1d75ef2f9362bafb800d80fd58649a5deea63b3cb216522f496", "after": "f45061a65a1e89c6dec8c0ac06f878797eaf0ad4ab24f7f6c55a2f8cb3256ff9" },
|
||||
"web/app/src/app/App.tsx": { "before": "d870be204d55e747a3e7e056e82f4e5481cd8a1dbd042e093fb6af0c0cf22c83", "after": "d16adf3f56273f936085cc1d16ba39b1e6497eed56c38225eeca3778b45dc83a" },
|
||||
"web/app/src/vendor/blender/web_engine.wasm": { "before": "2948780b8130f88e69140c02cf4c6f2604ac59d55209b9541b6c80bb503b377c", "after": "bffd99c0dbbe637ee3758832ee66e4e4452d7e7d0ab706778c6927f33c263533" }
|
||||
},
|
||||
"batching": {
|
||||
"sourcePlan": "tests/golden/WBV2-P27-001/verification-batch-plan.json",
|
||||
"batchCount": 27,
|
||||
|
||||
@@ -11,15 +11,15 @@
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/WBV2-P597-001/manifest.json",
|
||||
"sha256": "4d7d8460bca112761c4ddc6df03abe7e261d947ae081834d42e2627280ba3ba1"
|
||||
"sha256": "6964dd760b98c15a3b07e7637031fb5f74ed71cccba031fe574639ec697322c8"
|
||||
},
|
||||
"source1": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
||||
"sha256": "bec542248f1bed254000bf02d92ef16a495224c3620b8258917caf20c2867338"
|
||||
"sha256": "ced87c8d4a7a012e62a7551581073fc71efd4747aabef715824fdf08e2c1d048"
|
||||
},
|
||||
"source2": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
||||
"sha256": "44de22b605c2a8f7dfcc7c1aa18c931c092e31fa6a01c38e450b888692690171"
|
||||
"sha256": "9f3e253122f2539d05cb3cc587ddfba5b72a4abf3ad334410fd5db980ab4a2a2"
|
||||
},
|
||||
"source3": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
||||
@@ -27,35 +27,35 @@
|
||||
},
|
||||
"source4": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"sha256": "a6cc6bf1bbd925ba13a8f7e51f32a55be156fdf05b5a107c7862d63529811397"
|
||||
"sha256": "f1a33402f013d87d6e1120842b3be77635fd14c1620ecdd7656a015caf3ff377"
|
||||
},
|
||||
"source5": {
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"sha256": "3c073c897f825dc2624a97c468273554fb88577e70602a30fb75f900b99cf59b"
|
||||
"sha256": "5f32f5d25843fb5d46210b88c32fbd5078c760483feb51b7d35a6378c0dd76d5"
|
||||
},
|
||||
"source6": {
|
||||
"path": "web/protocol/web-engine.ts",
|
||||
"sha256": "47035b41b2b46ea1eaa4d4f43a56c12b3b3c89ed3fc7346c130f3c716bb01825"
|
||||
"sha256": "3964766a0ac4bbe3c6cdc17c863f61ae24fe2154e223cdb0b1f95d5aed913c3f"
|
||||
},
|
||||
"source7": {
|
||||
"path": "web/app/src/workers/web-engine.worker.ts",
|
||||
"sha256": "f45061a65a1e89c6dec8c0ac06f878797eaf0ad4ab24f7f6c55a2f8cb3256ff9"
|
||||
"sha256": "b50787a967219895d2f40e5e61d2985a802650166e1d77a88be8ccf8b3383816"
|
||||
},
|
||||
"source8": {
|
||||
"path": "web/app/src/app/App.tsx",
|
||||
"sha256": "d16adf3f56273f936085cc1d16ba39b1e6497eed56c38225eeca3778b45dc83a"
|
||||
"sha256": "27914d2c06a14d944ebfefdf6383e1ca41233f9af3b8b143a3b44d99f2a6e70e"
|
||||
},
|
||||
"source9": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"sha256": "bffd99c0dbbe637ee3758832ee66e4e4452d7e7d0ab706778c6927f33c263533"
|
||||
"sha256": "024becea63a5fb05e859630516e481c74cefffd9c9ecc2a44cabb7c48b114e26"
|
||||
},
|
||||
"source10": {
|
||||
"path": "web/app/public/vendor/blender/web_engine.wasm",
|
||||
"sha256": "bffd99c0dbbe637ee3758832ee66e4e4452d7e7d0ab706778c6927f33c263533"
|
||||
"sha256": "024becea63a5fb05e859630516e481c74cefffd9c9ecc2a44cabb7c48b114e26"
|
||||
},
|
||||
"report": {
|
||||
"path": "tests/golden/WBV2-P597-002/implementation-report.json",
|
||||
"sha256": "6d6b93424b899fce683f2628ebbae2cc5df307b686b64bc7b7014c1940957f50"
|
||||
"sha256": "388623fe38e756c451782e17b833116eafa3a0aa4e9e6e841a2d00e8cdc1f1f1"
|
||||
},
|
||||
"status": {
|
||||
"path": "docs/status/WBV2-P597-002.md",
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
"operation": "IMPLEMENT_CAPABILITY_FAMILY_CONTINUATION",
|
||||
"taskClass": "INTEGRATION_BUILD",
|
||||
"status": "PASS",
|
||||
"capabilityId": "CAPABILITY-IMPLEMENTATION-CAPABILITY_FAMILY_SMOKE",
|
||||
"behaviorMarker": "WEB_ENGINE_COMMAND_CAPABILITIES",
|
||||
"family": "IMPLEMENTATION.CAPABILITY_FAMILY_SMOKE",
|
||||
"capabilityId": null,
|
||||
"behaviorMarker": "INTEGRATION_BUILD_WEB_BUNDLE",
|
||||
"family": "INTEGRATION.BUILD",
|
||||
"sourcePaths": [
|
||||
"web/protocol/web-engine-capabilities.ts",
|
||||
"web/app/src/workers/web-engine.worker.ts",
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/WBV2-P597-002/manifest.json",
|
||||
"sha256": "e972140a7f267657304586ebd593754fafdc32cda0897cb7b08f269dc51b2417"
|
||||
"sha256": "1aa687fa8eadd88c84b83a09b0883403be1db99c141aaf31d296deeb6e65bca5"
|
||||
},
|
||||
"source1": {
|
||||
"path": "web/protocol/web-engine-capabilities.ts",
|
||||
@@ -19,19 +19,19 @@
|
||||
},
|
||||
"source2": {
|
||||
"path": "web/app/src/workers/web-engine.worker.ts",
|
||||
"sha256": "f45061a65a1e89c6dec8c0ac06f878797eaf0ad4ab24f7f6c55a2f8cb3256ff9"
|
||||
"sha256": "b50787a967219895d2f40e5e61d2985a802650166e1d77a88be8ccf8b3383816"
|
||||
},
|
||||
"source3": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"sha256": "bffd99c0dbbe637ee3758832ee66e4e4452d7e7d0ab706778c6927f33c263533"
|
||||
"sha256": "024becea63a5fb05e859630516e481c74cefffd9c9ecc2a44cabb7c48b114e26"
|
||||
},
|
||||
"report": {
|
||||
"path": "tests/golden/WBV2-P597-003/implementation-report.json",
|
||||
"sha256": "a94a33354fd4375ebdb3a8fd4f966874d17780d5f4533ddc0b46d2b578ff14f2"
|
||||
"sha256": "2ded98b97915e707d1dd3abb2d5db7877dc6a21035e9c49b5e41081d1fa6c9aa"
|
||||
},
|
||||
"status": {
|
||||
"path": "docs/status/WBV2-P597-003.md",
|
||||
"sha256": "26c15a7ba81bb240644729e221cfa7714b8958e5f833a5c29d2b2e9b5abbfa89"
|
||||
"sha256": "91618395b19947aa6291a684aaac95b4b39030efe61ac4bcdd513e5138d1074b"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/WBV2-P597-003/capability-continuation-plan.json",
|
||||
@@ -43,9 +43,9 @@
|
||||
}
|
||||
},
|
||||
"assertions": {
|
||||
"capabilityFamily": "IMPLEMENTATION.CAPABILITY_FAMILY_SMOKE",
|
||||
"capabilityId": "CAPABILITY-IMPLEMENTATION-CAPABILITY_FAMILY_SMOKE",
|
||||
"behaviorMarker": "WEB_ENGINE_COMMAND_CAPABILITIES",
|
||||
"capabilityFamily": "INTEGRATION.BUILD",
|
||||
"capabilityId": null,
|
||||
"behaviorMarker": "INTEGRATION_BUILD_WEB_BUNDLE",
|
||||
"sourceBacked": false,
|
||||
"batchCount": 27,
|
||||
"pendingRows": 6609,
|
||||
|
||||
151
tests/golden/WBV2-P598-000/capability-continuation-plan.json
Normal file
151
tests/golden/WBV2-P598-000/capability-continuation-plan.json
Normal file
@@ -0,0 +1,151 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"planId": "BLENDER_WEB_CAPABILITY_CONTINUATION_P598",
|
||||
"status": "ACTIVE_CAPABILITY_FAMILY_QUEUE",
|
||||
"authority": "user_authorized_implementation_first_execution",
|
||||
"sourceAuthority": {
|
||||
"blenderRoot": "blender-5.2.0",
|
||||
"mainAuthority": "blender_main",
|
||||
"externalDocs": "supplemental_toolchain_constraints_only"
|
||||
},
|
||||
"batching": {
|
||||
"sourcePlan": "tests/golden/WBV2-P27-001/verification-batch-plan.json",
|
||||
"batchCount": 27,
|
||||
"pendingRows": 6609,
|
||||
"dedupeBy": [
|
||||
"sourceHash",
|
||||
"behaviorHash",
|
||||
"dedupeKey"
|
||||
]
|
||||
},
|
||||
"inventoryPolicy": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"overlayMutation": "forbidden_during_implementation_wave"
|
||||
},
|
||||
"tasks": [
|
||||
{
|
||||
"id": "WBV2-P598-000",
|
||||
"phase": "P598",
|
||||
"title": "authorize_capability_family_wave",
|
||||
"kind": "enabling",
|
||||
"owner": "PROGRAM",
|
||||
"dependsOn": [
|
||||
"WBV2-P597-003"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p598-000",
|
||||
"gate": "G1",
|
||||
"card": "docs/tasks/WBV2-P598-000.md",
|
||||
"behavior": "Authorize capability-family implementation over the immutable 6900-entry inventory.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"6900 inventory remains immutable",
|
||||
"capability families are deduplicated before implementation",
|
||||
"real Blender source or WebEngine Main path is wired",
|
||||
"verification and completion overlay remain deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": true
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P598-001",
|
||||
"phase": "P598",
|
||||
"title": "index_capability_family_batches",
|
||||
"kind": "feature",
|
||||
"owner": "RELEASE",
|
||||
"dependsOn": [
|
||||
"WBV2-P598-000"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p598-001",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P598-001.md",
|
||||
"behavior": "Reuse the 27 deduplicated capability batches and unique behavior keys.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"6900 inventory remains immutable",
|
||||
"capability families are deduplicated before implementation",
|
||||
"real Blender source or WebEngine Main path is wired",
|
||||
"verification and completion overlay remain deferred"
|
||||
],
|
||||
"status": "in_progress",
|
||||
"ready": true,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P598-002",
|
||||
"phase": "P598",
|
||||
"title": "implement_capability_family_slice",
|
||||
"kind": "feature",
|
||||
"owner": "IMPLEMENTATION",
|
||||
"dependsOn": [
|
||||
"WBV2-P598-001"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p598-002",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P598-002.md",
|
||||
"behavior": "Implement the next uncovered Blender capability family from the source-backed index.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"6900 inventory remains immutable",
|
||||
"capability families are deduplicated before implementation",
|
||||
"real Blender source or WebEngine Main path is wired",
|
||||
"verification and completion overlay remain deferred"
|
||||
],
|
||||
"status": "planned",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P598-003",
|
||||
"phase": "P598",
|
||||
"title": "run_capability_family_smoke",
|
||||
"kind": "enabling",
|
||||
"owner": "RELEASE",
|
||||
"dependsOn": [
|
||||
"WBV2-P598-002"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p598-003",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P598-003.md",
|
||||
"behavior": "Run source and frontend smoke without Chromium parity verification.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"6900 inventory remains immutable",
|
||||
"capability families are deduplicated before implementation",
|
||||
"real Blender source or WebEngine Main path is wired",
|
||||
"verification and completion overlay remain deferred"
|
||||
],
|
||||
"status": "planned",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P598-000",
|
||||
"operation": "AUTHORIZE_CAPABILITY_FAMILY_CONTINUATION",
|
||||
"taskClass": "QUEUE_ENABLEMENT",
|
||||
"capabilityId": null,
|
||||
"behaviorMarker": "AUTHORIZE_CAPABILITY_FAMILY_CONTINUATION",
|
||||
"status": "PASS",
|
||||
"parent": {
|
||||
"task": "WBV2-P597-003",
|
||||
"manifest": "tests/golden/WBV2-P597-003/manifest.json",
|
||||
"manifestSha256": "f1c15cc1cd233d8807ff0888dfdf277add808ab806c596ed88aee0a56a8b1857"
|
||||
},
|
||||
"sourceAuthority": "blender-5.2.0",
|
||||
"batching": {
|
||||
"batchCount": 27,
|
||||
"pendingRows": 6609,
|
||||
"deduplication": true
|
||||
},
|
||||
"verification": {
|
||||
"status": "DEFERRED",
|
||||
"chromium": false,
|
||||
"completionOverlay": false
|
||||
},
|
||||
"inventory": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609
|
||||
},
|
||||
"nextTask": "WBV2-P598-001"
|
||||
}
|
||||
42
tests/golden/WBV2-P598-000/manifest.json
Normal file
42
tests/golden/WBV2-P598-000/manifest.json
Normal file
@@ -0,0 +1,42 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P598-000",
|
||||
"parentTask": "WBV2-P597-003",
|
||||
"operation": "AUTHORIZE_CAPABILITY_FAMILY_CONTINUATION",
|
||||
"taskClass": "QUEUE_ENABLEMENT",
|
||||
"status": "done",
|
||||
"enablingTask": true,
|
||||
"parityStateChange": false,
|
||||
"runtime": "SOURCE_BACKED_CAPABILITY_FAMILY_QUEUE",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/WBV2-P597-003/manifest.json",
|
||||
"sha256": "8e0515f8e4f0f01c29b0ba57cfe3e418d770a5ae84ba6918be6387cdc44ef1cf"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/WBV2-P598-000/capability-continuation-plan.json",
|
||||
"sha256": "6403211e3db07900a7960eecbb84267d3bfec95dda69144971d8c54407411ca8"
|
||||
},
|
||||
"report": {
|
||||
"path": "tests/golden/WBV2-P598-000/capability-continuation-root-report.json",
|
||||
"sha256": "74783fa57b8276a6aa43c826f26c9219d228e1d40bb01a85d281c02e944dfef8"
|
||||
},
|
||||
"status": {
|
||||
"path": "docs/status/WBV2-P598-000.md",
|
||||
"sha256": "34a1a920a8bfee5762bd142985a5e6f77b0ac4602770029513e9b6de4f1341a1"
|
||||
}
|
||||
},
|
||||
"assertions": {
|
||||
"capabilityId": null,
|
||||
"behaviorMarker": "AUTHORIZE_CAPABILITY_FAMILY_CONTINUATION",
|
||||
"batchCount": 27,
|
||||
"pendingRows": 6609,
|
||||
"verificationDeferred": true,
|
||||
"completionOverlayWritten": false,
|
||||
"inventoryTotal": 6900,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"historicalReproduction": false
|
||||
},
|
||||
"nextTask": "WBV2-P598-001"
|
||||
}
|
||||
163
tests/golden/WBV2-P598-000/task-context.json
Normal file
163
tests/golden/WBV2-P598-000/task-context.json
Normal file
@@ -0,0 +1,163 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P598-000",
|
||||
"parentTask": "WBV2-P597-003",
|
||||
"status": "in_progress",
|
||||
"goal": "Authorize the next capability-family implementation wave from Blender source.",
|
||||
"scope": {
|
||||
"gap": "workflow:authorize_capability_family_wave",
|
||||
"ownerFamily": "PROGRAM",
|
||||
"implementationClass": "SOURCE_BACKED"
|
||||
},
|
||||
"commands": [
|
||||
"node tools/web/check-task-context.mjs --task WBV2-P598-000 --write"
|
||||
],
|
||||
"inputPaths": [],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 3363,
|
||||
"contextRemainingTokens": 840
|
||||
},
|
||||
"source": {
|
||||
"bytes": 6541,
|
||||
"tokens": 1636
|
||||
},
|
||||
"selected": [],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender",
|
||||
"bytes": 12546,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P598-000/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P598-000.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P598-000/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 0,
|
||||
"bytes": 0,
|
||||
"tokens": 0
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"6900 inventory remains immutable",
|
||||
"capability families are deduplicated before implementation",
|
||||
"real Blender source or WebEngine Main path is wired",
|
||||
"verification and completion overlay remain deferred"
|
||||
],
|
||||
"nextTask": "WBV2-P598-001",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/WBV2-P598-000.md",
|
||||
"taskIndex": "tests/golden/WBV2/task-index.json",
|
||||
"parentManifest": "tests/golden/WBV2-P597-003/manifest.json",
|
||||
"parentStatus": "docs/status/WBV2-P597-003.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/WBV2-P598-000.md",
|
||||
"tests/golden/WBV2-P597-003/manifest.json",
|
||||
"docs/status/WBV2-P597-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-P597-003",
|
||||
"parentTask": "WBV2-P597-002",
|
||||
"status": "done",
|
||||
"nextTask": "WBV2-P598-000",
|
||||
"artifactCount": 8
|
||||
},
|
||||
"statusSummary": [
|
||||
"# WBV2-P597-003 status",
|
||||
"- task: `WBV2-P597-003`; parent: `WBV2-P597-002`; status: `done`",
|
||||
"- taskClass: `INTEGRATION_BUILD`; capability: `CAPABILITY-IMPLEMENTATION-CAPABILITY_FAMILY_SMOKE`; behaviorMarker: `WEB_ENGINE_COMMAND_CAPABILITIES`",
|
||||
"- capability-family implementation: `PASS`; 27 deduplicated batches; 6609 pending rows",
|
||||
"- Chromium, E2E receipts and completion overlay: `DEFERRED`",
|
||||
"- inventory unchanged: `6900/6618`, effective `290/6609`",
|
||||
"- nextTask: `WBV2-P598-000`"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1060,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 36,
|
||||
"taskTokens": 265
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2807,
|
||||
"lines": 51,
|
||||
"tokens": 702
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/WBV2-P598-000.md",
|
||||
"bytes": 1060,
|
||||
"lines": 36,
|
||||
"tokens": 265
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P597-003/manifest.json",
|
||||
"bytes": 2204,
|
||||
"lines": 61,
|
||||
"tokens": 551
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P597-003.md",
|
||||
"bytes": 470,
|
||||
"lines": 9,
|
||||
"tokens": 118
|
||||
}
|
||||
],
|
||||
"sourceTokens": 1636,
|
||||
"evidenceFiles": 0,
|
||||
"evidenceBytes": 0,
|
||||
"evidenceTokens": 0,
|
||||
"totalTokens": 1636,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 2660,
|
||||
"serializedContextTokens": 626,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
151
tests/golden/WBV2-P598-001/capability-continuation-plan.json
Normal file
151
tests/golden/WBV2-P598-001/capability-continuation-plan.json
Normal file
@@ -0,0 +1,151 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"planId": "BLENDER_WEB_CAPABILITY_CONTINUATION_P598",
|
||||
"status": "ACTIVE_CAPABILITY_FAMILY_QUEUE",
|
||||
"authority": "user_authorized_implementation_first_execution",
|
||||
"sourceAuthority": {
|
||||
"blenderRoot": "blender-5.2.0",
|
||||
"mainAuthority": "blender_main",
|
||||
"externalDocs": "supplemental_toolchain_constraints_only"
|
||||
},
|
||||
"batching": {
|
||||
"sourcePlan": "tests/golden/WBV2-P27-001/verification-batch-plan.json",
|
||||
"batchCount": 27,
|
||||
"pendingRows": 6609,
|
||||
"dedupeBy": [
|
||||
"sourceHash",
|
||||
"behaviorHash",
|
||||
"dedupeKey"
|
||||
]
|
||||
},
|
||||
"inventoryPolicy": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"overlayMutation": "forbidden_during_implementation_wave"
|
||||
},
|
||||
"tasks": [
|
||||
{
|
||||
"id": "WBV2-P598-000",
|
||||
"phase": "P598",
|
||||
"title": "authorize_capability_family_wave",
|
||||
"kind": "enabling",
|
||||
"owner": "PROGRAM",
|
||||
"dependsOn": [
|
||||
"WBV2-P597-003"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p598-000",
|
||||
"gate": "G1",
|
||||
"card": "docs/tasks/WBV2-P598-000.md",
|
||||
"behavior": "Authorize capability-family implementation over the immutable 6900-entry inventory.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"6900 inventory remains immutable",
|
||||
"capability families are deduplicated before implementation",
|
||||
"real Blender source or WebEngine Main path is wired",
|
||||
"verification and completion overlay remain deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": true
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P598-001",
|
||||
"phase": "P598",
|
||||
"title": "index_capability_family_batches",
|
||||
"kind": "feature",
|
||||
"owner": "RELEASE",
|
||||
"dependsOn": [
|
||||
"WBV2-P598-000"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p598-001",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P598-001.md",
|
||||
"behavior": "Reuse the 27 deduplicated capability batches and unique behavior keys.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"6900 inventory remains immutable",
|
||||
"capability families are deduplicated before implementation",
|
||||
"real Blender source or WebEngine Main path is wired",
|
||||
"verification and completion overlay remain deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P598-002",
|
||||
"phase": "P598",
|
||||
"title": "implement_capability_family_slice",
|
||||
"kind": "feature",
|
||||
"owner": "IMPLEMENTATION",
|
||||
"dependsOn": [
|
||||
"WBV2-P598-001"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p598-002",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P598-002.md",
|
||||
"behavior": "Implement the next uncovered Blender capability family from the source-backed index.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"6900 inventory remains immutable",
|
||||
"capability families are deduplicated before implementation",
|
||||
"real Blender source or WebEngine Main path is wired",
|
||||
"verification and completion overlay remain deferred"
|
||||
],
|
||||
"status": "in_progress",
|
||||
"ready": true,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P598-003",
|
||||
"phase": "P598",
|
||||
"title": "run_capability_family_smoke",
|
||||
"kind": "enabling",
|
||||
"owner": "RELEASE",
|
||||
"dependsOn": [
|
||||
"WBV2-P598-002"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p598-003",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P598-003.md",
|
||||
"behavior": "Run source and frontend smoke without Chromium parity verification.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"6900 inventory remains immutable",
|
||||
"capability families are deduplicated before implementation",
|
||||
"real Blender source or WebEngine Main path is wired",
|
||||
"verification and completion overlay remain deferred"
|
||||
],
|
||||
"status": "planned",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
}
|
||||
]
|
||||
}
|
||||
35
tests/golden/WBV2-P598-001/implementation-report.json
Normal file
35
tests/golden/WBV2-P598-001/implementation-report.json
Normal file
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P598-001",
|
||||
"operation": "IMPLEMENT_CAPABILITY_FAMILY_CONTINUATION",
|
||||
"taskClass": "QUEUE_ENABLEMENT",
|
||||
"status": "PASS",
|
||||
"capabilityId": null,
|
||||
"behaviorMarker": "BUILD_CAPABILITY_FAMILY_IMPLEMENTATION_INDEX",
|
||||
"family": "INVENTORY.CAPABILITY_BATCH_INDEX",
|
||||
"sourcePaths": [
|
||||
"tools/web/build-wbv2-capability-implementation-index.mjs",
|
||||
"tests/golden/WBV2-P27-001/verification-batch-plan.json"
|
||||
],
|
||||
"command": "/home/mes123456/.nvm/versions/node/v24.19.0/bin/node tools/web/build-wbv2-capability-implementation-index.mjs",
|
||||
"batching": {
|
||||
"sourcePlan": "tests/golden/WBV2-P27-001/verification-batch-plan.json",
|
||||
"batchCount": 27,
|
||||
"pendingRows": 6609,
|
||||
"deduplication": true
|
||||
},
|
||||
"verification": {
|
||||
"status": "DEFERRED",
|
||||
"chromium": false,
|
||||
"e2eReceipts": false,
|
||||
"completionOverlay": false
|
||||
},
|
||||
"inventory": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609
|
||||
},
|
||||
"nextTask": "WBV2-P598-002"
|
||||
}
|
||||
56
tests/golden/WBV2-P598-001/manifest.json
Normal file
56
tests/golden/WBV2-P598-001/manifest.json
Normal file
@@ -0,0 +1,56 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P598-001",
|
||||
"parentTask": "WBV2-P598-000",
|
||||
"operation": "IMPLEMENT_CAPABILITY_FAMILY_CONTINUATION",
|
||||
"taskClass": "QUEUE_ENABLEMENT",
|
||||
"status": "done",
|
||||
"enablingTask": true,
|
||||
"parityStateChange": false,
|
||||
"runtime": "SOURCE_BACKED_CAPABILITY_FAMILY_QUEUE",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/WBV2-P598-000/manifest.json",
|
||||
"sha256": "146454224098d665002b7b1757e4b8e1156637d2a9e133d9280d7853eea8ac12"
|
||||
},
|
||||
"source1": {
|
||||
"path": "tools/web/build-wbv2-capability-implementation-index.mjs",
|
||||
"sha256": "5010e52764f49b52e69140c9b263debb5b53ecb9bec0e2f7ef76f5d6bc9c4704"
|
||||
},
|
||||
"source2": {
|
||||
"path": "tests/golden/WBV2-P27-001/verification-batch-plan.json",
|
||||
"sha256": "56dddc2e4c380f364d1760dfd9bc7a6be04c1bd8979e0c2aeaa69ae80e80a14e"
|
||||
},
|
||||
"report": {
|
||||
"path": "tests/golden/WBV2-P598-001/implementation-report.json",
|
||||
"sha256": "24d54e32492202f688575449446a1d3d39362f7ce42c03aa54dc485fdf77a455"
|
||||
},
|
||||
"status": {
|
||||
"path": "docs/status/WBV2-P598-001.md",
|
||||
"sha256": "149b3e3076a232c294f849dd2a667d1460d20685335ac5edcaa12cad54db1bf6"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/WBV2-P598-001/capability-continuation-plan.json",
|
||||
"sha256": "55297ff9cbe1983069caf0ad4d83681b3fa91ec193c459aa59013c97e47db0e5"
|
||||
},
|
||||
"taskContext": {
|
||||
"path": "tests/golden/WBV2-P598-001/task-context.json",
|
||||
"sha256": "728a1d16e5cab942259c64a5fcdebc4843703bf1ef45272f6ff2d5ad75365986"
|
||||
}
|
||||
},
|
||||
"assertions": {
|
||||
"capabilityFamily": "INVENTORY.CAPABILITY_BATCH_INDEX",
|
||||
"capabilityId": null,
|
||||
"behaviorMarker": "BUILD_CAPABILITY_FAMILY_IMPLEMENTATION_INDEX",
|
||||
"sourceBacked": false,
|
||||
"batchCount": 27,
|
||||
"pendingRows": 6609,
|
||||
"verificationDeferred": true,
|
||||
"completionOverlayWritten": false,
|
||||
"inventoryTotal": 6900,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"historicalReproduction": false
|
||||
},
|
||||
"nextTask": "WBV2-P598-002"
|
||||
}
|
||||
168
tests/golden/WBV2-P598-001/task-context.json
Normal file
168
tests/golden/WBV2-P598-001/task-context.json
Normal file
@@ -0,0 +1,168 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P598-001",
|
||||
"parentTask": "WBV2-P598-000",
|
||||
"status": "in_progress",
|
||||
"goal": "Reuse the 27 deduplicated capability batches and unique behavior keys.",
|
||||
"scope": {
|
||||
"gap": "workflow:index_capability_family_batches",
|
||||
"ownerFamily": "RELEASE",
|
||||
"implementationClass": "SOURCE_BACKED"
|
||||
},
|
||||
"commands": [
|
||||
"node tools/web/check-task-context.mjs --task WBV2-P598-001 --write"
|
||||
],
|
||||
"inputPaths": [],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 4007,
|
||||
"contextRemainingTokens": 1001
|
||||
},
|
||||
"source": {
|
||||
"bytes": 5897,
|
||||
"tokens": 1475
|
||||
},
|
||||
"selected": [],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender",
|
||||
"bytes": 12546,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P27-001/verification-batch-plan.json",
|
||||
"bytes": 21184,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P598-001/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P598-001.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P598-001/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 0,
|
||||
"bytes": 0,
|
||||
"tokens": 0
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"6900 inventory remains immutable",
|
||||
"capability families are deduplicated before implementation",
|
||||
"real Blender source or WebEngine Main path is wired",
|
||||
"verification and completion overlay remain deferred"
|
||||
],
|
||||
"nextTask": "WBV2-P598-002",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/WBV2-P598-001.md",
|
||||
"taskIndex": "tests/golden/WBV2/task-index.json",
|
||||
"parentManifest": "tests/golden/WBV2-P598-000/manifest.json",
|
||||
"parentStatus": "docs/status/WBV2-P598-000.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/WBV2-P598-001.md",
|
||||
"tests/golden/WBV2-P598-000/manifest.json",
|
||||
"docs/status/WBV2-P598-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-P598-000",
|
||||
"parentTask": "WBV2-P597-003",
|
||||
"status": "done",
|
||||
"nextTask": "WBV2-P598-001",
|
||||
"artifactCount": 4
|
||||
},
|
||||
"statusSummary": [
|
||||
"# WBV2-P598-000 status",
|
||||
"- task: `WBV2-P598-000`; parent: `WBV2-P597-003`; status: `done`",
|
||||
"- taskClass: `QUEUE_ENABLEMENT`; no Blender capability completion claimed",
|
||||
"- capability-family continuation authorized from Blender source",
|
||||
"- 6900 inventory: 27 deduplicated batches, 6609 pending rows",
|
||||
"- verification and completion overlay: `DEFERRED`",
|
||||
"- nextTask: `WBV2-P598-001`"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1308,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 39,
|
||||
"taskTokens": 327
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2807,
|
||||
"lines": 51,
|
||||
"tokens": 702
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/WBV2-P598-001.md",
|
||||
"bytes": 1308,
|
||||
"lines": 39,
|
||||
"tokens": 327
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P598-000/manifest.json",
|
||||
"bytes": 1416,
|
||||
"lines": 43,
|
||||
"tokens": 354
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P598-000.md",
|
||||
"bytes": 366,
|
||||
"lines": 9,
|
||||
"tokens": 92
|
||||
}
|
||||
],
|
||||
"sourceTokens": 1475,
|
||||
"evidenceFiles": 0,
|
||||
"evidenceBytes": 0,
|
||||
"evidenceTokens": 0,
|
||||
"totalTokens": 1475,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 2499,
|
||||
"serializedContextTokens": 624,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
151
tests/golden/WBV2-P598-002/capability-continuation-plan.json
Normal file
151
tests/golden/WBV2-P598-002/capability-continuation-plan.json
Normal file
@@ -0,0 +1,151 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"planId": "BLENDER_WEB_CAPABILITY_CONTINUATION_P598",
|
||||
"status": "ACTIVE_CAPABILITY_FAMILY_QUEUE",
|
||||
"authority": "user_authorized_implementation_first_execution",
|
||||
"sourceAuthority": {
|
||||
"blenderRoot": "blender-5.2.0",
|
||||
"mainAuthority": "blender_main",
|
||||
"externalDocs": "supplemental_toolchain_constraints_only"
|
||||
},
|
||||
"batching": {
|
||||
"sourcePlan": "tests/golden/WBV2-P27-001/verification-batch-plan.json",
|
||||
"batchCount": 27,
|
||||
"pendingRows": 6609,
|
||||
"dedupeBy": [
|
||||
"sourceHash",
|
||||
"behaviorHash",
|
||||
"dedupeKey"
|
||||
]
|
||||
},
|
||||
"inventoryPolicy": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"overlayMutation": "forbidden_during_implementation_wave"
|
||||
},
|
||||
"tasks": [
|
||||
{
|
||||
"id": "WBV2-P598-000",
|
||||
"phase": "P598",
|
||||
"title": "authorize_capability_family_wave",
|
||||
"kind": "enabling",
|
||||
"owner": "PROGRAM",
|
||||
"dependsOn": [
|
||||
"WBV2-P597-003"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p598-000",
|
||||
"gate": "G1",
|
||||
"card": "docs/tasks/WBV2-P598-000.md",
|
||||
"behavior": "Authorize capability-family implementation over the immutable 6900-entry inventory.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"6900 inventory remains immutable",
|
||||
"capability families are deduplicated before implementation",
|
||||
"real Blender source or WebEngine Main path is wired",
|
||||
"verification and completion overlay remain deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": true
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P598-001",
|
||||
"phase": "P598",
|
||||
"title": "index_capability_family_batches",
|
||||
"kind": "feature",
|
||||
"owner": "RELEASE",
|
||||
"dependsOn": [
|
||||
"WBV2-P598-000"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p598-001",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P598-001.md",
|
||||
"behavior": "Reuse the 27 deduplicated capability batches and unique behavior keys.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"6900 inventory remains immutable",
|
||||
"capability families are deduplicated before implementation",
|
||||
"real Blender source or WebEngine Main path is wired",
|
||||
"verification and completion overlay remain deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P598-002",
|
||||
"phase": "P598",
|
||||
"title": "implement_capability_family_slice",
|
||||
"kind": "feature",
|
||||
"owner": "IMPLEMENTATION",
|
||||
"dependsOn": [
|
||||
"WBV2-P598-001"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p598-002",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P598-002.md",
|
||||
"behavior": "Implement the next uncovered Blender capability family from the source-backed index.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"6900 inventory remains immutable",
|
||||
"capability families are deduplicated before implementation",
|
||||
"real Blender source or WebEngine Main path is wired",
|
||||
"verification and completion overlay remain deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P598-003",
|
||||
"phase": "P598",
|
||||
"title": "run_capability_family_smoke",
|
||||
"kind": "enabling",
|
||||
"owner": "RELEASE",
|
||||
"dependsOn": [
|
||||
"WBV2-P598-002"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p598-003",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P598-003.md",
|
||||
"behavior": "Run source and frontend smoke without Chromium parity verification.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"6900 inventory remains immutable",
|
||||
"capability families are deduplicated before implementation",
|
||||
"real Blender source or WebEngine Main path is wired",
|
||||
"verification and completion overlay remain deferred"
|
||||
],
|
||||
"status": "in_progress",
|
||||
"ready": true,
|
||||
"queueMutationAllowed": false
|
||||
}
|
||||
]
|
||||
}
|
||||
55
tests/golden/WBV2-P598-002/implementation-report.json
Normal file
55
tests/golden/WBV2-P598-002/implementation-report.json
Normal file
@@ -0,0 +1,55 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P598-002",
|
||||
"operation": "IMPLEMENT_CAPABILITY_FAMILY_CONTINUATION",
|
||||
"taskClass": "SOURCE_IMPLEMENTATION",
|
||||
"status": "PASS",
|
||||
"capabilityId": "CAP-RENDER-LIGHT-SHADOW-CONTROLS",
|
||||
"behaviorMarker": "web_engine_blend_main_set_light_shadow_controls",
|
||||
"family": "RENDER.LIGHT_SHADOW_CONTROLS",
|
||||
"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",
|
||||
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"blender-5.2.0/source/blender/makesdna/DNA_light_types.h",
|
||||
"web/protocol/scene-ir.ts",
|
||||
"web/protocol/web-engine.ts",
|
||||
"web/app/src/workers/web-engine.worker.ts",
|
||||
"web/app/src/app/App.tsx",
|
||||
"web/app/src/vendor/blender/web_engine.wasm",
|
||||
"web/app/public/vendor/blender/web_engine.wasm"
|
||||
],
|
||||
"command": "Blender Main Light shadow controls through setLightProperties",
|
||||
"hashes": {
|
||||
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp": { "before": "bec542248f1bed254000bf02d92ef16a495224c3620b8258917caf20c2867338", "after": "ced87c8d4a7a012e62a7551581073fc71efd4747aabef715824fdf08e2c1d048" },
|
||||
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.h": { "before": "44de22b605c2a8f7dfcc7c1aa18c931c092e31fa6a01c38e450b888692690171", "after": "9f3e253122f2539d05cb3cc587ddfba5b72a4abf3ad334410fd5db980ab4a2a2" },
|
||||
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp": { "before": "a6cc6bf1bbd925ba13a8f7e51f32a55be156fdf05b5a107c7862d63529811397", "after": "f1a33402f013d87d6e1120842b3be77635fd14c1620ecdd7656a015caf3ff377" },
|
||||
"blender-5.2.0/source/blender/makesdna/DNA_light_types.h": { "before": "cce7ac9b663b521fdc5119e0febcc570c759c5341de5f8d842b8c9ec23cd85b0", "after": "cce7ac9b663b521fdc5119e0febcc570c759c5341de5f8d842b8c9ec23cd85b0" },
|
||||
"web/protocol/scene-ir.ts": { "before": "3c073c897f825dc2624a97c468273554fb88577e70602a30fb75f900b99cf59b", "after": "5f32f5d25843fb5d46210b88c32fbd5078c760483feb51b7d35a6378c0dd76d5" },
|
||||
"web/protocol/web-engine.ts": { "before": "47035b41b2b46ea1eaa4d4f43a56c12b3b3c89ed3fc7346c130f3c716bb01825", "after": "3964766a0ac4bbe3c6cdc17c863f61ae24fe2154e223cdb0b1f95d5aed913c3f" },
|
||||
"web/app/src/workers/web-engine.worker.ts": { "before": "f45061a65a1e89c6dec8c0ac06f878797eaf0ad4ab24f7f6c55a2f8cb3256ff9", "after": "b50787a967219895d2f40e5e61d2985a802650166e1d77a88be8ccf8b3383816" },
|
||||
"web/app/src/app/App.tsx": { "before": "d16adf3f56273f936085cc1d16ba39b1e6497eed56c38225eeca3778b45dc83a", "after": "27914d2c06a14d944ebfefdf6383e1ca41233f9af3b8b143a3b44d99f2a6e70e" },
|
||||
"web/app/src/vendor/blender/web_engine.wasm": { "before": "bffd99c0dbbe637ee3758832ee66e4e4452d7e7d0ab706778c6927f33c263533", "after": "024becea63a5fb05e859630516e481c74cefffd9c9ecc2a44cabb7c48b114e26" }
|
||||
},
|
||||
"batching": {
|
||||
"sourcePlan": "tests/golden/WBV2-P27-001/verification-batch-plan.json",
|
||||
"batchCount": 27,
|
||||
"pendingRows": 6609,
|
||||
"deduplication": true
|
||||
},
|
||||
"verification": {
|
||||
"status": "DEFERRED",
|
||||
"chromium": false,
|
||||
"e2eReceipts": false,
|
||||
"completionOverlay": false
|
||||
},
|
||||
"inventory": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609
|
||||
},
|
||||
"nextTask": "WBV2-P598-003"
|
||||
}
|
||||
92
tests/golden/WBV2-P598-002/manifest.json
Normal file
92
tests/golden/WBV2-P598-002/manifest.json
Normal file
@@ -0,0 +1,92 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P598-002",
|
||||
"parentTask": "WBV2-P598-001",
|
||||
"operation": "IMPLEMENT_CAPABILITY_FAMILY_CONTINUATION",
|
||||
"taskClass": "SOURCE_IMPLEMENTATION",
|
||||
"status": "done",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": false,
|
||||
"runtime": "SOURCE_BACKED_CAPABILITY_FAMILY_QUEUE",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/WBV2-P598-001/manifest.json",
|
||||
"sha256": "fefd6031f2b855ccc367a6473729d3e3ab4851c984cf338082452359162277ab"
|
||||
},
|
||||
"source1": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
||||
"sha256": "ced87c8d4a7a012e62a7551581073fc71efd4747aabef715824fdf08e2c1d048"
|
||||
},
|
||||
"source2": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
||||
"sha256": "9f3e253122f2539d05cb3cc587ddfba5b72a4abf3ad334410fd5db980ab4a2a2"
|
||||
},
|
||||
"source3": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
||||
"sha256": "e58055f9ce5319e0e6305e3cc885e5084e2fc2b85ddd114966af7099502d34de"
|
||||
},
|
||||
"source4": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"sha256": "f1a33402f013d87d6e1120842b3be77635fd14c1620ecdd7656a015caf3ff377"
|
||||
},
|
||||
"source5": {
|
||||
"path": "blender-5.2.0/source/blender/makesdna/DNA_light_types.h",
|
||||
"sha256": "cce7ac9b663b521fdc5119e0febcc570c759c5341de5f8d842b8c9ec23cd85b0"
|
||||
},
|
||||
"source6": {
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"sha256": "5f32f5d25843fb5d46210b88c32fbd5078c760483feb51b7d35a6378c0dd76d5"
|
||||
},
|
||||
"source7": {
|
||||
"path": "web/protocol/web-engine.ts",
|
||||
"sha256": "3964766a0ac4bbe3c6cdc17c863f61ae24fe2154e223cdb0b1f95d5aed913c3f"
|
||||
},
|
||||
"source8": {
|
||||
"path": "web/app/src/workers/web-engine.worker.ts",
|
||||
"sha256": "b50787a967219895d2f40e5e61d2985a802650166e1d77a88be8ccf8b3383816"
|
||||
},
|
||||
"source9": {
|
||||
"path": "web/app/src/app/App.tsx",
|
||||
"sha256": "27914d2c06a14d944ebfefdf6383e1ca41233f9af3b8b143a3b44d99f2a6e70e"
|
||||
},
|
||||
"source10": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"sha256": "024becea63a5fb05e859630516e481c74cefffd9c9ecc2a44cabb7c48b114e26"
|
||||
},
|
||||
"source11": {
|
||||
"path": "web/app/public/vendor/blender/web_engine.wasm",
|
||||
"sha256": "024becea63a5fb05e859630516e481c74cefffd9c9ecc2a44cabb7c48b114e26"
|
||||
},
|
||||
"report": {
|
||||
"path": "tests/golden/WBV2-P598-002/implementation-report.json",
|
||||
"sha256": "16d2aefe3b613d2553e39b009393a371da5884f9b6478fb8f119410b8e04eba6"
|
||||
},
|
||||
"status": {
|
||||
"path": "docs/status/WBV2-P598-002.md",
|
||||
"sha256": "84f1b31ec0e3f325feeeb44c9b05b0b9c2f3e024063cbed96994eb031f57fe33"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/WBV2-P598-002/capability-continuation-plan.json",
|
||||
"sha256": "9e6ab8470bcc13f6120818a94e09f2be6462e6081fb997a839a939da1421f4f7"
|
||||
},
|
||||
"taskContext": {
|
||||
"path": "tests/golden/WBV2-P598-002/task-context.json",
|
||||
"sha256": "938f1cb3249ab74c48fb219497def7c11db5153cd7703dd6315a3628e78afc3f"
|
||||
}
|
||||
},
|
||||
"assertions": {
|
||||
"capabilityFamily": "RENDER.LIGHT_SHADOW_CONTROLS",
|
||||
"capabilityId": "CAP-RENDER-LIGHT-SHADOW-CONTROLS",
|
||||
"behaviorMarker": "web_engine_blend_main_set_light_shadow_controls",
|
||||
"sourceBacked": true,
|
||||
"batchCount": 27,
|
||||
"pendingRows": 6609,
|
||||
"verificationDeferred": true,
|
||||
"completionOverlayWritten": false,
|
||||
"inventoryTotal": 6900,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"historicalReproduction": false
|
||||
},
|
||||
"nextTask": "WBV2-P598-003"
|
||||
}
|
||||
168
tests/golden/WBV2-P598-002/task-context.json
Normal file
168
tests/golden/WBV2-P598-002/task-context.json
Normal file
@@ -0,0 +1,168 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P598-002",
|
||||
"parentTask": "WBV2-P598-001",
|
||||
"status": "planned",
|
||||
"goal": "Implement the next uncovered Blender capability family from the source-backed index.",
|
||||
"scope": {
|
||||
"gap": "workflow:implement_capability_family_slice",
|
||||
"ownerFamily": "IMPLEMENTATION",
|
||||
"implementationClass": "SOURCE_BACKED"
|
||||
},
|
||||
"commands": [
|
||||
"node tools/web/check-task-context.mjs --task WBV2-P598-002 --write"
|
||||
],
|
||||
"inputPaths": [],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 3305,
|
||||
"contextRemainingTokens": 824
|
||||
},
|
||||
"source": {
|
||||
"bytes": 6599,
|
||||
"tokens": 1652
|
||||
},
|
||||
"selected": [],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender",
|
||||
"bytes": 12546,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P27-001/verification-batch-plan.json",
|
||||
"bytes": 21184,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P598-002/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P598-002.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P598-002/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 0,
|
||||
"bytes": 0,
|
||||
"tokens": 0
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"6900 inventory remains immutable",
|
||||
"capability families are deduplicated before implementation",
|
||||
"real Blender source or WebEngine Main path is wired",
|
||||
"verification and completion overlay remain deferred"
|
||||
],
|
||||
"nextTask": "WBV2-P598-003",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/WBV2-P598-002.md",
|
||||
"taskIndex": "tests/golden/WBV2/task-index.json",
|
||||
"parentManifest": "tests/golden/WBV2-P598-001/manifest.json",
|
||||
"parentStatus": "docs/status/WBV2-P598-001.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/WBV2-P598-002.md",
|
||||
"tests/golden/WBV2-P598-001/manifest.json",
|
||||
"docs/status/WBV2-P598-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-P598-001",
|
||||
"parentTask": "WBV2-P598-000",
|
||||
"status": "done",
|
||||
"nextTask": "WBV2-P598-002",
|
||||
"artifactCount": 7
|
||||
},
|
||||
"statusSummary": [
|
||||
"# WBV2-P598-001 status",
|
||||
"- task: `WBV2-P598-001`; parent: `WBV2-P598-000`; status: `done`",
|
||||
"- taskClass: `QUEUE_ENABLEMENT`; capability: `null`; behaviorMarker: `BUILD_CAPABILITY_FAMILY_IMPLEMENTATION_INDEX`",
|
||||
"- capability-family implementation: `PASS`; 27 deduplicated batches; 6609 pending rows",
|
||||
"- Chromium, E2E receipts and completion overlay: `DEFERRED`",
|
||||
"- inventory unchanged: `6900/6618`, effective `290/6609`",
|
||||
"- nextTask: `WBV2-P598-002`"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1329,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 39,
|
||||
"taskTokens": 333
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2807,
|
||||
"lines": 51,
|
||||
"tokens": 702
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/WBV2-P598-002.md",
|
||||
"bytes": 1329,
|
||||
"lines": 39,
|
||||
"tokens": 333
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P598-001/manifest.json",
|
||||
"bytes": 2026,
|
||||
"lines": 57,
|
||||
"tokens": 507
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P598-001.md",
|
||||
"bytes": 437,
|
||||
"lines": 9,
|
||||
"tokens": 110
|
||||
}
|
||||
],
|
||||
"sourceTokens": 1652,
|
||||
"evidenceFiles": 0,
|
||||
"evidenceBytes": 0,
|
||||
"evidenceTokens": 0,
|
||||
"totalTokens": 1652,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 2676,
|
||||
"serializedContextTokens": 629,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
181
tests/golden/WBV2-P598-003/capability-continuation-plan.json
Normal file
181
tests/golden/WBV2-P598-003/capability-continuation-plan.json
Normal file
@@ -0,0 +1,181 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"planId": "BLENDER_WEB_CAPABILITY_CONTINUATION_P598",
|
||||
"status": "ACTIVE_CAPABILITY_FAMILY_QUEUE",
|
||||
"authority": "user_authorized_implementation_first_execution",
|
||||
"sourceAuthority": {
|
||||
"blenderRoot": "blender-5.2.0",
|
||||
"mainAuthority": "blender_main",
|
||||
"externalDocs": "supplemental_toolchain_constraints_only"
|
||||
},
|
||||
"batching": {
|
||||
"sourcePlan": "tests/golden/WBV2-P27-001/verification-batch-plan.json",
|
||||
"batchCount": 27,
|
||||
"pendingRows": 6609,
|
||||
"dedupeBy": [
|
||||
"sourceHash",
|
||||
"behaviorHash",
|
||||
"dedupeKey"
|
||||
]
|
||||
},
|
||||
"inventoryPolicy": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"overlayMutation": "forbidden_during_implementation_wave"
|
||||
},
|
||||
"tasks": [
|
||||
{
|
||||
"id": "WBV2-P598-000",
|
||||
"phase": "P598",
|
||||
"title": "authorize_capability_family_wave",
|
||||
"kind": "enabling",
|
||||
"owner": "PROGRAM",
|
||||
"dependsOn": [
|
||||
"WBV2-P597-003"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p598-000",
|
||||
"gate": "G1",
|
||||
"card": "docs/tasks/WBV2-P598-000.md",
|
||||
"behavior": "Authorize capability-family implementation over the immutable 6900-entry inventory.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"6900 inventory remains immutable",
|
||||
"capability families are deduplicated before implementation",
|
||||
"real Blender source or WebEngine Main path is wired",
|
||||
"verification and completion overlay remain deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": true
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P598-001",
|
||||
"phase": "P598",
|
||||
"title": "index_capability_family_batches",
|
||||
"kind": "feature",
|
||||
"owner": "RELEASE",
|
||||
"dependsOn": [
|
||||
"WBV2-P598-000"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p598-001",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P598-001.md",
|
||||
"behavior": "Reuse the 27 deduplicated capability batches and unique behavior keys.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"6900 inventory remains immutable",
|
||||
"capability families are deduplicated before implementation",
|
||||
"real Blender source or WebEngine Main path is wired",
|
||||
"verification and completion overlay remain deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P598-002",
|
||||
"phase": "P598",
|
||||
"title": "implement_capability_family_slice",
|
||||
"kind": "feature",
|
||||
"owner": "IMPLEMENTATION",
|
||||
"dependsOn": [
|
||||
"WBV2-P598-001"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p598-002",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P598-002.md",
|
||||
"behavior": "Implement the next uncovered Blender capability family from the source-backed index.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"6900 inventory remains immutable",
|
||||
"capability families are deduplicated before implementation",
|
||||
"real Blender source or WebEngine Main path is wired",
|
||||
"verification and completion overlay remain deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P598-003",
|
||||
"phase": "P598",
|
||||
"title": "run_capability_family_smoke",
|
||||
"kind": "enabling",
|
||||
"owner": "RELEASE",
|
||||
"dependsOn": [
|
||||
"WBV2-P598-002"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p598-003",
|
||||
"gate": "IMPLEMENTATION",
|
||||
"card": "docs/tasks/WBV2-P598-003.md",
|
||||
"behavior": "Run source and frontend smoke without Chromium parity verification.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"6900 inventory remains immutable",
|
||||
"capability families are deduplicated before implementation",
|
||||
"real Blender source or WebEngine Main path is wired",
|
||||
"verification and completion overlay remain deferred"
|
||||
],
|
||||
"status": "done",
|
||||
"ready": false,
|
||||
"queueMutationAllowed": false
|
||||
},
|
||||
{
|
||||
"id": "WBV2-P599-000",
|
||||
"phase": "P599",
|
||||
"title": "authorize_capability_family_wave",
|
||||
"kind": "enabling",
|
||||
"owner": "PROGRAM",
|
||||
"dependsOn": [
|
||||
"WBV2-P598-003"
|
||||
],
|
||||
"parityId": null,
|
||||
"implementationClass": "SOURCE_BACKED",
|
||||
"parallelGroup": "p599-000",
|
||||
"gate": "G1",
|
||||
"card": "docs/tasks/WBV2-P599-000.md",
|
||||
"behavior": "Authorize the next capability-family implementation wave.",
|
||||
"outputs": [
|
||||
"implementation-report",
|
||||
"manifest",
|
||||
"status"
|
||||
],
|
||||
"acceptance": [
|
||||
"6900 inventory remains immutable",
|
||||
"capability families are deduplicated before implementation",
|
||||
"real Blender source or WebEngine Main path is wired",
|
||||
"verification and completion overlay remain deferred"
|
||||
],
|
||||
"status": "in_progress",
|
||||
"ready": true,
|
||||
"queueMutationAllowed": true
|
||||
}
|
||||
]
|
||||
}
|
||||
36
tests/golden/WBV2-P598-003/implementation-report.json
Normal file
36
tests/golden/WBV2-P598-003/implementation-report.json
Normal file
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P598-003",
|
||||
"operation": "IMPLEMENT_CAPABILITY_FAMILY_CONTINUATION",
|
||||
"taskClass": "INTEGRATION_BUILD",
|
||||
"status": "PASS",
|
||||
"capabilityId": null,
|
||||
"behaviorMarker": "INTEGRATION_BUILD_WEB_BUNDLE",
|
||||
"family": "INTEGRATION.BUILD",
|
||||
"sourcePaths": [
|
||||
"web/protocol/web-engine-capabilities.ts",
|
||||
"web/app/src/workers/web-engine.worker.ts",
|
||||
"web/app/src/vendor/blender/web_engine.wasm"
|
||||
],
|
||||
"command": "npm --prefix web run build",
|
||||
"batching": {
|
||||
"sourcePlan": "tests/golden/WBV2-P27-001/verification-batch-plan.json",
|
||||
"batchCount": 27,
|
||||
"pendingRows": 6609,
|
||||
"deduplication": true
|
||||
},
|
||||
"verification": {
|
||||
"status": "DEFERRED",
|
||||
"chromium": false,
|
||||
"e2eReceipts": false,
|
||||
"completionOverlay": false
|
||||
},
|
||||
"inventory": {
|
||||
"total": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"legacyPending": 6618,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609
|
||||
},
|
||||
"nextTask": "WBV2-P599-000"
|
||||
}
|
||||
60
tests/golden/WBV2-P598-003/manifest.json
Normal file
60
tests/golden/WBV2-P598-003/manifest.json
Normal file
@@ -0,0 +1,60 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P598-003",
|
||||
"parentTask": "WBV2-P598-002",
|
||||
"operation": "IMPLEMENT_CAPABILITY_FAMILY_CONTINUATION",
|
||||
"taskClass": "INTEGRATION_BUILD",
|
||||
"status": "done",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": false,
|
||||
"runtime": "SOURCE_BACKED_CAPABILITY_FAMILY_QUEUE",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/WBV2-P598-002/manifest.json",
|
||||
"sha256": "e4a23ae77c9d0c538cd2760e92892ebc8d7ea19d483e5a88f3aa59d5894adc37"
|
||||
},
|
||||
"source1": {
|
||||
"path": "web/protocol/web-engine-capabilities.ts",
|
||||
"sha256": "d6739e27f9617c641bbbe29d49f520e342441d8708f0fa8087b8eae80ea6ffcb"
|
||||
},
|
||||
"source2": {
|
||||
"path": "web/app/src/workers/web-engine.worker.ts",
|
||||
"sha256": "b50787a967219895d2f40e5e61d2985a802650166e1d77a88be8ccf8b3383816"
|
||||
},
|
||||
"source3": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"sha256": "024becea63a5fb05e859630516e481c74cefffd9c9ecc2a44cabb7c48b114e26"
|
||||
},
|
||||
"report": {
|
||||
"path": "tests/golden/WBV2-P598-003/implementation-report.json",
|
||||
"sha256": "b5a05c444dee69b0869c0722b9dcf10ad11940f997c748b1ab30d112617ce0fc"
|
||||
},
|
||||
"status": {
|
||||
"path": "docs/status/WBV2-P598-003.md",
|
||||
"sha256": "25dbcb54f6ed511328d8c16fdf7bd33e72773ec4a1ef3f58683e689b49683e7b"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/WBV2-P598-003/capability-continuation-plan.json",
|
||||
"sha256": "b6aefbb40ecab415287c13418926925b23e066b2c8b826b71a1bcde2b3b1a6e3"
|
||||
},
|
||||
"taskContext": {
|
||||
"path": "tests/golden/WBV2-P598-003/task-context.json",
|
||||
"sha256": "c4b40c0eff12954f890fe920c975deaa4e3c8a19f8dbaa0953ca8296089e8988"
|
||||
}
|
||||
},
|
||||
"assertions": {
|
||||
"capabilityFamily": "INTEGRATION.BUILD",
|
||||
"capabilityId": null,
|
||||
"behaviorMarker": "INTEGRATION_BUILD_WEB_BUNDLE",
|
||||
"sourceBacked": false,
|
||||
"batchCount": 27,
|
||||
"pendingRows": 6609,
|
||||
"verificationDeferred": true,
|
||||
"completionOverlayWritten": false,
|
||||
"inventoryTotal": 6900,
|
||||
"effectiveCompleted": 290,
|
||||
"effectivePending": 6609,
|
||||
"historicalReproduction": false
|
||||
},
|
||||
"nextTask": "WBV2-P599-000"
|
||||
}
|
||||
168
tests/golden/WBV2-P598-003/task-context.json
Normal file
168
tests/golden/WBV2-P598-003/task-context.json
Normal file
@@ -0,0 +1,168 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P598-003",
|
||||
"parentTask": "WBV2-P598-002",
|
||||
"status": "planned",
|
||||
"goal": "Run source and frontend smoke without Chromium parity verification.",
|
||||
"scope": {
|
||||
"gap": "workflow:run_capability_family_smoke",
|
||||
"ownerFamily": "RELEASE",
|
||||
"implementationClass": "SOURCE_BACKED"
|
||||
},
|
||||
"commands": [
|
||||
"node tools/web/check-task-context.mjs --task WBV2-P598-003 --write"
|
||||
],
|
||||
"inputPaths": [],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 1746,
|
||||
"contextRemainingTokens": 434
|
||||
},
|
||||
"source": {
|
||||
"bytes": 8158,
|
||||
"tokens": 2042
|
||||
},
|
||||
"selected": [],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender",
|
||||
"bytes": 12546,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P27-001/verification-batch-plan.json",
|
||||
"bytes": 21184,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P598-003/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P598-003.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P598-003/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 0,
|
||||
"bytes": 0,
|
||||
"tokens": 0
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"6900 inventory remains immutable",
|
||||
"capability families are deduplicated before implementation",
|
||||
"real Blender source or WebEngine Main path is wired",
|
||||
"verification and completion overlay remain deferred"
|
||||
],
|
||||
"nextTask": "WBV2-P599-000",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/WBV2-P598-003.md",
|
||||
"taskIndex": "tests/golden/WBV2/task-index.json",
|
||||
"parentManifest": "tests/golden/WBV2-P598-002/manifest.json",
|
||||
"parentStatus": "docs/status/WBV2-P598-002.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/WBV2-P598-003.md",
|
||||
"tests/golden/WBV2-P598-002/manifest.json",
|
||||
"docs/status/WBV2-P598-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-P598-002",
|
||||
"parentTask": "WBV2-P598-001",
|
||||
"status": "done",
|
||||
"nextTask": "WBV2-P598-003",
|
||||
"artifactCount": 16
|
||||
},
|
||||
"statusSummary": [
|
||||
"# WBV2-P598-002 status",
|
||||
"- task: `WBV2-P598-002`; parent: `WBV2-P598-001`; status: `done`",
|
||||
"- taskClass: `SOURCE_IMPLEMENTATION`; capability: `CAP-RENDER-LIGHT-SHADOW-CONTROLS`; behaviorMarker: `web_engine_blend_main_set_light_shadow_controls`",
|
||||
"- capability-family implementation: `PASS`; 27 deduplicated batches; 6609 pending rows",
|
||||
"- Chromium, E2E receipts and completion overlay: `DEFERRED`",
|
||||
"- inventory unchanged: `6900/6618`, effective `290/6609`",
|
||||
"- nextTask: `WBV2-P598-003`"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1293,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 39,
|
||||
"taskTokens": 324
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2807,
|
||||
"lines": 51,
|
||||
"tokens": 702
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/WBV2-P598-003.md",
|
||||
"bytes": 1293,
|
||||
"lines": 39,
|
||||
"tokens": 324
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P598-002/manifest.json",
|
||||
"bytes": 3585,
|
||||
"lines": 93,
|
||||
"tokens": 897
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P598-002.md",
|
||||
"bytes": 473,
|
||||
"lines": 9,
|
||||
"tokens": 119
|
||||
}
|
||||
],
|
||||
"sourceTokens": 2042,
|
||||
"evidenceFiles": 0,
|
||||
"evidenceBytes": 0,
|
||||
"evidenceTokens": 0,
|
||||
"totalTokens": 2042,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 3066,
|
||||
"serializedContextTokens": 622,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
{"id":"WBV2-P597-000","gapId":"workflow:authorize_capability_family_wave","ownerFamily":"PROGRAM","sourceTask":"P597","state":"completed","targetImplementationClass":"SOURCE_BACKED","exitCriteria":["6900 inventory remains immutable","capability families are deduplicated before implementation","real Blender source or WebEngine Main path is wired","verification and completion overlay remain deferred"]}
|
||||
{"id":"WBV2-P597-001","gapId":"workflow:index_capability_family_batches","ownerFamily":"RELEASE","sourceTask":"P597","state":"completed","targetImplementationClass":"SOURCE_BACKED","exitCriteria":["6900 inventory remains immutable","capability families are deduplicated before implementation","real Blender source or WebEngine Main path is wired","verification and completion overlay remain deferred"]}
|
||||
{"id":"WBV2-P597-002","gapId":"workflow:implement_capability_family_slice","ownerFamily":"IMPLEMENTATION","sourceTask":"P597","state":"completed","targetImplementationClass":"SOURCE_BACKED","exitCriteria":["6900 inventory remains immutable","capability families are deduplicated before implementation","real Blender source or WebEngine Main path is wired","verification and completion overlay remain deferred"]}
|
||||
{"id":"WBV2-P597-003","gapId":"workflow:run_capability_family_smoke","ownerFamily":"RELEASE","sourceTask":"P597","state":"completed","targetImplementationClass":"SOURCE_BACKED","exitCriteria":["6900 inventory remains immutable","capability families are deduplicated before implementation","real Blender source or WebEngine Main path is wired","verification and completion overlay remain deferred"]}
|
||||
{"id":"WBV2-P598-000","gapId":"workflow:authorize_capability_family_wave","ownerFamily":"PROGRAM","sourceTask":"P598","state":"active","targetImplementationClass":"SOURCE_BACKED","exitCriteria":["6900 inventory remains immutable","capability families are deduplicated before implementation","real Blender source or WebEngine Main path is wired","verification and completion overlay remain deferred"]}
|
||||
{"id":"WBV2-P598-000","gapId":"workflow:authorize_capability_family_wave","ownerFamily":"PROGRAM","sourceTask":"P598","state":"completed","targetImplementationClass":"SOURCE_BACKED","exitCriteria":["6900 inventory remains immutable","capability families are deduplicated before implementation","real Blender source or WebEngine Main path is wired","verification and completion overlay remain deferred"]}
|
||||
{"id":"WBV2-P598-001","gapId":"workflow:index_capability_family_batches","ownerFamily":"RELEASE","sourceTask":"P598","state":"completed","targetImplementationClass":"SOURCE_BACKED","exitCriteria":["6900 inventory remains immutable","capability families are deduplicated before implementation","real Blender source or WebEngine Main path is wired","verification and completion overlay remain deferred"]}
|
||||
{"id":"WBV2-P598-002","gapId":"workflow:implement_capability_family_slice","ownerFamily":"IMPLEMENTATION","sourceTask":"P598","state":"completed","targetImplementationClass":"SOURCE_BACKED","exitCriteria":["6900 inventory remains immutable","capability families are deduplicated before implementation","real Blender source or WebEngine Main path is wired","verification and completion overlay remain deferred"]}
|
||||
{"id":"WBV2-P598-003","gapId":"workflow:run_capability_family_smoke","ownerFamily":"RELEASE","sourceTask":"P598","state":"completed","targetImplementationClass":"SOURCE_BACKED","exitCriteria":["6900 inventory remains immutable","capability families are deduplicated before implementation","real Blender source or WebEngine Main path is wired","verification and completion overlay remain deferred"]}
|
||||
{"id":"WBV2-P599-000","gapId":"workflow:authorize_capability_family_wave","ownerFamily":"PROGRAM","sourceTask":"P599","state":"active","targetImplementationClass":"SOURCE_BACKED","exitCriteria":["6900 inventory remains immutable","capability families are deduplicated before implementation","real Blender source or WebEngine Main path is wired","verification and completion overlay remain deferred"]}
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"schemaVersion":1,"operation":"BLENDER_WEB_CAPABILITY_TASK_INDEX","source":{"path":"tests/golden/WBV2-P597-003/capability-continuation-plan.json","sha256":"5b42bcaf6cb139f4e673d6ce05beec3837c9a6a94f921788e5464d3609e559d6"},"catalog":{"path":"tests/golden/WBV2/task-catalog.jsonl","sha256":"7365c4b20ade674694d88779b8bf9f2c8722bd2cac8cb619e11a415609574576"},"taskCount":5,"activeTask":"WBV2-P598-000","entries":{"WBV2-P597-000":{"line":0,"offset":0,"length":404,"previous":"WBV2-P596-003","next":"WBV2-P597-001"},"WBV2-P597-001":{"line":1,"offset":404,"length":403,"previous":"WBV2-P597-000","next":"WBV2-P597-002"},"WBV2-P597-002":{"line":2,"offset":807,"length":412,"previous":"WBV2-P597-001","next":"WBV2-P597-003"},"WBV2-P597-003":{"line":3,"offset":1219,"length":399,"previous":"WBV2-P597-002","next":"WBV2-P598-000"},"WBV2-P598-000":{"line":4,"offset":1618,"length":401,"previous":"WBV2-P597-003","next":null}}}
|
||||
{"schemaVersion":1,"operation":"BLENDER_WEB_CAPABILITY_TASK_INDEX","source":{"path":"tests/golden/WBV2-P598-003/capability-continuation-plan.json","sha256":"b6aefbb40ecab415287c13418926925b23e066b2c8b826b71a1bcde2b3b1a6e3"},"catalog":{"path":"tests/golden/WBV2/task-catalog.jsonl","sha256":"30dc3e6e3811889960a4fbd82ad546e1f5266e579be67f9cb65428a50b58f6ba"},"taskCount":5,"activeTask":"WBV2-P599-000","entries":{"WBV2-P598-000":{"line":0,"offset":0,"length":404,"previous":"WBV2-P597-003","next":"WBV2-P598-001"},"WBV2-P598-001":{"line":1,"offset":404,"length":403,"previous":"WBV2-P598-000","next":"WBV2-P598-002"},"WBV2-P598-002":{"line":2,"offset":807,"length":412,"previous":"WBV2-P598-001","next":"WBV2-P598-003"},"WBV2-P598-003":{"line":3,"offset":1219,"length":399,"previous":"WBV2-P598-002","next":"WBV2-P599-000"},"WBV2-P599-000":{"line":4,"offset":1618,"length":401,"previous":"WBV2-P598-003","next":null}}}
|
||||
|
||||
Reference in New Issue
Block a user