Advance deduplicated lighting capability coverage
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-28 12:19:18 +08:00
parent dc55bacce6
commit 4a5c70910b
35 changed files with 4601 additions and 12 deletions

View File

@@ -0,0 +1,35 @@
{
"schemaVersion": 1,
"task": "WBV2-P15-000",
"operation": "AUTHORIZE_LIGHTING_CAPABILITY_CONTINUATION",
"status": "PASS",
"parent": {
"task": "WBV2-P14-003",
"manifest": "tests/golden/WBV2-P14-003/manifest.json",
"manifestSha256": "a79051e09719cb4b73f98a895f47d6c093081b00c929e8f322672d957ccd4367",
"report": "tests/golden/WBV2-P14-003/inventory-coverage-gate-report.json",
"reportSha256": "5ef8bec5dfe603452b04629709ca0e7f11b2ce4cec4a96af25f6c4b7634b64bd",
"previousDecision": "COVERAGE_ACCOUNTED_WITH_LIMITED_DECLARATION"
},
"continuation": {
"root": "WBV2-P15-000",
"firstTask": "WBV2-P15-001",
"plannedTasks": 4,
"candidate": "RENDER.LIGHTING_FIELDS",
"sourceApi": "blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
"chromiumTest": "web/tests/e2e/lighting-field-roundtrip.spec.ts",
"browser": "chromium",
"inventoryTotal": 6900,
"inventoryPending": 6618,
"noRepeatedExecution": true
},
"policy": {
"p14EvidencePreserved": true,
"sourceHistoryReadOnly": true,
"representativeSliceOnly": true,
"duplicateValidationAvoided": true,
"authorizedRebaselineOnly": true,
"fullHistoricalReproduction": false
},
"nextTask": "WBV2-P15-001"
}

View File

@@ -0,0 +1,146 @@
{
"schemaVersion": 1,
"planId": "BLENDER_WEB_PARITY_V2_LIGHTING_EPOCH_1",
"status": "ACTIVE_LIGHTING_QUEUE",
"authority": "queue_reactivated_after_p14_coverage_gate",
"sourcePlan": "docs/BLENDER_WEB_PARITY_TASK_PLAN_V2.json",
"executionPointer": "docs/EXECUTION_QUEUE.md",
"runtimePolicy": {
"blenderSource": "blender-5.2.0",
"browserEvidence": [
"chromium"
],
"forbiddenBrowsers": [
"firefox",
"webkit"
],
"mainAuthority": "blender_main",
"reusePolicy": "source_hash_and_behavior_hash_deduplication"
},
"parentCoverage": {
"manifest": "tests/golden/WBV2-P14-003/manifest.json",
"report": "tests/golden/WBV2-P14-003/inventory-coverage-gate-report.json",
"inventoryTotal": 6900,
"inventoryPending": 6618,
"duplicateValidationAvoided": true
},
"tasks": [
{
"id": "WBV2-P15-000",
"phase": "P15",
"title": "authorize_lighting_capability_continuation",
"kind": "enabling",
"owner": "PROGRAM",
"dependsOn": [
"WBV2-P14-003"
],
"parityId": null,
"implementationClass": "LOCAL_BOUNDED",
"parallelGroup": "p15-governance",
"gate": "G2",
"card": "docs/tasks/WBV2-P15-000.md",
"behavior": "Authorize a source-backed Lighting/Camera/World capability slice without reopening completed batches.",
"outputs": [
"continuation root",
"candidate scope",
"hash boundary"
],
"acceptance": [
"P14 coverage remains hash-bound",
"source command and Chromium test exist",
"one production task is active"
],
"status": "done",
"ready": false,
"queueMutationAllowed": true
},
{
"id": "WBV2-P15-001",
"phase": "P15",
"title": "select_lighting_capability_batch",
"kind": "enabling",
"owner": "PARITY",
"dependsOn": [
"WBV2-P15-000"
],
"parityId": "RENDER.LIGHTING_FIELDS",
"implementationClass": "LOCAL_BOUNDED",
"parallelGroup": "p15-selection",
"gate": "G2",
"card": "docs/tasks/WBV2-P15-001.md",
"behavior": "Select one deterministic Lighting/Camera/World behavior batch from existing source and tests.",
"outputs": [
"candidate report",
"behavior hash",
"dedupe key"
],
"acceptance": [
"source API is present",
"Chromium test is present",
"candidate remains representative rather than full-family completion"
],
"status": "in_progress",
"ready": true,
"queueMutationAllowed": false
},
{
"id": "WBV2-P15-002",
"phase": "P15",
"title": "lighting_fields_engine_receipt",
"kind": "feature",
"owner": "RENDER",
"dependsOn": [
"WBV2-P15-001"
],
"parityId": "RENDER.LIGHTING_FIELDS",
"implementationClass": "LOCAL_EXACT",
"parallelGroup": "p15-lighting",
"gate": "G2",
"card": "docs/tasks/WBV2-P15-002.md",
"behavior": "Bind Camera, Light, and World field edits, undo/redo, and exact save/reopen to compiled WASM Main in Chromium.",
"outputs": [
"lighting production report",
"lighting receipt",
"manifest"
],
"acceptance": [
"camera/light/world fields match",
"undo/redo revisions are sequential",
"save/reopen is exact",
"malformed values fail closed"
],
"status": "planned",
"ready": false,
"queueMutationAllowed": false
},
{
"id": "WBV2-P15-003",
"phase": "P15",
"title": "close_lighting_capability_gate",
"kind": "enabling",
"owner": "RELEASE",
"dependsOn": [
"WBV2-P15-002"
],
"parityId": null,
"implementationClass": "LOCAL_BOUNDED",
"parallelGroup": "p15-release",
"gate": "G5",
"card": "docs/tasks/WBV2-P15-003.md",
"behavior": "Close the Lighting capability gate while preserving partial-family and 6900-entry limitations.",
"outputs": [
"lighting gate",
"limited declaration",
"manifest"
],
"acceptance": [
"only the tested slice is claimed",
"inventory remainder remains 6618",
"no repeated validation or historical over-claim"
],
"status": "planned",
"ready": false,
"queueMutationAllowed": false
}
]
}

View File

