feat(web): wire Blender light shadow controls
Some checks failed
M6 deployable RC / quick (push) Has been cancelled
M6 deployable RC / chromium (push) Has been cancelled
M6 deployable RC / release (push) Has been cancelled

This commit is contained in:
mes123456
2026-08-30 18:56:28 +08:00
parent 8bc5d61b75
commit 4ce5581bc3
46 changed files with 2018 additions and 49 deletions

View File

@@ -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",

View File

@@ -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",

View File

@@ -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,

View File

@@ -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",

View File

@@ -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",

View File

@@ -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,

View 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
}
]
}

View File

@@ -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"
}

View 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"
}

View 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
}
}

View 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
}
]
}

View 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"
}

View 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"
}

View 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
}
}

View 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
}
]
}

View 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"
}

View 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"
}

View 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
}
}

View 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
}
]
}

View 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"
}

View 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"
}

View 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
}
}

View File

@@ -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"]}

View File

@@ -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}}}