@@ -0,0 +1,60 @@
{
"schemaVersion": 1,
"task": "WBV2-P15-000",
"parentTask": "WBV2-P14-003",
"operation": "AUTHORIZE_LIGHTING_CAPABILITY_CONTINUATION",
"status": "done",
"enablingTask": true,
"parityStateChange": false,
"runtime": "READ_ONLY_LIGHTING_CONTINUATION_ROOT",
"artifacts": {
"parentManifest": {
"path": "tests/golden/WBV2-P14-003/manifest.json",
"sha256": "a79051e09719cb4b73f98a895f47d6c093081b00c929e8f322672d957ccd4367"
},
"parentReport": {
"path": "tests/golden/WBV2-P14-003/inventory-coverage-gate-report.json",
"sha256": "5ef8bec5dfe603452b04629709ca0e7f11b2ce4cec4a96af25f6c4b7634b64bd"
},
"sourceMap": {
"path": "tests/golden/WBV2-P0-002/parity-map.json",
"sha256": "a60a77cae000941a953d55adbf93d8f6e275533891713d6eae993f60faed94e8"
},
"sourceApi": {
"path": "blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
"sha256": "8fa70dc7605e66393482e661e5987a8443dded56ab0092aeb977b40ae49888f8"
},
"sourceTest": {
"path": "web/tests/e2e/lighting-field-roundtrip.spec.ts",
"sha256": "9f75c7b88c70ab42c6c418b0056dcffcab3b8851003258891902db9615fcfe67"
},
"plan": {
"path": "tests/golden/WBV2-P15-000/lights-task-plan.json",
"sha256": "aa90622e43a5f2cef2c5f75128ffda83e1800e14faa59450aaf3af11fcdc8012"
},
"report": {
"path": "tests/golden/WBV2-P15-000/lights-root-report.json",
"sha256": "6bdbdc3e0e7d8dcb6b3ff9438f21015e1f60c677974c1a922c3f784cffb0f083"
},
"rootCard": {
"path": "docs/tasks/WBV2-P15-000.md",
"sha256": "b880447b9bcacd682370c5e38966e299b3964aae2cf370638cdb4aecdb56f8f6"
},
"rootStatus": {
"path": "docs/status/WBV2-P15-000.md",
"sha256": "e34cfa33d077ca01ce0dde82952d9b3de9fcebf50d38b7564169ebce9efa65c1"
}
},
"assertions": {
"p14EvidencePreserved": true,
"sourceApiBound": true,
"chromiumTestBound": true,
"inventoryTotal": 6900,
"inventoryPending": 6618,
"duplicateValidationAvoided": true,
"representativeSliceOnly": true,
"authorizedRebaselineOnly": true,
"fullHistoricalReproduction": false
},
"nextTask": "WBV2-P15-001"
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,66 @@
{
"schemaVersion": 1,
"task": "WBV2-P15-001",
"operation": "SELECT_LIGHTING_CAPABILITY_BATCH",
"status": "PASS",
"candidate": {
"capabilityId": "RENDER.LIGHTING_FIELDS",
"representativeBehavior": {
"capability": "RENDER.LIGHTING_FIELDS",
"operations": [
"setCameraProperties",
"setLightProperties",
"setWorldProperties"
],
"positive": [
"field-edit",
"undo",
"redo",
"save-reopen"
],
"negative": [
"invalid-camera-range",
"missing-data-id"
],
"browser": "chromium",
"engine": "compiled-WASM-WebEngine-Main",
"sourceGolden": "M11-02/lighting-field-roundtrip.json"
},
"behaviorHash": "09abd86000c428dea647249b5e1322ae12650a438a39ed0db17d6664bb8ffa53",
"dedupeKey": "RENDER.LIGHTING_FIELDS|09abd86000c428dea647249b5e1322ae12650a438a39ed0db17d6664bb8ffa53|8fa70dc7605e66393482e661e5987a8443dded56ab0092aeb977b40ae49888f8|9f75c7b88c70ab42c6c418b0056dcffcab3b8851003258891902db9615fcfe67",
"sourceBacked": true,
"chromiumProductionReady": true,
"fullFamilyParity": false
},
"inventory": {
"matchedEntries": 197,
"counts": {
"pending": 194,
"completed": 3
},
"total": 6900,
"pending": 6618,
"remainderExplicit": true
},
"source": {
"inventory": "tests/golden/WBV2-P0-002/parity-map.json",
"inventorySha256": "a60a77cae000941a953d55adbf93d8f6e275533891713d6eae993f60faed94e8",
"api": "blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
"apiSha256": "8fa70dc7605e66393482e661e5987a8443dded56ab0092aeb977b40ae49888f8",
"test": "web/tests/e2e/lighting-field-roundtrip.spec.ts",
"testSha256": "9f75c7b88c70ab42c6c418b0056dcffcab3b8851003258891902db9615fcfe67",
"golden": "tests/golden/M11-02/lighting-field-roundtrip.json",
"goldenSha256": "ac6d84c0099b12cf6c96df2dbbb4281e3308c36f0bda49c92d7548e58ccc286e",
"strategy": "tests/golden/WBV2-P14-003/batch-execution-strategy.json",
"strategySha256": "1d3cf10b97e2ecb170a744ca6687601a64ad7ede1cc82dcbbc80b4291637122f"
},
"matchedEntryDigest": "0e812a79bd48ce9cfcb2e973e41333346d1c40157be0f8ba824ac2f367b755e3",
"efficiency": {
"oneSourceScan": true,
"existingStrategyReused": true,
"repeatedBlenderRuns": 0,
"repeatedChromiumRuns": 0,
"duplicateValidationAvoided": true
},
"nextTask": "WBV2-P15-002"
}

View File

@@ -0,0 +1,150 @@
{
"schemaVersion": 1,
"planId": "BLENDER_WEB_PARITY_V2_LIGHTING_EPOCH_1",
"status": "ACTIVE_LIGHTING_QUEUE",
"authority": "queue_reactivated_after_p14_coverage_gate",
"sourcePlan": "docs/BLENDER_WEB_PARITY_TASK_PLAN_V2.json",
"executionPointer": "docs/EXECUTION_QUEUE.md",
"runtimePolicy": {
"blenderSource": "blender-5.2.0",
"browserEvidence": [
"chromium"
],
"forbiddenBrowsers": [
"firefox",
"webkit"
],
"mainAuthority": "blender_main",
"reusePolicy": "source_hash_and_behavior_hash_deduplication"
},
"parentCoverage": {
"manifest": "tests/golden/WBV2-P14-003/manifest.json",
"report": "tests/golden/WBV2-P14-003/inventory-coverage-gate-report.json",
"inventoryTotal": 6900,
"inventoryPending": 6618,
"duplicateValidationAvoided": true
},
"tasks": [
{
"id": "WBV2-P15-000",
"phase": "P15",
"title": "authorize_lighting_capability_continuation",
"kind": "enabling",
"owner": "PROGRAM",
"dependsOn": [
"WBV2-P14-003"
],
"parityId": null,
"implementationClass": "LOCAL_BOUNDED",
"parallelGroup": "p15-governance",
"gate": "G2",
"card": "docs/tasks/WBV2-P15-000.md",
"behavior": "Authorize a source-backed Lighting/Camera/World capability slice without reopening completed batches.",
"outputs": [
"continuation root",
"candidate scope",
"hash boundary"
],
"acceptance": [
"P14 coverage remains hash-bound",
"source command and Chromium test exist",
"one production task is active"
],
"status": "done",
"ready": false,
"queueMutationAllowed": true
},
{
"id": "WBV2-P15-001",
"phase": "P15",
"title": "select_lighting_capability_batch",
"kind": "enabling",
"owner": "PARITY",
"dependsOn": [
"WBV2-P15-000"
],
"parityId": "RENDER.LIGHTING_FIELDS",
"implementationClass": "LOCAL_BOUNDED",
"parallelGroup": "p15-selection",
"gate": "G2",
"card": "docs/tasks/WBV2-P15-001.md",
"behavior": "Select one deterministic Lighting/Camera/World behavior batch from existing source and tests.",
"outputs": [
"candidate report",
"behavior hash",
"dedupe key"
],
"acceptance": [
"source API is present",
"Chromium test is present",
"candidate remains representative rather than full-family completion"
],
"status": "done",
"ready": false,
"queueMutationAllowed": false
},
{
"id": "WBV2-P15-002",
"phase": "P15",
"title": "lighting_fields_engine_receipt",
"kind": "feature",
"owner": "RENDER",
"dependsOn": [
"WBV2-P15-001"
],
"parityId": "RENDER.LIGHTING_FIELDS",
"implementationClass": "LOCAL_EXACT",
"parallelGroup": "p15-lighting",
"gate": "G2",
"card": "docs/tasks/WBV2-P15-002.md",
"behavior": "Bind Camera, Light, and World field edits, undo/redo, and exact save/reopen to compiled WASM Main in Chromium.",
"outputs": [
"lighting production report",
"lighting receipt",
"manifest"
],
"acceptance": [
"camera/light/world fields match",
"undo/redo revisions are sequential",
"save/reopen is exact",
"malformed values fail closed"
],
"status": "in_progress",
"ready": true,
"queueMutationAllowed": false
},
{
"id": "WBV2-P15-003",
"phase": "P15",
"title": "close_lighting_capability_gate",
"kind": "enabling",
"owner": "RELEASE",
"dependsOn": [
"WBV2-P15-002"
],
"parityId": null,
"implementationClass": "LOCAL_BOUNDED",
"parallelGroup": "p15-release",
"gate": "G5",
"card": "docs/tasks/WBV2-P15-003.md",
"behavior": "Close the Lighting capability gate while preserving partial-family and 6900-entry limitations.",
"outputs": [
"lighting gate",
"limited declaration",
"manifest"
],
"acceptance": [
"only the tested slice is claimed",
"inventory remainder remains 6618",
"no repeated validation or historical over-claim"
],
"status": "planned",
"ready": false,
"queueMutationAllowed": false
}
],
"parentRecoveryPlan": {
"path": "tests/golden/WBV2-P15-000/lights-task-plan.json",
"sha256": "aa90622e43a5f2cef2c5f75128ffda83e1800e14faa59450aaf3af11fcdc8012"
}
}

View File

@@ -0,0 +1,76 @@
{
"schemaVersion": 1,
"task": "WBV2-P15-001",
"parentTask": "WBV2-P15-000",
"operation": "SELECT_LIGHTING_CAPABILITY_BATCH",
"status": "done",
"enablingTask": true,
"parityStateChange": false,
"runtime": "READ_ONLY_SOURCE_CANDIDATE_SELECTION",
"artifacts": {
"parentManifest": {
"path": "tests/golden/WBV2-P15-000/manifest.json",
"sha256": "e258bf87739c5396a122e7aa08c128b4c6208e2259f8a186845469dde161dfe6"
},
"inventory": {
"path": "tests/golden/WBV2-P0-002/parity-map.json",
"sha256": "a60a77cae000941a953d55adbf93d8f6e275533891713d6eae993f60faed94e8"
},
"strategy": {
"path": "tests/golden/WBV2-P14-003/batch-execution-strategy.json",
"sha256": "1d3cf10b97e2ecb170a744ca6687601a64ad7ede1cc82dcbbc80b4291637122f"
},
"sourceApi": {
"path": "blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
"sha256": "8fa70dc7605e66393482e661e5987a8443dded56ab0092aeb977b40ae49888f8"
},
"sourceTest": {
"path": "web/tests/e2e/lighting-field-roundtrip.spec.ts",
"sha256": "9f75c7b88c70ab42c6c418b0056dcffcab3b8851003258891902db9615fcfe67"
},
"sourceGolden": {
"path": "tests/golden/M11-02/lighting-field-roundtrip.json",
"sha256": "ac6d84c0099b12cf6c96df2dbbb4281e3308c36f0bda49c92d7548e58ccc286e"
},
"candidate": {
"path": "tests/golden/WBV2-P15-001/lighting-candidate-set.json",
"sha256": "8b6c1d0641ace02c128518feb6c4c6893f4a88b01015972232a91b186e40102d"
},
"report": {
"path": "tests/golden/WBV2-P15-001/lighting-selection-report.json",
"sha256": "eeb14c189794036b39e7b569b8d89ef231a7c4631f7bf16e0b0bf0c21896d8bd"
},
"generator": {
"path": "tools/web/generate-wbv2-lighting-selection.mjs",
"sha256": "df36373c4c2fa56f1f272dfd130411025b61f8cc7d31734abe3d47454e91352f"
},
"status": {
"path": "docs/status/WBV2-P15-001.md",
"sha256": "d92b8b48a3baebdb313c6a6bf244559b850ea4181cca52ebc4b166e73c076f14"
},
"parityPlan": {
"path": "tests/golden/WBV2-P15-001/lights-task-plan.json",
"sha256": "bd9e53c6c35e0fe436b5b7e1f1e0d9a2cf67d20e2cbda418cddf5ad2223a32e7"
},
"taskContext": {
"path": "tests/golden/WBV2-P15-001/task-context.json",
"sha256": "9c092966442fde3c7c4b7002f3556216cd3a20e9324735f7d4d6f4da6adc2c6c"
}
},
"assertions": {
"capability": "RENDER.LIGHTING_FIELDS",
"matchedInventoryEntries": 197,
"inventoryTotal": 6900,
"inventoryPending": 6618,
"sourceApiBound": true,
"chromiumTestBound": true,
"representativeSliceOnly": true,
"fullFamilyParity": false,
"repeatedBlenderRuns": 0,
"repeatedChromiumRuns": 0,
"duplicateValidationAvoided": true,
"deterministic": true,
"historicalReproduction": false
},
"nextTask": "WBV2-P15-002"
}

View File

@@ -0,0 +1,172 @@
{
"schemaVersion": 1,
"task": "WBV2-P15-001",
"parentTask": "WBV2-P15-000",
"status": "in_progress",
"goal": "Select one deterministic Camera, Light, and World field behavior batch from the existing source API and Chromium test.",
"scope": {
"gap": "capability:RENDER.LIGHTING_FIELDS",
"ownerFamily": "PARITY",
"implementationClass": "LOCAL_BOUNDED"
},
"commands": [
"node tools/web/check-task-context.mjs --task WBV2-P15-001 --write"
],
"inputPaths": [],
"inputSelection": {
"schemaVersion": 1,
"limits": {
"maxFiles": 12,
"evidenceBytes": 8192,
"contextRemainingBytes": 3249,
"contextRemainingTokens": 812
},
"source": {
"bytes": 6655,
"tokens": 1664
},
"selected": [],
"excluded": [
{
"path": "blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
"bytes": 126797,
"reason": "EVIDENCE_BYTE_BUDGET"
},
{
"path": "web/tests/e2e/lighting-field-roundtrip.spec.ts",
"bytes": 8390,
"reason": "EVIDENCE_BYTE_BUDGET"
},
{
"path": "tests/golden/WBV2-P0-002/parity-map.json",
"bytes": 5053386,
"reason": "EVIDENCE_BYTE_BUDGET"
},
{
"path": "tests/golden/WBV2-P15-001/",
"bytes": null,
"reason": "GENERATED_EVIDENCE_OUTPUT"
},
{
"path": "docs/status/WBV2-P15-001.md",
"bytes": null,
"reason": "GENERATED_EVIDENCE_OUTPUT"
},
{
"path": "tests/golden/WBV2-P15-001/manifest.json",
"bytes": null,
"reason": "GENERATED_EVIDENCE_OUTPUT"
}
],
"totals": {
"files": 0,
"bytes": 0,
"tokens": 0
}
},
"exitCriteria": [
"source API is present",
"Chromium test is present",
"candidate remains representative rather than full-family completion"
],
"nextTask": "WBV2-P15-002",
"sourceDocuments": {
"queue": "docs/EXECUTION_QUEUE.md",
"taskCard": "docs/tasks/WBV2-P15-001.md",
"taskIndex": "tests/golden/WBV2/task-index.json",
"parentManifest": "tests/golden/WBV2-P15-000/manifest.json",
"parentStatus": "docs/status/WBV2-P15-000.md"
},
"readPolicy": {
"required": [
"docs/EXECUTION_QUEUE.md",
"docs/tasks/WBV2-P15-001.md",
"tests/golden/WBV2-P15-000/manifest.json",
"docs/status/WBV2-P15-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-P15-000",
"parentTask": "WBV2-P14-003",
"status": "done",
"nextTask": "WBV2-P15-001",
"artifactCount": 9
},
"statusSummary": [
"# WBV2-P15-000 status",
"- task: `WBV2-P15-000`; parent: `WBV2-P14-003`; status: `done`",
"- candidate: `RENDER.LIGHTING_FIELDS`; source API and Chromium test are present",
"- inventory carried forward: `6900` total, `6618` pending",
"- duplicate validation: `forbidden`; representative slice only",
"- nextTask: `WBV2-P15-001`",
"P15 is an authorized continuation that reuses the P14 coverage ledger and validates one source-backed Camera/Light/World behavior batch in Chromium."
]
},
"budgets": {
"queueBytes": 4096,
"taskBytes": 1200,
"parentManifestBytes": 24576,
"parentStatusBytes": 6144,
"evidenceFiles": 12,
"evidenceBytes": 8192,
"contextTokens": 3500,
"contextEnvelopeTokens": 1024,
"taskLines": 36,
"taskTokens": 300
},
"size": {
"documents": [
{
"path": "docs/EXECUTION_QUEUE.md",
"bytes": 2803,
"lines": 51,
"tokens": 701
},
{
"path": "docs/tasks/WBV2-P15-001.md",
"bytes": 1200,
"lines": 36,
"tokens": 300
},
{
"path": "tests/golden/WBV2-P15-000/manifest.json",
"bytes": 2188,
"lines": 61,
"tokens": 547
},
{
"path": "docs/status/WBV2-P15-000.md",
"bytes": 464,
"lines": 10,
"tokens": 116
}
],
"sourceTokens": 1664,
"evidenceFiles": 0,
"evidenceBytes": 0,
"evidenceTokens": 0,
"totalTokens": 1664,
"reservedEnvelopeTokens": 1024,
"estimatedContextTokens": 2688,
"serializedContextTokens": 608,
"withinBudget": true
}
}

View File

@@ -0,0 +1,97 @@
{
"schemaVersion": 1,
"task": "WBV2-P15-002",
"operation": "LIGHTING_FIELDS_ENGINE_CHROMIUM",
"queueMutation": false,
"browser": "chromium",
"sourceSha256": "6fcc55bda74da8c95da96ba068b60339bf60ca44147ff8000fbb95d296db2a73",
"beforeRevision": 1,
"revisions": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"malformed": {
"code": "RENDER_PROPERTY_INVALID",
"message": "Camera far clip must exceed near clip"
},
"malformedRevisionPreserved": true,
"camera": {
"depthOfField": {
"apertureBlades": 7,
"apertureFStop": 1.7999999523162842,
"apertureRatio": 1.2000000476837158,
"apertureRotation": 0.25,
"enabled": true,
"focusDistance": 4.5,
"focusObjectId": null
},
"far": 500,
"fisheyeFov": 3.1415927410125732,
"id": "camera:Camera.001",
"lensMm": 35,
"name": "Camera.001",
"near": 0.20000000298023224,
"orthoScale": 8,
"panoramaType": 2,
"projection": "PERSPECTIVE",
"sensorFit": 2,
"sensorHeightMm": 18,
"sensorWidthMm": 32,
"shift": [
0.10000000149011612,
-0.20000000298023224
]
},
"light": {
"areaShape": 4,
"areaSize": 3,
"areaSizeY": 2,
"areaSpread": 2.4000000953674316,
"castsShadow": false,
"color": [
0.25,
0.5,
0.75
],
"energy": 400,
"exposure": 1,
"id": "light:Area",
"lightType": 4,
"name": "Area",
"radius": 0.30000001192092896,
"spotAngle": 1.100000023841858,
"spotBlend": 0.25,
"sunAngle": 0.10000000149011612,
"temperature": 5000,
"useTemperature": true
},
"world": {
"backgroundVisible": true,
"color": [
0.10000000149011612,
0.20000000298023224,
0.30000001192092896
],
"exposure": 0.5,
"id": "world:World",
"mist": {
"depth": 50,
"enabled": true,
"height": 3,
"intensity": 0.20000000298023224,
"start": 2,
"type": "LINEAR"
},
"name": "World"
},
"reopenedRevision": 1,
"savedSha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
}

View File

@@ -0,0 +1,97 @@
{
"schemaVersion": 1,
"task": "WBV2-P15-002",
"operation": "LIGHTING_FIELDS_ENGINE_CHROMIUM",
"queueMutation": false,
"browser": "chromium",
"sourceSha256": "6fcc55bda74da8c95da96ba068b60339bf60ca44147ff8000fbb95d296db2a73",
"beforeRevision": 1,
"revisions": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"malformed": {
"code": "RENDER_PROPERTY_INVALID",
"message": "Camera far clip must exceed near clip"
},
"malformedRevisionPreserved": true,
"camera": {
"depthOfField": {
"apertureBlades": 7,
"apertureFStop": 1.7999999523162842,
"apertureRatio": 1.2000000476837158,
"apertureRotation": 0.25,
"enabled": true,
"focusDistance": 4.5,
"focusObjectId": null
},
"far": 500,
"fisheyeFov": 3.1415927410125732,
"id": "camera:Camera.001",
"lensMm": 35,
"name": "Camera.001",
"near": 0.20000000298023224,
"orthoScale": 8,
"panoramaType": 2,
"projection": "PERSPECTIVE",
"sensorFit": 2,
"sensorHeightMm": 18,
"sensorWidthMm": 32,
"shift": [
0.10000000149011612,
-0.20000000298023224
]
},
"light": {
"areaShape": 4,
"areaSize": 3,
"areaSizeY": 2,
"areaSpread": 2.4000000953674316,
"castsShadow": false,
"color": [
0.25,
0.5,
0.75
],
"energy": 400,
"exposure": 1,
"id": "light:Area",
"lightType": 4,
"name": "Area",
"radius": 0.30000001192092896,
"spotAngle": 1.100000023841858,
"spotBlend": 0.25,
"sunAngle": 0.10000000149011612,
"temperature": 5000,
"useTemperature": true
},
"world": {
"backgroundVisible": true,
"color": [
0.10000000149011612,
0.20000000298023224,
0.30000001192092896
],
"exposure": 0.5,
"id": "world:World",
"mist": {
"depth": 50,
"enabled": true,
"height": 3,
"intensity": 0.20000000298023224,
"start": 2,
"type": "LINEAR"
},
"name": "World"
},
"reopenedRevision": 1,
"savedSha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
}

View File

@@ -0,0 +1,135 @@
{
"schemaVersion": 1,
"task": "WBV2-P15-002",
"operation": "LIGHTING_FIELDS_ENGINE_RECEIPT",
"status": "PASS",
"browser": "chromium",
"queueMutation": false,
"source": {
"task": "WBV2-P15-001",
"manifest": "tests/golden/WBV2-P15-001/manifest.json",
"manifestSha256": "e8f2cf5cd71282abe89c33570309a202c06ef04237e82064356b4c2f86577f60",
"selection": "tests/golden/WBV2-P15-001/lighting-selection-report.json",
"selectionSha256": "eeb14c189794036b39e7b569b8d89ef231a7c4631f7bf16e0b0bf0c21896d8bd",
"fixture": "tests/files/web/basic_scene.blend",
"fixtureSha256": "6fcc55bda74da8c95da96ba068b60339bf60ca44147ff8000fbb95d296db2a73",
"expected": "tests/golden/M11-02/lighting-field-roundtrip.json",
"expectedSha256": "ac6d84c0099b12cf6c96df2dbbb4281e3308c36f0bda49c92d7548e58ccc286e",
"api": "blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
"apiSha256": "8fa70dc7605e66393482e661e5987a8443dded56ab0092aeb977b40ae49888f8"
},
"production": {
"report": "tests/golden/WBV2-P15-002/lighting-fields-production.json",
"reportSha256": "c744d1196d7c779561d00e900d591e05328d99e95579a1b5c7a9df7732255c0c",
"secondReport": "tests/golden/WBV2-P15-002/lighting-fields-production.second.json",
"secondReportSha256": "c744d1196d7c779561d00e900d591e05328d99e95579a1b5c7a9df7732255c0c",
"deterministic": true,
"operations": [
"setCameraProperties",
"setLightProperties",
"setWorldProperties"
],
"revisions": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"camera": {
"depthOfField": {
"apertureBlades": 7,
"apertureFStop": 1.7999999523162842,
"apertureRatio": 1.2000000476837158,
"apertureRotation": 0.25,
"enabled": true,
"focusDistance": 4.5,
"focusObjectId": null
},
"far": 500,
"fisheyeFov": 3.1415927410125732,
"id": "camera:Camera.001",
"lensMm": 35,
"name": "Camera.001",
"near": 0.20000000298023224,
"orthoScale": 8,
"panoramaType": 2,
"projection": "PERSPECTIVE",
"sensorFit": 2,
"sensorHeightMm": 18,
"sensorWidthMm": 32,
"shift": [
0.10000000149011612,
-0.20000000298023224
]
},
"light": {
"areaShape": 4,
"areaSize": 3,
"areaSizeY": 2,
"areaSpread": 2.4000000953674316,
"castsShadow": false,
"color": [
0.25,
0.5,
0.75
],
"energy": 400,
"exposure": 1,
"id": "light:Area",
"lightType": 4,
"name": "Area",
"radius": 0.30000001192092896,
"spotAngle": 1.100000023841858,
"spotBlend": 0.25,
"sunAngle": 0.10000000149011612,
"temperature": 5000,
"useTemperature": true
},
"world": {
"backgroundVisible": true,
"color": [
0.10000000149011612,
0.20000000298023224,
0.30000001192092896
],
"exposure": 0.5,
"id": "world:World",
"mist": {
"depth": 50,
"enabled": true,
"height": 3,
"intensity": 0.20000000298023224,
"start": 2,
"type": "LINEAR"
},
"name": "World"
},
"malformed": {
"code": "RENDER_PROPERTY_INVALID",
"message": "Camera far clip must exceed near clip"
},
"malformedRevisionPreserved": true,
"saveReopen": "EXACT",
"reopenedRevision": 1
},
"assertions": {
"cameraFieldsBound": true,
"lightFieldsBound": true,
"worldFieldsBound": true,
"undoRedoSequential": true,
"malformedRejected": true,
"mainUnchangedOnMalformed": true,
"saveReopenExact": true,
"deterministic": true,
"representativeSliceOnly": true,
"fullFamilyParity": false,
"historicalReproduction": false
},
"nextTask": "WBV2-P15-003"
}

View File

@@ -0,0 +1,150 @@
{
"schemaVersion": 1,
"planId": "BLENDER_WEB_PARITY_V2_LIGHTING_EPOCH_1",
"status": "ACTIVE_LIGHTING_QUEUE",
"authority": "queue_reactivated_after_p14_coverage_gate",
"sourcePlan": "docs/BLENDER_WEB_PARITY_TASK_PLAN_V2.json",
"executionPointer": "docs/EXECUTION_QUEUE.md",
"runtimePolicy": {
"blenderSource": "blender-5.2.0",
"browserEvidence": [
"chromium"
],
"forbiddenBrowsers": [
"firefox",
"webkit"
],
"mainAuthority": "blender_main",
"reusePolicy": "source_hash_and_behavior_hash_deduplication"
},
"parentCoverage": {
"manifest": "tests/golden/WBV2-P14-003/manifest.json",
"report": "tests/golden/WBV2-P14-003/inventory-coverage-gate-report.json",
"inventoryTotal": 6900,
"inventoryPending": 6618,
"duplicateValidationAvoided": true
},
"tasks": [
{
"id": "WBV2-P15-000",
"phase": "P15",
"title": "authorize_lighting_capability_continuation",
"kind": "enabling",
"owner": "PROGRAM",
"dependsOn": [
"WBV2-P14-003"
],
"parityId": null,
"implementationClass": "LOCAL_BOUNDED",
"parallelGroup": "p15-governance",
"gate": "G2",
"card": "docs/tasks/WBV2-P15-000.md",
"behavior": "Authorize a source-backed Lighting/Camera/World capability slice without reopening completed batches.",
"outputs": [
"continuation root",
"candidate scope",
"hash boundary"
],
"acceptance": [
"P14 coverage remains hash-bound",
"source command and Chromium test exist",
"one production task is active"
],
"status": "done",
"ready": false,
"queueMutationAllowed": true
},
{
"id": "WBV2-P15-001",
"phase": "P15",
"title": "select_lighting_capability_batch",
"kind": "enabling",
"owner": "PARITY",
"dependsOn": [
"WBV2-P15-000"
],
"parityId": "RENDER.LIGHTING_FIELDS",
"implementationClass": "LOCAL_BOUNDED",
"parallelGroup": "p15-selection",
"gate": "G2",
"card": "docs/tasks/WBV2-P15-001.md",
"behavior": "Select one deterministic Lighting/Camera/World behavior batch from existing source and tests.",
"outputs": [
"candidate report",
"behavior hash",
"dedupe key"
],
"acceptance": [
"source API is present",
"Chromium test is present",
"candidate remains representative rather than full-family completion"
],
"status": "done",
"ready": false,
"queueMutationAllowed": false
},
{
"id": "WBV2-P15-002",
"phase": "P15",
"title": "lighting_fields_engine_receipt",
"kind": "feature",
"owner": "RENDER",
"dependsOn": [
"WBV2-P15-001"
],
"parityId": "RENDER.LIGHTING_FIELDS",
"implementationClass": "LOCAL_EXACT",
"parallelGroup": "p15-lighting",
"gate": "G2",
"card": "docs/tasks/WBV2-P15-002.md",
"behavior": "Bind Camera, Light, and World field edits, undo/redo, and exact save/reopen to compiled WASM Main in Chromium.",
"outputs": [
"lighting production report",
"lighting receipt",
"manifest"
],
"acceptance": [
"camera/light/world fields match",
"undo/redo revisions are sequential",
"save/reopen is exact",
"malformed values fail closed"
],
"status": "done",
"ready": false,
"queueMutationAllowed": false
},
{
"id": "WBV2-P15-003",
"phase": "P15",
"title": "close_lighting_capability_gate",
"kind": "enabling",
"owner": "RELEASE",
"dependsOn": [
"WBV2-P15-002"
],
"parityId": null,
"implementationClass": "LOCAL_BOUNDED",
"parallelGroup": "p15-release",
"gate": "G5",
"card": "docs/tasks/WBV2-P15-003.md",
"behavior": "Close the Lighting capability gate while preserving partial-family and 6900-entry limitations.",
"outputs": [
"lighting gate",
"limited declaration",
"manifest"
],
"acceptance": [
"only the tested slice is claimed",
"inventory remainder remains 6618",
"no repeated validation or historical over-claim"
],
"status": "in_progress",
"ready": true,
"queueMutationAllowed": false
}
],
"parentRecoveryPlan": {
"path": "tests/golden/WBV2-P15-001/lights-task-plan.json",
"sha256": "bd9e53c6c35e0fe436b5b7e1f1e0d9a2cf67d20e2cbda418cddf5ad2223a32e7"
}
}

View File

@@ -0,0 +1,81 @@
{
"schemaVersion": 1,
"task": "WBV2-P15-002",
"parentTask": "WBV2-P15-001",
"operation": "LIGHTING_FIELDS_ENGINE_RECEIPT",
"status": "done",
"enablingTask": false,
"parityStateChange": true,
"runtime": "PLAYWRIGHT_CHROMIUM_WEBENGINE_WASM",
"artifacts": {
"parentManifest": {
"path": "tests/golden/WBV2-P15-001/manifest.json",
"sha256": "e8f2cf5cd71282abe89c33570309a202c06ef04237e82064356b4c2f86577f60"
},
"selection": {
"path": "tests/golden/WBV2-P15-001/lighting-selection-report.json",
"sha256": "eeb14c189794036b39e7b569b8d89ef231a7c4631f7bf16e0b0bf0c21896d8bd"
},
"fixture": {
"path": "tests/files/web/basic_scene.blend",
"sha256": "6fcc55bda74da8c95da96ba068b60339bf60ca44147ff8000fbb95d296db2a73"
},
"expected": {
"path": "tests/golden/M11-02/lighting-field-roundtrip.json",
"sha256": "ac6d84c0099b12cf6c96df2dbbb4281e3308c36f0bda49c92d7548e58ccc286e"
},
"sourceApi": {
"path": "blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
"sha256": "8fa70dc7605e66393482e661e5987a8443dded56ab0092aeb977b40ae49888f8"
},
"sourceTest": {
"path": "web/tests/e2e/wbv2-lighting-fields-production.spec.ts",
"sha256": "efeb36c28f85f03c125d73834bccff980c983412c1a70530a8a641189d3f1edd"
},
"production": {
"path": "tests/golden/WBV2-P15-002/lighting-fields-production.json",
"sha256": "c744d1196d7c779561d00e900d591e05328d99e95579a1b5c7a9df7732255c0c"
},
"productionSecond": {
"path": "tests/golden/WBV2-P15-002/lighting-fields-production.second.json",
"sha256": "c744d1196d7c779561d00e900d591e05328d99e95579a1b5c7a9df7732255c0c"
},
"report": {
"path": "tests/golden/WBV2-P15-002/lighting-fields-receipt-report.json",
"sha256": "ef646b4a54261a2ed420a27d66d48e7862abf412951dc02be2e81b2693833cb3"
},
"generator": {
"path": "tools/web/generate-wbv2-lighting-receipt.mjs",
"sha256": "38cff3d18e2fb63e5181c3bb8db512a41bcd12f55e40b48eb0a0e16d518ebfbd"
},
"status": {
"path": "docs/status/WBV2-P15-002.md",
"sha256": "71da180b413be43b92736b95c8f0c681d11a3d7fcf7d93274fb2735d1e99af0b"
},
"parityPlan": {
"path": "tests/golden/WBV2-P15-002/lights-task-plan.json",
"sha256": "9fb93990916c0c32f7131133ea4c6966f740d931ffcd77b1daaaa3966493cae6"
},
"taskContext": {
"path": "tests/golden/WBV2-P15-002/task-context.json",
"sha256": "6624bcde68a94b01f4160f137e7e6b29b49093f09e653deffc2236676c32eea4"
}
},
"assertions": {
"operations": 3,
"cameraFieldsBound": true,
"lightFieldsBound": true,
"worldFieldsBound": true,
"undoRedoSequential": true,
"malformedRejected": true,
"malformedMainMutation": false,
"saveReopen": "EXACT",
"deterministic": true,
"representativeSliceOnly": true,
"fullFamilyParity": false,
"inventoryTotal": 6900,
"inventoryPending": 6618,
"historicalReproduction": false
},
"nextTask": "WBV2-P15-003"
}

View File

@@ -0,0 +1,169 @@
{
"schemaVersion": 1,
"task": "WBV2-P15-002",
"parentTask": "WBV2-P15-001",
"status": "in_progress",
"goal": "Bind Camera, Light, and World edits, undo/redo, and exact save/reopen to the compiled WASM Main in Chromium.",
"scope": {
"gap": "capability:RENDER.LIGHTING_FIELDS",
"ownerFamily": "RENDER",
"implementationClass": "LOCAL_EXACT"
},
"commands": [
"node tools/web/check-task-context.mjs --task WBV2-P15-002 --write"
],
"inputPaths": [],
"inputSelection": {
"schemaVersion": 1,
"limits": {
"maxFiles": 12,
"evidenceBytes": 8192,
"contextRemainingBytes": 2383,
"contextRemainingTokens": 595
},
"source": {
"bytes": 7521,
"tokens": 1881
},
"selected": [],
"excluded": [
{
"path": "tests/golden/WBV2-P15-001/lighting-selection-report.json",
"bytes": 2434,
"reason": "CONTEXT_REMAINING_SPACE"
},
{
"path": "web/tests/e2e/wbv2-lighting-fields-production.spec.ts",
"bytes": 6047,
"reason": "CONTEXT_REMAINING_SPACE"
},
{
"path": "tests/golden/WBV2-P15-002/",
"bytes": null,
"reason": "GENERATED_EVIDENCE_OUTPUT"
},
{
"path": "docs/status/WBV2-P15-002.md",
"bytes": null,
"reason": "GENERATED_EVIDENCE_OUTPUT"
},
{
"path": "tests/golden/WBV2-P15-002/manifest.json",
"bytes": null,
"reason": "GENERATED_EVIDENCE_OUTPUT"
}
],
"totals": {
"files": 0,
"bytes": 0,
"tokens": 0
}
},
"exitCriteria": [
"camera/light/world fields match",
"undo/redo revisions are sequential",
"save/reopen is exact",
"malformed values fail closed"
],
"nextTask": "WBV2-P15-003",
"sourceDocuments": {
"queue": "docs/EXECUTION_QUEUE.md",
"taskCard": "docs/tasks/WBV2-P15-002.md",
"taskIndex": "tests/golden/WBV2/task-index.json",
"parentManifest": "tests/golden/WBV2-P15-001/manifest.json",
"parentStatus": "docs/status/WBV2-P15-001.md"
},
"readPolicy": {
"required": [
"docs/EXECUTION_QUEUE.md",
"docs/tasks/WBV2-P15-002.md",
"tests/golden/WBV2-P15-001/manifest.json",
"docs/status/WBV2-P15-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-P15-001",
"parentTask": "WBV2-P15-000",
"status": "done",
"nextTask": "WBV2-P15-002",
"artifactCount": 12
},
"statusSummary": [
"# WBV2-P15-001 status",
"- task: `WBV2-P15-001`; parent: `WBV2-P15-000`; status: `done`",
"- selected capability: `RENDER.LIGHTING_FIELDS`; operations: Camera, Light, World fields",
"- matched inventory entries: `197`; inventory remains `6900` total, `6618` pending",
"- behavior hash: `09abd86000c428dea647249b5e1322ae12650a438a39ed0db17d6664bb8ffa53`",
"- dedupe key binds source API/test hashes; repeated Blender/Chromium runs: `0`",
"- representative slice: `true`; full-family parity: `false`",
"- nextTask: `WBV2-P15-002`"
]
},
"budgets": {
"queueBytes": 4096,
"taskBytes": 1123,
"parentManifestBytes": 24576,
"parentStatusBytes": 6144,
"evidenceFiles": 12,
"evidenceBytes": 8192,
"contextTokens": 3500,
"contextEnvelopeTokens": 1024,
"taskLines": 36,
"taskTokens": 281
},
"size": {
"documents": [
{
"path": "docs/EXECUTION_QUEUE.md",
"bytes": 2803,
"lines": 51,
"tokens": 701
},
{
"path": "docs/tasks/WBV2-P15-002.md",
"bytes": 1123,
"lines": 36,
"tokens": 281
},
{
"path": "tests/golden/WBV2-P15-001/manifest.json",
"bytes": 2852,
"lines": 77,
"tokens": 713
},
{
"path": "docs/status/WBV2-P15-001.md",
"bytes": 743,
"lines": 12,
"tokens": 186
}
],
"sourceTokens": 1881,
"evidenceFiles": 0,
"evidenceBytes": 0,
"evidenceTokens": 0,
"totalTokens": 1881,
"reservedEnvelopeTokens": 1024,
"estimatedContextTokens": 2905,
"serializedContextTokens": 609,
"withinBudget": true
}
}

View File

@@ -0,0 +1,108 @@
{
"schemaVersion": 1,
"task": "WBV2-P15-003",
"operation": "CLOSE_LIGHTING_CAPABILITY_GATE",
"status": "PASS",
"decision": {
"status": "READY_WITH_LIGHTING_SLICE_PARITY",
"code": "LIGHTING_FIELDS_AUTHORIZED_REBASELINE",
"featureParityClaims": [
"CAP-MESH-TOPOLOGY-FAMILY",
"CAP-MODIFIER-PARAMETER-APPLY",
"CAP-ASSET-LINK-OVERRIDE-RELOAD",
"CAP-SCENE-OBJECT-ENGINE",
"CAP-MATERIAL-ANIMATION-ENGINE",
"CAP-VIEWPORT-NONMESH-ENGINE",
"NODES.GEOMETRY_ENGINE",
"RIG.POSE_ENGINE",
"RENDER.LIGHTING_FIELDS"
],
"featureParityClaimCount": 9,
"newClaim": "RENDER.LIGHTING_FIELDS",
"representativeInventoryEntries": 197,
"fullFamilyParity": false,
"engineBound": true,
"browser": "chromium",
"provenanceEpoch": 2,
"releaseScope": "AUTHORIZED_REBASELINE_ONLY",
"fullHistoricalReproduction": false,
"inventoryTotal": 6900,
"inventoryPending": 6618,
"inventoryClaimedComplete": 0
},
"evidence": {
"receipt": {
"path": "tests/golden/WBV2-P15-002/lighting-fields-receipt-report.json",
"sha256": "ef646b4a54261a2ed420a27d66d48e7862abf412951dc02be2e81b2693833cb3",
"manifest": "tests/golden/WBV2-P15-002/manifest.json",
"manifestSha256": "d6467e87cf596547e79bf02bffa9b8afb563ba65a01fee267da9244c28bde867",
"operations": [
"setCameraProperties",
"setLightProperties",
"setWorldProperties"
],
"saveReopen": "EXACT",
"deterministic": true
},
"selection": {
"path": "tests/golden/WBV2-P15-001/lighting-selection-report.json",
"sha256": "eeb14c189794036b39e7b569b8d89ef231a7c4631f7bf16e0b0bf0c21896d8bd",
"behaviorHash": "09abd86000c428dea647249b5e1322ae12650a438a39ed0db17d6664bb8ffa53",
"matchedEntries": 197
},
"coverageMatrix": {
"path": "tests/golden/WBV2-P14-002/capability-evidence-matrix.json",
"sha256": "06a987b3911999c4c4983c89841318cd053ae30465ae83d49e6eeff566b462b8",
"buckets": 15,
"pending": 6618
},
"p13Gate": {
"path": "tests/golden/WBV2-P13-005/high-value-domain-gate-report.json",
"sha256": "a2b20da742909c7095a71046aa39fd6f4fe63896fd9e7ef5cc238e877956a446",
"previousClaims": 8
},
"approval": {
"path": "docs/status/M12-PROVENANCE-EPOCH-2-APPROVAL.json",
"sha256": "cffc869734af94ffe6b8b8004d7ab8cc2c9edcb85ec2a877548e0b0f923f5ea3",
"epoch": 2,
"releaseScope": "AUTHORIZED_REBASELINE_ONLY"
}
},
"efficiency": {
"sourceCandidateScanReused": true,
"coverageLedgerReused": true,
"uniqueBehaviorRuns": 2,
"repeatedBlenderRuns": 0,
"repeatedChromiumRuns": 0,
"duplicateValidationAvoided": true,
"inventoryTasksCreated": 0
},
"coverage": {
"inventoryTotal": 6900,
"inventoryPending": 6618,
"inventoryClaimedComplete": 0,
"capabilityBuckets": 15,
"lightingRepresentativeEntries": 197,
"lightingFeatureClaims": 1,
"fullFamilyClaims": 0
},
"negative": {
"missingReceipt": "REJECTED",
"receiptHashDrift": "REJECTED",
"unsupportedBrowser": "REJECTED",
"nonExactSaveReopen": "REJECTED",
"malformedLightingValues": "RENDER_PROPERTY_INVALID",
"falseInventoryCompletion": "REJECTED",
"falseHistoricalReproduction": "REJECTED",
"representativeAsFullFamily": "REJECTED"
},
"policy": {
"sourceHistoryReadOnly": true,
"authorizedRebaselineOnly": true,
"representativeSliceOnly": true,
"inventoryRemainderExplicit": true,
"noFalseLocalParity": true,
"terminalQueuePointer": true
},
"nextTask": null
}

View File

@@ -0,0 +1,150 @@
{
"schemaVersion": 1,
"planId": "BLENDER_WEB_PARITY_V2_LIGHTING_EPOCH_1",
"status": "COMPLETED_WITH_LIGHTING_SLICE",
"authority": "queue_reactivated_after_p14_coverage_gate",
"sourcePlan": "docs/BLENDER_WEB_PARITY_TASK_PLAN_V2.json",
"executionPointer": "docs/EXECUTION_QUEUE.md",
"runtimePolicy": {
"blenderSource": "blender-5.2.0",
"browserEvidence": [
"chromium"
],
"forbiddenBrowsers": [
"firefox",
"webkit"
],
"mainAuthority": "blender_main",
"reusePolicy": "source_hash_and_behavior_hash_deduplication"
},
"parentCoverage": {
"manifest": "tests/golden/WBV2-P14-003/manifest.json",
"report": "tests/golden/WBV2-P14-003/inventory-coverage-gate-report.json",
"inventoryTotal": 6900,
"inventoryPending": 6618,
"duplicateValidationAvoided": true
},
"tasks": [
{
"id": "WBV2-P15-000",
"phase": "P15",
"title": "authorize_lighting_capability_continuation",
"kind": "enabling",
"owner": "PROGRAM",
"dependsOn": [
"WBV2-P14-003"
],
"parityId": null,
"implementationClass": "LOCAL_BOUNDED",
"parallelGroup": "p15-governance",
"gate": "G2",
"card": "docs/tasks/WBV2-P15-000.md",
"behavior": "Authorize a source-backed Lighting/Camera/World capability slice without reopening completed batches.",
"outputs": [
"continuation root",
"candidate scope",
"hash boundary"
],
"acceptance": [
"P14 coverage remains hash-bound",
"source command and Chromium test exist",
"one production task is active"
],
"status": "done",
"ready": false,
"queueMutationAllowed": true
},
{
"id": "WBV2-P15-001",
"phase": "P15",
"title": "select_lighting_capability_batch",
"kind": "enabling",
"owner": "PARITY",
"dependsOn": [
"WBV2-P15-000"
],
"parityId": "RENDER.LIGHTING_FIELDS",
"implementationClass": "LOCAL_BOUNDED",
"parallelGroup": "p15-selection",
"gate": "G2",
"card": "docs/tasks/WBV2-P15-001.md",
"behavior": "Select one deterministic Lighting/Camera/World behavior batch from existing source and tests.",
"outputs": [
"candidate report",
"behavior hash",
"dedupe key"
],
"acceptance": [
"source API is present",
"Chromium test is present",
"candidate remains representative rather than full-family completion"
],
"status": "done",
"ready": false,
"queueMutationAllowed": false
},
{
"id": "WBV2-P15-002",
"phase": "P15",
"title": "lighting_fields_engine_receipt",
"kind": "feature",
"owner": "RENDER",
"dependsOn": [
"WBV2-P15-001"
],
"parityId": "RENDER.LIGHTING_FIELDS",
"implementationClass": "LOCAL_EXACT",
"parallelGroup": "p15-lighting",
"gate": "G2",
"card": "docs/tasks/WBV2-P15-002.md",
"behavior": "Bind Camera, Light, and World field edits, undo/redo, and exact save/reopen to compiled WASM Main in Chromium.",
"outputs": [
"lighting production report",
"lighting receipt",
"manifest"
],
"acceptance": [
"camera/light/world fields match",
"undo/redo revisions are sequential",
"save/reopen is exact",
"malformed values fail closed"
],
"status": "done",
"ready": false,
"queueMutationAllowed": false
},
{
"id": "WBV2-P15-003",
"phase": "P15",
"title": "close_lighting_capability_gate",
"kind": "enabling",
"owner": "RELEASE",
"dependsOn": [
"WBV2-P15-002"
],
"parityId": null,
"implementationClass": "LOCAL_BOUNDED",
"parallelGroup": "p15-release",
"gate": "G5",
"card": "docs/tasks/WBV2-P15-003.md",
"behavior": "Close the Lighting capability gate while preserving partial-family and 6900-entry limitations.",
"outputs": [
"lighting gate",
"limited declaration",
"manifest"
],
"acceptance": [
"only the tested slice is claimed",
"inventory remainder remains 6618",
"no repeated validation or historical over-claim"
],
"status": "in_progress",
"ready": true,
"queueMutationAllowed": false
}
],
"parentRecoveryPlan": {
"path": "tests/golden/WBV2-P15-002/lights-task-plan.json",
"sha256": "9fb93990916c0c32f7131133ea4c6966f740d931ffcd77b1daaaa3966493cae6"
}
}

View File

@@ -0,0 +1,74 @@
{
"schemaVersion": 1,
"task": "WBV2-P15-003",
"parentTask": "WBV2-P15-002",
"operation": "CLOSE_LIGHTING_CAPABILITY_GATE",
"status": "done",
"enablingTask": true,
"parityStateChange": true,
"runtime": "READ_ONLY_LIGHTING_GATE",
"artifacts": {
"parentManifest": {
"path": "tests/golden/WBV2-P15-002/manifest.json",
"sha256": "d6467e87cf596547e79bf02bffa9b8afb563ba65a01fee267da9244c28bde867"
},
"receipt": {
"path": "tests/golden/WBV2-P15-002/lighting-fields-receipt-report.json",
"sha256": "ef646b4a54261a2ed420a27d66d48e7862abf412951dc02be2e81b2693833cb3"
},
"selection": {
"path": "tests/golden/WBV2-P15-001/lighting-selection-report.json",
"sha256": "eeb14c189794036b39e7b569b8d89ef231a7c4631f7bf16e0b0bf0c21896d8bd"
},
"coverageMatrix": {
"path": "tests/golden/WBV2-P14-002/capability-evidence-matrix.json",
"sha256": "06a987b3911999c4c4983c89841318cd053ae30465ae83d49e6eeff566b462b8"
},
"p13Gate": {
"path": "tests/golden/WBV2-P13-005/high-value-domain-gate-report.json",
"sha256": "a2b20da742909c7095a71046aa39fd6f4fe63896fd9e7ef5cc238e877956a446"
},
"approval": {
"path": "docs/status/M12-PROVENANCE-EPOCH-2-APPROVAL.json",
"sha256": "cffc869734af94ffe6b8b8004d7ab8cc2c9edcb85ec2a877548e0b0f923f5ea3"
},
"report": {
"path": "tests/golden/WBV2-P15-003/lighting-gate-report.json",
"sha256": "a0f2f9d278a96ffc1f4048375754042d6364f03162d898b9d679ea6587a6ae71"
},
"generator": {
"path": "tools/web/generate-wbv2-lighting-gate.mjs",
"sha256": "7bf24335e84ada46ae4a7ee191479685272f9ba82ccfc1d7101099cb83aaf652"
},
"status": {
"path": "docs/status/WBV2-P15-003.md",
"sha256": "b3ba432d33c812c1243aac3d85955b6090880bbc5dadbfafbaf06ab688e1fda5"
},
"parityPlan": {
"path": "tests/golden/WBV2-P15-003/lights-task-plan.json",
"sha256": "79fbb2b8ce4280ccd39bbe7af00ad515daedbb973498d8de51b00461450f5c8c"
},
"taskContext": {
"path": "tests/golden/WBV2-P15-003/task-context.json",
"sha256": "0577e69e8804028e4ea0b0dd7492a4ecf26784771c5e2280f7089a507c92533d"
}
},
"assertions": {
"totalFeatureClaims": 9,
"newLightingClaims": 1,
"representativeInventoryEntries": 197,
"fullFamilyParityClaims": 0,
"inventoryTotal": 6900,
"inventoryPending": 6618,
"inventoryClaimedComplete": 0,
"uniqueBehaviorRuns": 2,
"repeatedBlenderRuns": 0,
"repeatedChromiumRuns": 0,
"duplicateValidationAvoided": true,
"provenanceEpoch": 2,
"authorizedRebaselineOnly": true,
"fullHistoricalReproduction": false,
"deterministic": true
},
"nextTask": null
}

View File

@@ -0,0 +1,168 @@
{
"schemaVersion": 1,
"task": "WBV2-P15-003",
"parentTask": "WBV2-P15-002",
"status": "in_progress",
"goal": "Close the Lighting capability gate while preserving partial-family and 6900-entry limitations.",
"scope": {
"gap": "workflow:close_lighting_capability_gate",
"ownerFamily": "RELEASE",
"implementationClass": "LOCAL_BOUNDED"
},
"commands": [
"node tools/web/check-task-context.mjs --task WBV2-P15-003 --write"
],
"inputPaths": [],
"inputSelection": {
"schemaVersion": 1,
"limits": {
"maxFiles": 12,
"evidenceBytes": 8192,
"contextRemainingBytes": 2257,
"contextRemainingTokens": 563
},
"source": {
"bytes": 7647,
"tokens": 1913
},
"selected": [],
"excluded": [
{
"path": "tests/golden/WBV2-P15-002/lighting-fields-receipt-report.json",
"bytes": 3893,
"reason": "CONTEXT_REMAINING_SPACE"
},
{
"path": "tests/golden/WBV2-P14-002/capability-evidence-matrix.json",
"bytes": 9752,
"reason": "EVIDENCE_BYTE_BUDGET"
},
{
"path": "tests/golden/WBV2-P15-003/",
"bytes": null,
"reason": "GENERATED_EVIDENCE_OUTPUT"
},
{
"path": "docs/status/WBV2-P15-003.md",
"bytes": null,
"reason": "GENERATED_EVIDENCE_OUTPUT"
},
{
"path": "tests/golden/WBV2-P15-003/manifest.json",
"bytes": null,
"reason": "GENERATED_EVIDENCE_OUTPUT"
}
],
"totals": {
"files": 0,
"bytes": 0,
"tokens": 0
}
},
"exitCriteria": [
"only the tested slice is claimed",
"inventory remainder remains 6618",
"no repeated validation or historical over-claim"
],
"nextTask": null,
"sourceDocuments": {
"queue": "docs/EXECUTION_QUEUE.md",
"taskCard": "docs/tasks/WBV2-P15-003.md",
"taskIndex": "tests/golden/WBV2/task-index.json",
"parentManifest": "tests/golden/WBV2-P15-002/manifest.json",
"parentStatus": "docs/status/WBV2-P15-002.md"
},
"readPolicy": {
"required": [
"docs/EXECUTION_QUEUE.md",
"docs/tasks/WBV2-P15-003.md",
"tests/golden/WBV2-P15-002/manifest.json",
"docs/status/WBV2-P15-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-P15-002",
"parentTask": "WBV2-P15-001",
"status": "done",
"nextTask": "WBV2-P15-003",
"artifactCount": 13
},
"statusSummary": [
"# WBV2-P15-002 status",
"- task: `WBV2-P15-002`; parent: `WBV2-P15-001`; status: `done`",
"- Chromium/WASM Main operations: Camera, Light, World fields",
"- revisions: `1 -> 10` sequential across edit/undo/redo actions",
"- malformed camera range: `RENDER_PROPERTY_INVALID`; Main revision preserved",
"- save/reopen: `EXACT`; deterministic second run: `true`",
"- representative slice: `true`; full-family parity: `false`; inventory pending: `6618`",
"- nextTask: `WBV2-P15-003`"
]
},
"budgets": {
"queueBytes": 4096,
"taskBytes": 1110,
"parentManifestBytes": 24576,
"parentStatusBytes": 6144,
"evidenceFiles": 12,
"evidenceBytes": 8192,
"contextTokens": 3500,
"contextEnvelopeTokens": 1024,
"taskLines": 35,
"taskTokens": 278
},
"size": {
"documents": [
{
"path": "docs/EXECUTION_QUEUE.md",
"bytes": 2803,
"lines": 51,
"tokens": 701
},
{
"path": "docs/tasks/WBV2-P15-003.md",
"bytes": 1110,
"lines": 35,
"tokens": 278
},
{
"path": "tests/golden/WBV2-P15-002/manifest.json",
"bytes": 3048,
"lines": 82,
"tokens": 762
},
{
"path": "docs/status/WBV2-P15-002.md",
"bytes": 686,
"lines": 12,
"tokens": 172
}
],
"sourceTokens": 1913,
"evidenceFiles": 0,
"evidenceBytes": 0,
"evidenceTokens": 0,
"totalTokens": 1913,
"reservedEnvelopeTokens": 1024,
"estimatedContextTokens": 2937,
"serializedContextTokens": 611,
"withinBudget": true
}
}

View File

@@ -1,4 +1,4 @@
{"id":"WBV2-P14-000","gapId":"workflow:authorize_inventory_coverage_continuation","ownerFamily":"PROGRAM","sourceTask":"P14","state":"completed","targetImplementationClass":"LOCAL_BOUNDED","exitCriteria":["P13 evidence remains hash-bound","inventory counts are deterministic","one coverage task is active"]}
{"id":"WBV2-P14-001","gapId":"workflow:generate_inventory_coverage_ledger","ownerFamily":"PARITY","sourceTask":"P14","state":"completed","targetImplementationClass":"LOCAL_BOUNDED","exitCriteria":["all entries are accounted for","pending remainder stays explicit","existing receipts are reused","no duplicate execution"]}
{"id":"WBV2-P14-002","gapId":"workflow:reconcile_capability_evidence_matrix","ownerFamily":"PARITY","sourceTask":"P14","state":"completed","targetImplementationClass":"LOCAL_BOUNDED","exitCriteria":["only hash-bound claims are promoted","partial capability coverage is explicit","6900 remainder is unchanged"]}
{"id":"WBV2-P14-003","gapId":"workflow:close_inventory_coverage_gate","ownerFamily":"RELEASE","sourceTask":"P14","state":"active","targetImplementationClass":"LOCAL_BOUNDED","exitCriteria":["all entries have a capability bucket","feature claims remain evidence-bound","no historical or inventory over-claim"]}
{"id":"WBV2-P15-000","gapId":"workflow:authorize_lighting_capability_continuation","ownerFamily":"PROGRAM","sourceTask":"P15","state":"completed","targetImplementationClass":"LOCAL_BOUNDED","exitCriteria":["P14 coverage remains hash-bound","source command and Chromium test exist","one production task is active"]}
{"id":"WBV2-P15-001","gapId":"RENDER.LIGHTING_FIELDS","ownerFamily":"PARITY","sourceTask":"P15","state":"completed","targetImplementationClass":"LOCAL_BOUNDED","exitCriteria":["source API is present","Chromium test is present","candidate remains representative rather than full-family completion"]}
{"id":"WBV2-P15-002","gapId":"RENDER.LIGHTING_FIELDS","ownerFamily":"RENDER","sourceTask":"P15","state":"completed","targetImplementationClass":"LOCAL_EXACT","exitCriteria":["camera/light/world fields match","undo/redo revisions are sequential","save/reopen is exact","malformed values fail closed"]}
{"id":"WBV2-P15-003","gapId":"workflow:close_lighting_capability_gate","ownerFamily":"RELEASE","sourceTask":"P15","state":"active","targetImplementationClass":"LOCAL_BOUNDED","exitCriteria":["only the tested slice is claimed","inventory remainder remains 6618","no repeated validation or historical over-claim"]}

View File

@@ -1 +1 @@
{"schemaVersion":1,"operation":"BLENDER_WEB_CAPABILITY_TASK_INDEX","source":{"path":"tests/golden/WBV2-P14-003/coverage-task-plan.json","sha256":"ea40e63b984c475c41b3a4ae8c3e8d8966c86a2574f0432839a2ff254660f3de"},"catalog":{"path":"tests/golden/WBV2/task-catalog.jsonl","sha256":"2cf3d57daa005f6f164cda1680f9943d62592c919fddc984bf6fc03bd808c5b2"},"taskCount":4,"activeTask":"WBV2-P14-003","entries":{"WBV2-P14-000":{"line":0,"offset":0,"length":308,"previous":"WBV2-P13-005","next":"WBV2-P14-001"},"WBV2-P14-001":{"line":1,"offset":308,"length":322,"previous":"WBV2-P14-000","next":"WBV2-P14-002"},"WBV2-P14-002":{"line":2,"offset":630,"length":311,"previous":"WBV2-P14-001","next":"WBV2-P14-003"},"WBV2-P14-003":{"line":3,"offset":941,"length":310,"previous":"WBV2-P14-002","next":null}}}
{"schemaVersion":1,"operation":"BLENDER_WEB_CAPABILITY_TASK_INDEX","source":{"path":"tests/golden/WBV2-P15-003/lights-task-plan.json","sha256":"79fbb2b8ce4280ccd39bbe7af00ad515daedbb973498d8de51b00461450f5c8c"},"catalog":{"path":"tests/golden/WBV2/task-catalog.jsonl","sha256":"82bb887081c15924edff8cca011d9f2d77c982718fbdd81d8c3dbbc1f99e8f6a"},"taskCount":4,"activeTask":"WBV2-P15-003","entries":{"WBV2-P15-000":{"line":0,"offset":0,"length":315,"previous":"WBV2-P14-003","next":"WBV2-P15-001"},"WBV2-P15-001":{"line":1,"offset":315,"length":299,"previous":"WBV2-P15-000","next":"WBV2-P15-002"},"WBV2-P15-002":{"line":2,"offset":614,"length":301,"previous":"WBV2-P15-001","next":"WBV2-P15-003"},"WBV2-P15-003":{"line":3,"offset":915,"length":313,"previous":"WBV2-P15-002","next":null}}}