2075 lines
59 KiB
JSON
2075 lines
59 KiB
JSON
{
|
|
"schemaVersion": 1,
|
|
"planId": "BLENDER_WEB_PARITY_V2_HIGH_VALUE_DOMAIN_EPOCH_1",
|
|
"status": "COMPLETED_WITH_HIGH_VALUE_DOMAIN_PARITY",
|
|
"authority": "queue_reactivated_after_p12_domain_gate",
|
|
"productContract": "docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
|
"sourcePlan": "docs/BLENDER_5_2_FULL_WEB_PARITY_EXECUTION_PLAN.md",
|
|
"executionPointer": "docs/EXECUTION_QUEUE.md",
|
|
"correctiveCheckpoint": {
|
|
"task": "C6-003",
|
|
"handoff": "tests/golden/corrective/C6-003/handoff.json",
|
|
"status": "active",
|
|
"blocker": null,
|
|
"queueMutation": true,
|
|
"legacyTask": "M16-GAP-00277",
|
|
"legacyParentNextTask": "M16-GAP-00277"
|
|
},
|
|
"runtimePolicy": {
|
|
"blenderSource": "blender-5.2.0",
|
|
"browserEvidence": [
|
|
"chromium"
|
|
],
|
|
"forbiddenBrowsers": [
|
|
"firefox",
|
|
"webkit"
|
|
],
|
|
"mainAuthority": "blender_main",
|
|
"storage": [
|
|
"opfs",
|
|
"indexeddb"
|
|
],
|
|
"queueMutation": "enabled_after_owner_review_and_g5"
|
|
},
|
|
"completionClasses": [
|
|
"LOCAL_EXACT",
|
|
"LOCAL_BOUNDED",
|
|
"SERVER_EXACT",
|
|
"EXCLUDED"
|
|
],
|
|
"gates": [
|
|
{
|
|
"id": "G0",
|
|
"name": "scope_and_inventory",
|
|
"requires": [
|
|
"contract",
|
|
"inventory",
|
|
"capability_matrix"
|
|
]
|
|
},
|
|
{
|
|
"id": "G1",
|
|
"name": "runtime_foundation",
|
|
"requires": [
|
|
"sceneir",
|
|
"main_transaction",
|
|
"worker_lifecycle",
|
|
"storage_journal"
|
|
]
|
|
},
|
|
{
|
|
"id": "G2",
|
|
"name": "feature_parity",
|
|
"requires": [
|
|
"desktop",
|
|
"wasm_main",
|
|
"chromium",
|
|
"negative",
|
|
"persistence"
|
|
]
|
|
},
|
|
{
|
|
"id": "G3",
|
|
"name": "recovery_and_security",
|
|
"requires": [
|
|
"cancel",
|
|
"restart",
|
|
"oom_quota",
|
|
"malformed",
|
|
"dispose"
|
|
]
|
|
},
|
|
{
|
|
"id": "G4",
|
|
"name": "release_candidate",
|
|
"requires": [
|
|
"offline",
|
|
"ci",
|
|
"sbom",
|
|
"rollback",
|
|
"hashes"
|
|
]
|
|
},
|
|
{
|
|
"id": "G5",
|
|
"name": "queue_mutation",
|
|
"requires": [
|
|
"owner_review",
|
|
"protected_hashes",
|
|
"handoff",
|
|
"single_ready_task"
|
|
]
|
|
}
|
|
],
|
|
"waves": [
|
|
{
|
|
"id": "P0",
|
|
"name": "facts_and_contracts",
|
|
"gate": "G0",
|
|
"tasks": [
|
|
"WBV2-P0-001",
|
|
"WBV2-P0-002",
|
|
"WBV2-P0-003"
|
|
]
|
|
},
|
|
{
|
|
"id": "P1",
|
|
"name": "runtime_foundation",
|
|
"gate": "G1",
|
|
"tasks": [
|
|
"WBV2-P1-001",
|
|
"WBV2-P1-002",
|
|
"WBV2-P1-003",
|
|
"WBV2-P1-004",
|
|
"WBV2-P1-005"
|
|
]
|
|
},
|
|
{
|
|
"id": "P2",
|
|
"name": "core_modeler_loop",
|
|
"gate": "G2",
|
|
"tasks": [
|
|
"WBV2-P2-001",
|
|
"WBV2-P2-002",
|
|
"WBV2-P2-003",
|
|
"WBV2-P2-004",
|
|
"WBV2-P2-005"
|
|
]
|
|
},
|
|
{
|
|
"id": "P3",
|
|
"name": "authoring_and_io",
|
|
"gate": "G2",
|
|
"tasks": [
|
|
"WBV2-P3-001",
|
|
"WBV2-P3-002",
|
|
"WBV2-P3-003",
|
|
"WBV2-P3-004",
|
|
"WBV2-P3-005"
|
|
]
|
|
},
|
|
{
|
|
"id": "P4",
|
|
"name": "advanced_local_slices",
|
|
"gate": "G2",
|
|
"tasks": [
|
|
"WBV2-P4-001",
|
|
"WBV2-P4-002",
|
|
"WBV2-P4-003",
|
|
"WBV2-P4-004"
|
|
]
|
|
},
|
|
{
|
|
"id": "P5",
|
|
"name": "render_and_server",
|
|
"gate": "G3",
|
|
"tasks": [
|
|
"WBV2-P5-001",
|
|
"WBV2-P5-002",
|
|
"WBV2-P5-003"
|
|
]
|
|
},
|
|
{
|
|
"id": "P6",
|
|
"name": "security_performance_release",
|
|
"gate": "G4",
|
|
"tasks": [
|
|
"WBV2-P6-001",
|
|
"WBV2-P6-002",
|
|
"WBV2-P6-003"
|
|
]
|
|
},
|
|
{
|
|
"id": "P7",
|
|
"name": "full_parity_gap_program",
|
|
"gate": "G5",
|
|
"tasks": [
|
|
"WBV2-P7-001",
|
|
"WBV2-P7-002",
|
|
"WBV2-P7-003"
|
|
]
|
|
}
|
|
],
|
|
"taskContract": {
|
|
"onePrimaryBehavior": true,
|
|
"requiredEvidence": [
|
|
"desktop",
|
|
"wasm_main",
|
|
"chromium",
|
|
"negative",
|
|
"persistence",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"requiredCommands": [
|
|
"focused",
|
|
"determinism",
|
|
"hash",
|
|
"governance"
|
|
],
|
|
"failureState": "in_progress_or_blocked",
|
|
"successorRule": "only_from_parent_manifest_nextTask"
|
|
},
|
|
"tasks": [
|
|
{
|
|
"id": "WBV2-P0-001",
|
|
"phase": "P0",
|
|
"title": "reconcile_scope_and_checkpoints",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [],
|
|
"parityId": null,
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p0-governance",
|
|
"gate": "G0",
|
|
"card": "docs/tasks/WBV2-P0-001.md",
|
|
"behavior": "Freeze V1/full-parity boundary and reconcile legacy/corrective pointers without queue mutation.",
|
|
"outputs": [
|
|
"scope decision",
|
|
"checkpoint report",
|
|
"protected hash set"
|
|
],
|
|
"acceptance": [
|
|
"corrective owner-review status is explicit",
|
|
"legacy parent pointer is unchanged",
|
|
"plan has one activation gate"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P0-002",
|
|
"phase": "P0",
|
|
"title": "generate_blender52_inventory_and_parity_map",
|
|
"kind": "enabling",
|
|
"owner": "PARITY",
|
|
"dependsOn": [
|
|
"WBV2-P0-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p0-inventory",
|
|
"gate": "G0",
|
|
"card": "docs/tasks/WBV2-P0-002.md",
|
|
"behavior": "Generate stable Blender 5.2 data-block/operator/editor/node/format inventory and map every entry to a completion class.",
|
|
"outputs": [
|
|
"inventory",
|
|
"parity map",
|
|
"source hash"
|
|
],
|
|
"acceptance": [
|
|
"unknown entries are classified",
|
|
"inventory is deterministic",
|
|
"no entry claims feature parity without evidence"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P0-003",
|
|
"phase": "P0",
|
|
"title": "freeze_capability_error_budget_contract",
|
|
"kind": "enabling",
|
|
"owner": "PROTOCOL",
|
|
"dependsOn": [
|
|
"WBV2-P0-001",
|
|
"WBV2-P0-002"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p0-contract",
|
|
"gate": "G0",
|
|
"card": "docs/tasks/WBV2-P0-003.md",
|
|
"behavior": "Freeze capability levels, stable error codes, revision, budget, cancellation and loss-report schemas.",
|
|
"outputs": [
|
|
"versioned protocol",
|
|
"capability matrix",
|
|
"negative matrix"
|
|
],
|
|
"acceptance": [
|
|
"unsupported input fails closed",
|
|
"schema hashes are stable",
|
|
"migration policy preserves unknown data"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P1-001",
|
|
"phase": "P1",
|
|
"title": "stabilize_runtime_variants_and_source_receipts",
|
|
"kind": "enabling",
|
|
"owner": "RUNTIME",
|
|
"dependsOn": [
|
|
"WBV2-P0-003"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p1-runtime",
|
|
"gate": "G1",
|
|
"card": "docs/tasks/WBV2-P1-001.md",
|
|
"behavior": "Bind single-thread/pthread WebEngine variants to pinned Blender source/build/runtime receipts.",
|
|
"outputs": [
|
|
"runtime manifest",
|
|
"variant selector",
|
|
"fallback report"
|
|
],
|
|
"acceptance": [
|
|
"variant fallback is deterministic",
|
|
"source/build hash is verified",
|
|
"one engine session has one generation"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P1-002",
|
|
"phase": "P1",
|
|
"title": "unify_sceneir_stable_ids_and_binary_deltas",
|
|
"kind": "enabling",
|
|
"owner": "MAIN",
|
|
"dependsOn": [
|
|
"WBV2-P1-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "p1-sceneir",
|
|
"gate": "G1",
|
|
"card": "docs/tasks/WBV2-P1-002.md",
|
|
"behavior": "Make SceneIR/WBG1 stable IDs, topology/attribute domains and binary/range deltas canonical across desktop and WASM.",
|
|
"outputs": [
|
|
"SceneIR schema",
|
|
"binary fixture",
|
|
"delta comparator"
|
|
],
|
|
"acceptance": [
|
|
"IDs survive save/reopen",
|
|
"malformed chunk is rejected",
|
|
"desktop and WASM canonical hashes match"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P1-003",
|
|
"phase": "P1",
|
|
"title": "unify_main_transaction_history_and_save",
|
|
"kind": "enabling",
|
|
"owner": "MAIN",
|
|
"dependsOn": [
|
|
"WBV2-P1-002"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "p1-history",
|
|
"gate": "G1",
|
|
"card": "docs/tasks/WBV2-P1-003.md",
|
|
"behavior": "Use one Main transaction/revision/history contract for commit, undo/redo, atomic save and reopen.",
|
|
"outputs": [
|
|
"transaction contract",
|
|
"history receipt",
|
|
"save/reopen runner"
|
|
],
|
|
"acceptance": [
|
|
"failed/no-op commands add no history",
|
|
"stale revision cannot commit",
|
|
"reopen state is byte/hash stable"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P1-004",
|
|
"phase": "P1",
|
|
"title": "harden_worker_cancel_restart_and_dispose",
|
|
"kind": "enabling",
|
|
"owner": "RUNTIME",
|
|
"dependsOn": [
|
|
"WBV2-P1-001",
|
|
"WBV2-P1-003"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p1-lifecycle",
|
|
"gate": "G1",
|
|
"card": "docs/tasks/WBV2-P1-004.md",
|
|
"behavior": "Make cancellation, late-result rejection, Worker restart and resource disposal common to all domains.",
|
|
"outputs": [
|
|
"lifecycle runner",
|
|
"fault report",
|
|
"dispose counters"
|
|
],
|
|
"acceptance": [
|
|
"cancel never publishes result",
|
|
"generation mismatch is rejected",
|
|
"CPU/WASM/GPU owners return to budget"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P1-005",
|
|
"phase": "P1",
|
|
"title": "harden_opfs_indexeddb_journal_recovery",
|
|
"kind": "enabling",
|
|
"owner": "STORAGE",
|
|
"dependsOn": [
|
|
"WBV2-P1-003",
|
|
"WBV2-P1-004"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p1-storage",
|
|
"gate": "G1",
|
|
"card": "docs/tasks/WBV2-P1-005.md",
|
|
"behavior": "Unify OPFS staging/content addressing and IndexedDB metadata/journal recovery.",
|
|
"outputs": [
|
|
"storage schema",
|
|
"crash fixtures",
|
|
"recovery checker"
|
|
],
|
|
"acceptance": [
|
|
"interrupted commit leaves old project usable",
|
|
"hash mismatch quarantines payload",
|
|
"small project recovers after restart"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P2-001",
|
|
"phase": "P2",
|
|
"title": "open_blend_scene_context_and_outliner",
|
|
"kind": "feature",
|
|
"owner": "EDITOR",
|
|
"dependsOn": [
|
|
"WBV2-P1-002",
|
|
"WBV2-P1-005"
|
|
],
|
|
"parityId": "EDITOR.OPEN_SCENE",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "p2-editor",
|
|
"gate": "G2",
|
|
"card": "docs/tasks/WBV2-P2-001.md",
|
|
"behavior": "Open a minimal .blend and expose scene/object/collection context from authoritative Main.",
|
|
"outputs": [
|
|
"desktop fixture",
|
|
"outliner report",
|
|
"Chromium path"
|
|
],
|
|
"acceptance": [
|
|
"stable IDs and selection revision match",
|
|
"missing data is structured",
|
|
"reopen preserves context"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P2-002",
|
|
"phase": "P2",
|
|
"title": "object_collection_parent_transform_workflow",
|
|
"kind": "feature",
|
|
"owner": "EDITOR",
|
|
"dependsOn": [
|
|
"WBV2-P1-003",
|
|
"WBV2-P2-001"
|
|
],
|
|
"parityId": "OBJECT.TRANSFORM_HIERARCHY",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "p2-scene",
|
|
"gate": "G2",
|
|
"card": "docs/tasks/WBV2-P2-002.md",
|
|
"behavior": "Edit object transform, collection membership and parent hierarchy through Main transactions.",
|
|
"outputs": [
|
|
"desktop/WASM golden",
|
|
"negative cases",
|
|
"save/reopen receipt"
|
|
],
|
|
"acceptance": [
|
|
"world matrix parity",
|
|
"cycle/locked/library edits reject",
|
|
"undo/redo/save/reopen stable"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P2-003",
|
|
"phase": "P2",
|
|
"title": "mesh_edit_core_operations",
|
|
"kind": "feature",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1-002",
|
|
"WBV2-P2-002"
|
|
],
|
|
"parityId": "MESH.EDIT_CORE",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "p2-mesh",
|
|
"gate": "G2",
|
|
"card": "docs/tasks/WBV2-P2-003.md",
|
|
"behavior": "Expose bounded vertex/edge/face selection plus merge/dissolve/extrude/inset/bevel/loop-cut.",
|
|
"outputs": [
|
|
"Blender fixture set",
|
|
"topology comparator",
|
|
"Chromium edit path"
|
|
],
|
|
"acceptance": [
|
|
"topology/attributes match",
|
|
"invalid selection and budget fail closed",
|
|
"single transaction and reopen stable"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P2-004",
|
|
"phase": "P2",
|
|
"title": "dual_viewport_sceneir_render_path",
|
|
"kind": "feature",
|
|
"owner": "VIEWPORT",
|
|
"dependsOn": [
|
|
"WBV2-P1-004",
|
|
"WBV2-P2-003"
|
|
],
|
|
"parityId": "VIEWPORT.MAIN_OFFSCREEN",
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p2-viewport",
|
|
"gate": "G2",
|
|
"card": "docs/tasks/WBV2-P2-004.md",
|
|
"behavior": "Render the same validated SceneIR through main-thread WebGL2 and OffscreenCanvas Worker paths.",
|
|
"outputs": [
|
|
"pixel report",
|
|
"viewport diagnostics",
|
|
"device recovery"
|
|
],
|
|
"acceptance": [
|
|
"both paths have nonblank pixels",
|
|
"selection/camera revision is shared",
|
|
"device loss releases resources"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P2-005",
|
|
"phase": "P2",
|
|
"title": "close_p0_user_loop",
|
|
"kind": "feature",
|
|
"owner": "INTEGRATION",
|
|
"dependsOn": [
|
|
"WBV2-P2-002",
|
|
"WBV2-P2-003",
|
|
"WBV2-P1-005",
|
|
"WBV2-P2-004"
|
|
],
|
|
"parityId": "WORKFLOW.P0_USER_LOOP",
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p2-integration",
|
|
"gate": "G2",
|
|
"card": "docs/tasks/WBV2-P2-005.md",
|
|
"behavior": "Prove open -> edit -> undo -> redo -> save -> restart -> reopen -> GLB in one production flow.",
|
|
"outputs": [
|
|
"P0 workflow report",
|
|
"release binding",
|
|
"rollback receipt"
|
|
],
|
|
"acceptance": [
|
|
"Main revision and exported asset are bound",
|
|
"fault/cancel leaves old state",
|
|
"Chromium production path passes"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P3-001",
|
|
"phase": "P3",
|
|
"title": "material_uv_principled_asset_workflow",
|
|
"kind": "feature",
|
|
"owner": "MATERIAL",
|
|
"dependsOn": [
|
|
"WBV2-P2-003",
|
|
"WBV2-P2-005"
|
|
],
|
|
"parityId": "MATERIAL.PBR_UV",
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p3-authoring",
|
|
"gate": "G2",
|
|
"card": "docs/tasks/WBV2-P3-001.md",
|
|
"behavior": "Edit material slots, UVs and declared Principled/Image/Normal graph nodes with content-addressed textures.",
|
|
"outputs": [
|
|
"material golden",
|
|
"texture receipt",
|
|
"loss report"
|
|
],
|
|
"acceptance": [
|
|
"desktop/WASM node fields match",
|
|
"unsupported node retained/blocked",
|
|
"packed asset survives reopen"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P3-002",
|
|
"phase": "P3",
|
|
"title": "keyframe_timeline_action_workflow",
|
|
"kind": "feature",
|
|
"owner": "ANIMATION",
|
|
"dependsOn": [
|
|
"WBV2-P2-002",
|
|
"WBV2-P2-005",
|
|
"WBV2-P3-001"
|
|
],
|
|
"parityId": "ANIMATION.TRS_ACTION",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "p3-authoring",
|
|
"gate": "G2",
|
|
"card": "docs/tasks/WBV2-P3-002.md",
|
|
"behavior": "Create/edit TRS keyframes, timeline and declared Action interpolation through Main.",
|
|
"outputs": [
|
|
"frame golden",
|
|
"animation comparator",
|
|
"reopen report"
|
|
],
|
|
"acceptance": [
|
|
"sampled values and handles match",
|
|
"stale frame result rejected",
|
|
"undo/save/reopen stable"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P3-003",
|
|
"phase": "P3",
|
|
"title": "armature_pose_constraint_skin_workflow",
|
|
"kind": "feature",
|
|
"owner": "RIG",
|
|
"dependsOn": [
|
|
"WBV2-P2-002",
|
|
"WBV2-P3-002"
|
|
],
|
|
"parityId": "RIG.POSE_SKIN",
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p3-rig",
|
|
"gate": "G2",
|
|
"card": "docs/tasks/WBV2-P3-003.md",
|
|
"behavior": "Read and edit declared armature pose/constraint/weight/shape-key slices with bounded evaluation.",
|
|
"outputs": [
|
|
"pose golden",
|
|
"skin report",
|
|
"unsupported matrix"
|
|
],
|
|
"acceptance": [
|
|
"pose matrices and weights match",
|
|
"unsupported constraint is explicit",
|
|
"save/reopen and small recovery pass"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P3-004",
|
|
"phase": "P3",
|
|
"title": "glb_roundtrip_and_loss_report",
|
|
"kind": "feature",
|
|
"owner": "IO",
|
|
"dependsOn": [
|
|
"WBV2-P2-005",
|
|
"WBV2-P3-001",
|
|
"WBV2-P3-003"
|
|
],
|
|
"parityId": "IO.GLB_ROUNDTRIP",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "p3-io",
|
|
"gate": "G2",
|
|
"card": "docs/tasks/WBV2-P3-004.md",
|
|
"behavior": "Import/export declared GLB mesh/PBR/texture/morph/skin/animation and report non-mapped semantics.",
|
|
"outputs": [
|
|
"GLB fixtures",
|
|
"desktop reimport report",
|
|
"loss report"
|
|
],
|
|
"acceptance": [
|
|
"roundtrip canonical graph matches",
|
|
"sparse/external URI/budget negatives reject",
|
|
"no silent loss"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P3-005",
|
|
"phase": "P3",
|
|
"title": "library_asset_append_link_override",
|
|
"kind": "feature",
|
|
"owner": "ASSET",
|
|
"dependsOn": [
|
|
"WBV2-P1-005",
|
|
"WBV2-P2-001",
|
|
"WBV2-P3-004"
|
|
],
|
|
"parityId": "ASSET.LIBRARY_OPERATIONS",
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p3-assets",
|
|
"gate": "G2",
|
|
"card": "docs/tasks/WBV2-P3-005.md",
|
|
"behavior": "Support declared append/link/override ownership, reload and missing-library semantics.",
|
|
"outputs": [
|
|
"library fixtures",
|
|
"ownership report",
|
|
"negative matrix"
|
|
],
|
|
"acceptance": [
|
|
"source/hash/owner identity preserved",
|
|
"linked mutation blocked",
|
|
"stale generation and missing source fail closed"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P4-001",
|
|
"phase": "P4",
|
|
"title": "modifier_graph_and_apply_slices",
|
|
"kind": "feature",
|
|
"owner": "MODIFIER",
|
|
"dependsOn": [
|
|
"WBV2-P2-003",
|
|
"WBV2-P2-005",
|
|
"WBV2-P3-005"
|
|
],
|
|
"parityId": "MODIFIER.DECLARED_SLICES",
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p4-domains",
|
|
"gate": "G2",
|
|
"card": "docs/tasks/WBV2-P4-001.md",
|
|
"behavior": "Enable one declared modifier parameter/apply workflow at a time with dependency-aware blocking.",
|
|
"outputs": [
|
|
"modifier goldens",
|
|
"dependency report",
|
|
"negative cases"
|
|
],
|
|
"acceptance": [
|
|
"desktop/evaluated Main match",
|
|
"unknown modifier retained and blocked",
|
|
"apply/undo/save/reopen stable"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P4-002",
|
|
"phase": "P4",
|
|
"title": "geometry_nodes_and_shader_allowlist",
|
|
"kind": "feature",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P3-001",
|
|
"WBV2-P4-001"
|
|
],
|
|
"parityId": "NODES.ALLOWLIST",
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p4-domains",
|
|
"gate": "G2",
|
|
"card": "docs/tasks/WBV2-P4-002.md",
|
|
"behavior": "Read/write/evaluate only declared Geometry Nodes and shader graph allowlists with resource budgets.",
|
|
"outputs": [
|
|
"node fixtures",
|
|
"compile/cache receipts",
|
|
"unsupported graph reports"
|
|
],
|
|
"acceptance": [
|
|
"node/socket/link/default parity",
|
|
"budget and unknown-node block before commit",
|
|
"compile failure rolls back"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P4-003",
|
|
"phase": "P4",
|
|
"title": "sculpt_nonmesh_and_paint_bounded_slices",
|
|
"kind": "feature",
|
|
"owner": "SCULPT",
|
|
"dependsOn": [
|
|
"WBV2-P2-003",
|
|
"WBV2-P2-004",
|
|
"WBV2-P4-002"
|
|
],
|
|
"parityId": "SCULPT.NONMESH.PAINT_BOUNDED",
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p4-domains",
|
|
"gate": "G2",
|
|
"card": "docs/tasks/WBV2-P4-003.md",
|
|
"behavior": "Expose declared sculpt attributes/strokes, Curve/Surface/Font/PointCloud and paint slices with explicit PBVH limits.",
|
|
"outputs": [
|
|
"non-mesh fixtures",
|
|
"stroke report",
|
|
"capability blocks"
|
|
],
|
|
"acceptance": [
|
|
"Main commit is atomic",
|
|
"unsupported brush/solver returns stable code",
|
|
"GPU/OOM/restart recovery passes"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P4-004",
|
|
"phase": "P4",
|
|
"title": "simulation_cache_identity_and_lifecycle",
|
|
"kind": "feature",
|
|
"owner": "SIMULATION",
|
|
"dependsOn": [
|
|
"WBV2-P1-005",
|
|
"WBV2-P4-002",
|
|
"WBV2-P4-003"
|
|
],
|
|
"parityId": "SIMULATION.CACHE_LIFECYCLE",
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p4-domains",
|
|
"gate": "G3",
|
|
"card": "docs/tasks/WBV2-P4-004.md",
|
|
"behavior": "Bind declared simulation cache to source/settings/revision hashes with cancellation, LRU and restart recovery.",
|
|
"outputs": [
|
|
"cache fixtures",
|
|
"identity report",
|
|
"quarantine evidence"
|
|
],
|
|
"acceptance": [
|
|
"stale/corrupt cache never publishes",
|
|
"small cache recovers after restart",
|
|
"budget release is observable"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P5-001",
|
|
"phase": "P5",
|
|
"title": "render_capability_routing",
|
|
"kind": "feature",
|
|
"owner": "RENDER",
|
|
"dependsOn": [
|
|
"WBV2-P2-004",
|
|
"WBV2-P4-002",
|
|
"WBV2-P4-004"
|
|
],
|
|
"parityId": "RENDER.ROUTING",
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p5-media",
|
|
"gate": "G3",
|
|
"card": "docs/tasks/WBV2-P5-001.md",
|
|
"behavior": "Route bounded Eevee/WebGL capabilities locally and unsupported render classes to SERVER_EXACT or EXCLUDED.",
|
|
"outputs": [
|
|
"render receipts",
|
|
"pixel golden",
|
|
"routing report"
|
|
],
|
|
"acceptance": [
|
|
"source/settings/build identity bound",
|
|
"unsupported route cannot pretend local success",
|
|
"cancel/device loss releases resources"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P5-002",
|
|
"phase": "P5",
|
|
"title": "compositor_sequencer_media_recovery",
|
|
"kind": "feature",
|
|
"owner": "MEDIA",
|
|
"dependsOn": [
|
|
"WBV2-P3-002",
|
|
"WBV2-P5-001"
|
|
],
|
|
"parityId": "MEDIA.BOUNDED_WORKFLOW",
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p5-media",
|
|
"gate": "G3",
|
|
"card": "docs/tasks/WBV2-P5-002.md",
|
|
"behavior": "Provide declared compositor/sequencer/codec/proxy/audio slices with revision and recovery gates.",
|
|
"outputs": [
|
|
"media receipts",
|
|
"recovery report",
|
|
"audio/session diagnostics"
|
|
],
|
|
"acceptance": [
|
|
"seek/decode revision ordering",
|
|
"cancel/timeout does not publish",
|
|
"quota/OOM/restart leaves project valid"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P5-003",
|
|
"phase": "P5",
|
|
"title": "server_job_result_binding",
|
|
"kind": "feature",
|
|
"owner": "SERVER",
|
|
"dependsOn": [
|
|
"WBV2-P0-003",
|
|
"WBV2-P5-001",
|
|
"WBV2-P5-002"
|
|
],
|
|
"parityId": "SERVER.JOB_BINDING",
|
|
"implementationClass": "SERVER_EXACT",
|
|
"parallelGroup": "p5-server",
|
|
"gate": "G3",
|
|
"card": "docs/tasks/WBV2-P5-003.md",
|
|
"behavior": "Bind server render/encode/physics jobs to immutable input/settings/build/output hashes and explicit lifecycle states.",
|
|
"outputs": [
|
|
"server protocol",
|
|
"idempotency receipt",
|
|
"negative matrix"
|
|
],
|
|
"acceptance": [
|
|
"duplicate request is idempotent",
|
|
"stale result cannot bind",
|
|
"timeout/cancel/OOM produces no READY output"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P6-001",
|
|
"phase": "P6",
|
|
"title": "scripting_default_deny_and_audit",
|
|
"kind": "feature",
|
|
"owner": "SECURITY",
|
|
"dependsOn": [
|
|
"WBV2-P1-004",
|
|
"WBV2-P5-003"
|
|
],
|
|
"parityId": "SECURITY.SCRIPTING",
|
|
"implementationClass": "EXCLUDED",
|
|
"parallelGroup": "p6-safety",
|
|
"gate": "G3",
|
|
"card": "docs/tasks/WBV2-P6-001.md",
|
|
"behavior": "Read text/metadata and expose audited, budgeted, default-deny script policy without arbitrary execution.",
|
|
"outputs": [
|
|
"policy manifest",
|
|
"malicious fixtures",
|
|
"audit report"
|
|
],
|
|
"acceptance": [
|
|
"autorun/network/add-on defaults deny",
|
|
"sandbox cancellation/dispose works",
|
|
"no secret or filesystem escape"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P6-002",
|
|
"phase": "P6",
|
|
"title": "performance_fault_and_recovery_matrix",
|
|
"kind": "enabling",
|
|
"owner": "RELIABILITY",
|
|
"dependsOn": [
|
|
"WBV2-P1-004",
|
|
"WBV2-P1-005",
|
|
"WBV2-P2-004",
|
|
"WBV2-P6-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p6-safety",
|
|
"gate": "G3",
|
|
"card": "docs/tasks/WBV2-P6-002.md",
|
|
"behavior": "Run deterministic geometry/texture/media/cache budgets and inject OOM/quota/device/network faults.",
|
|
"outputs": [
|
|
"budget matrix",
|
|
"fault reports",
|
|
"resource release ledger"
|
|
],
|
|
"acceptance": [
|
|
"100k/1M/10M thresholds recorded",
|
|
"fault leaves old revision usable",
|
|
"all owned resources return to budget"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P6-003",
|
|
"phase": "P6",
|
|
"title": "offline_ci_sbom_and_rollback_release",
|
|
"kind": "enabling",
|
|
"owner": "RELEASE",
|
|
"dependsOn": [
|
|
"WBV2-P6-001",
|
|
"WBV2-P6-002"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p6-release",
|
|
"gate": "G4",
|
|
"card": "docs/tasks/WBV2-P6-003.md",
|
|
"behavior": "Produce reproducible offline/source/binary release packages with CI lanes, SBOM and rollback evidence.",
|
|
"outputs": [
|
|
"RC manifest",
|
|
"offline archive",
|
|
"CI reports"
|
|
],
|
|
"acceptance": [
|
|
"quick/Chromium/release lanes pass",
|
|
"artifact hashes reproduce",
|
|
"upgrade/rollback and known limitations are tested"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P7-001",
|
|
"phase": "P7",
|
|
"title": "cluster_full_blender_gap_inventory",
|
|
"kind": "enabling",
|
|
"owner": "PARITY",
|
|
"dependsOn": [
|
|
"WBV2-P0-002",
|
|
"WBV2-P6-003"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p7-gap",
|
|
"gate": "G4",
|
|
"card": "docs/tasks/WBV2-P7-001.md",
|
|
"behavior": "Cluster remaining Blender 5.2 data-block/operator/editor/node/format gaps by family and evidence class.",
|
|
"outputs": [
|
|
"cluster catalog",
|
|
"coverage report",
|
|
"risk ranking"
|
|
],
|
|
"acceptance": [
|
|
"each gap has stable ID and owner",
|
|
"negative-only/unsupported is not positive parity",
|
|
"clusters are deterministic"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P7-002",
|
|
"phase": "P7",
|
|
"title": "generate_atomic_family_gap_queue",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P7-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p7-gap",
|
|
"gate": "G4",
|
|
"card": "docs/tasks/WBV2-P7-002.md",
|
|
"behavior": "Generate one task per parityId x observable behavior x implementation class with parent/hash context.",
|
|
"outputs": [
|
|
"task index",
|
|
"task catalog",
|
|
"task cards"
|
|
],
|
|
"acceptance": [
|
|
"one active ready task",
|
|
"no guessed successor",
|
|
"each card fits context budget"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P7-003",
|
|
"phase": "P7",
|
|
"title": "full_parity_candidate_release_gate",
|
|
"kind": "enabling",
|
|
"owner": "RELEASE",
|
|
"dependsOn": [
|
|
"WBV2-P7-002"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p7-release",
|
|
"gate": "G5",
|
|
"card": "docs/tasks/WBV2-P7-003.md",
|
|
"behavior": "Recompute parity closure, evidence health, recovery health and release decision from machine manifests.",
|
|
"outputs": [
|
|
"parity release report",
|
|
"known limitations",
|
|
"final decision"
|
|
],
|
|
"acceptance": [
|
|
"all claims bind to evidence",
|
|
"blocked/excluded/server classes remain explicit",
|
|
"queue and protected hashes pass"
|
|
],
|
|
"status": "blocked",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P8-000",
|
|
"phase": "P8",
|
|
"title": "authorize_recovery_capability_root",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P7-003"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p8-governance",
|
|
"gate": "G5",
|
|
"card": "docs/tasks/WBV2-P8-000.md",
|
|
"behavior": "Authorize a recovery epoch without rewriting the blocked P7 manifest.",
|
|
"outputs": [
|
|
"recovery plan",
|
|
"root manifest",
|
|
"queue authorization"
|
|
],
|
|
"acceptance": [
|
|
"P7 evidence remains hash exact",
|
|
"recovery scope is explicit",
|
|
"one recovery task is active"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P8-001",
|
|
"phase": "P8",
|
|
"title": "rebaseline_mutable_inventories",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P8-000"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p8-governance",
|
|
"gate": "G5",
|
|
"card": "docs/tasks/WBV2-P8-001.md",
|
|
"behavior": "Rebaseline mutable WBV2 plan and dependency inventory inputs while preserving historical manifests.",
|
|
"outputs": [
|
|
"semantic drift report",
|
|
"current inventory baseline",
|
|
"manifest"
|
|
],
|
|
"acceptance": [
|
|
"only expected mutable hashes drift",
|
|
"dependency closure is unchanged",
|
|
"historical manifests remain unmodified"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P8-002",
|
|
"phase": "P8",
|
|
"title": "close_atomic_chromium_receipts",
|
|
"kind": "enabling",
|
|
"owner": "PARITY",
|
|
"dependsOn": [
|
|
"WBV2-P8-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p8-receipts",
|
|
"gate": "G5",
|
|
"card": "docs/tasks/WBV2-P8-002.md",
|
|
"behavior": "Produce and bind all 45 atomic Chromium family receipts.",
|
|
"outputs": [
|
|
"Chromium report",
|
|
"45 receipt index",
|
|
"receipt manifests"
|
|
],
|
|
"acceptance": [
|
|
"45 receipts are manifest-bound",
|
|
"desktop/WASM/save-reopen behaviors are explicit",
|
|
"Chromium is the only browser"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P8-003",
|
|
"phase": "P8",
|
|
"title": "authorize_m12_provenance_epoch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P8-002"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p8-provenance",
|
|
"gate": "G5",
|
|
"card": "docs/tasks/WBV2-P8-003.md",
|
|
"behavior": "Bind restored M12 sources and explicitly rebaseline unavailable originals in a new provenance epoch.",
|
|
"outputs": [
|
|
"provenance epoch",
|
|
"replacement bindings",
|
|
"manifest"
|
|
],
|
|
"acceptance": [
|
|
"22 restored originals stay exact",
|
|
"62 unavailable entries are not called restored",
|
|
"all replacements are hash-bound"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P8-004",
|
|
"phase": "P8",
|
|
"title": "recompute_recovery_release_gate",
|
|
"kind": "enabling",
|
|
"owner": "RELEASE",
|
|
"dependsOn": [
|
|
"WBV2-P8-003"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p8-release",
|
|
"gate": "G5",
|
|
"card": "docs/tasks/WBV2-P8-004.md",
|
|
"behavior": "Recompute the release decision from the recovery epoch and atomic receipts.",
|
|
"outputs": [
|
|
"release gate",
|
|
"known limitations",
|
|
"final manifest"
|
|
],
|
|
"acceptance": [
|
|
"all receipts bind to manifests",
|
|
"provenance epoch is explicit",
|
|
"all governance gates pass"
|
|
],
|
|
"status": "in_progress",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P9-000",
|
|
"phase": "P9",
|
|
"title": "authorize_feature_parity_continuation",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P8-004"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p9-governance",
|
|
"gate": "G6",
|
|
"card": "docs/tasks/WBV2-P9-000.md",
|
|
"behavior": "Authorize feature parity continuation after provenance epoch 2 without claiming historical byte reproduction.",
|
|
"outputs": [
|
|
"continuation receipt",
|
|
"feature parity plan",
|
|
"scope limits"
|
|
],
|
|
"acceptance": [
|
|
"P8 provenance evidence remains exact",
|
|
"authorized baseline is explicit",
|
|
"one feature task is active"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P9-001",
|
|
"phase": "P9",
|
|
"title": "mesh_production_chromium_receipt",
|
|
"kind": "feature",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P9-000"
|
|
],
|
|
"parityId": "CAP-MESH-POSITIVE-EDIT",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "p9-mesh",
|
|
"gate": "G6",
|
|
"card": "docs/tasks/WBV2-P9-001.md",
|
|
"behavior": "Bind the existing Mesh Main transaction to a production Chromium desktop/WASM/save-reopen receipt.",
|
|
"outputs": [
|
|
"Chromium mesh receipt",
|
|
"negative matrix",
|
|
"manifest"
|
|
],
|
|
"acceptance": [
|
|
"real meshTranslateVertex command passes",
|
|
"desktop/WASM delta matches",
|
|
"save/reopen is exact",
|
|
"malformed/stale/unknown inputs fail closed"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P9-002",
|
|
"phase": "P9",
|
|
"title": "modifier_production_chromium_receipt",
|
|
"kind": "feature",
|
|
"owner": "MODIFIER",
|
|
"dependsOn": [
|
|
"WBV2-P9-001"
|
|
],
|
|
"parityId": "CAP-MODIFIER-STATE-MUTATION",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "p9-modifier",
|
|
"gate": "G6",
|
|
"card": "docs/tasks/WBV2-P9-002.md",
|
|
"behavior": "Bind the existing Modifier Main transaction to a production Chromium receipt.",
|
|
"outputs": [
|
|
"Chromium modifier receipt",
|
|
"negative matrix",
|
|
"manifest"
|
|
],
|
|
"acceptance": [
|
|
"real modifierSetEnabled command passes",
|
|
"desktop/WASM delta matches",
|
|
"save/reopen is exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P9-003",
|
|
"phase": "P9",
|
|
"title": "asset_catalog_production_chromium_receipt",
|
|
"kind": "feature",
|
|
"owner": "ASSET",
|
|
"dependsOn": [
|
|
"WBV2-P9-002"
|
|
],
|
|
"parityId": "CAP-ASSET-CATALOG-MUTATION",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "p9-asset",
|
|
"gate": "G6",
|
|
"card": "docs/tasks/WBV2-P9-003.md",
|
|
"behavior": "Bind the existing Asset Catalog Main transaction and resource resolver to a production Chromium receipt.",
|
|
"outputs": [
|
|
"Chromium asset receipt",
|
|
"negative matrix",
|
|
"manifest"
|
|
],
|
|
"acceptance": [
|
|
"real assetCatalogAppend command passes",
|
|
"resource hash is bound",
|
|
"save/reopen is exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P9-004",
|
|
"phase": "P9",
|
|
"title": "recompute_feature_parity_gate",
|
|
"kind": "enabling",
|
|
"owner": "RELEASE",
|
|
"dependsOn": [
|
|
"WBV2-P9-003"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p9-release",
|
|
"gate": "G7",
|
|
"card": "docs/tasks/WBV2-P9-004.md",
|
|
"behavior": "Recompute declared feature parity claims from production Chromium receipts and authorized provenance.",
|
|
"outputs": [
|
|
"feature parity gate",
|
|
"limited release declaration",
|
|
"manifest"
|
|
],
|
|
"acceptance": [
|
|
"only evidenced feature claims are emitted",
|
|
"authorized baseline remains explicit",
|
|
"full historical reproduction remains false"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P10-000",
|
|
"phase": "P10",
|
|
"title": "authorize_native_engine_parity_continuation",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P9-004"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p10-governance",
|
|
"gate": "G6",
|
|
"card": "docs/tasks/WBV2-P10-000.md",
|
|
"behavior": "Authorize native Blender/WASM engine parity continuation after bounded Chromium capability evidence.",
|
|
"outputs": [
|
|
"continuation receipt",
|
|
"native parity plan",
|
|
"scope limits"
|
|
],
|
|
"acceptance": [
|
|
"P9 evidence remains hash-bound",
|
|
"native build/runtime is explicit",
|
|
"one native parity task is active"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P10-001",
|
|
"phase": "P10",
|
|
"title": "reconcile_wbv2_inventory_source_drift",
|
|
"kind": "enabling",
|
|
"owner": "PARITY",
|
|
"dependsOn": [
|
|
"WBV2-P10-000"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p10-inventory",
|
|
"gate": "G6",
|
|
"card": "docs/tasks/WBV2-P10-001.md",
|
|
"behavior": "Record the authorized mutable WBV2 plan drift and prove dependency closure stability without rewriting historical P0 evidence.",
|
|
"outputs": [
|
|
"current source hash baseline",
|
|
"drift report",
|
|
"checker compatibility"
|
|
],
|
|
"acceptance": [
|
|
"historical P0 hashes remain unchanged",
|
|
"only authorized plan drift is recorded",
|
|
"dependency roots/lockfile/closure remain stable",
|
|
"inventory checker passes using current baseline"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P10-002",
|
|
"phase": "P10",
|
|
"title": "bind_native_and_wasm_engine_receipts",
|
|
"kind": "feature",
|
|
"owner": "ENGINE",
|
|
"dependsOn": [
|
|
"WBV2-P10-001"
|
|
],
|
|
"parityId": "ENGINE.NATIVE_WASM_BRIDGE",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "p10-engine",
|
|
"gate": "G6",
|
|
"card": "docs/tasks/WBV2-P10-002.md",
|
|
"behavior": "Bind Mesh, Modifier, and Asset Catalog receipts to the compiled Blender native binary and web_engine.wasm runtime.",
|
|
"outputs": [
|
|
"native receipt",
|
|
"WASM receipt",
|
|
"Chromium engine report"
|
|
],
|
|
"acceptance": [
|
|
"native Blender binary is source-bound",
|
|
"WASM binary and JS are hash-bound",
|
|
"same mutation reaches real engine/Main",
|
|
"save/reopen and failures remain exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P10-003",
|
|
"phase": "P10",
|
|
"title": "expand_core_module_operator_matrix",
|
|
"kind": "feature",
|
|
"owner": "PARITY",
|
|
"dependsOn": [
|
|
"WBV2-P10-002"
|
|
],
|
|
"parityId": "CORE.MODULE_MATRIX",
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p10-matrix",
|
|
"gate": "G7",
|
|
"card": "docs/tasks/WBV2-P10-003.md",
|
|
"behavior": "Expand the three proven capability modules with data-driven operator coverage and aggregate regression receipts.",
|
|
"outputs": [
|
|
"module matrix",
|
|
"shard reports",
|
|
"aggregate manifest"
|
|
],
|
|
"acceptance": [
|
|
"positive cases are L2+",
|
|
"negative cases do not mutate Main",
|
|
"shards use one catalog hash",
|
|
"unmapped and retained-negative cases stay explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P11-000",
|
|
"phase": "P11",
|
|
"title": "authorize_module_expansion_continuation",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P10-003"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p11-governance",
|
|
"gate": "G7",
|
|
"card": "docs/tasks/WBV2-P11-000.md",
|
|
"behavior": "Authorize deeper module production after real native/WASM engine binding and the first aggregate matrix.",
|
|
"outputs": [
|
|
"continuation root",
|
|
"module expansion plan",
|
|
"scope limits"
|
|
],
|
|
"acceptance": [
|
|
"P10 evidence remains hash-bound",
|
|
"one expansion task is active",
|
|
"full historical reproduction remains false"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P11-001",
|
|
"phase": "P11",
|
|
"title": "mesh_topology_operation_family",
|
|
"kind": "feature",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P11-000"
|
|
],
|
|
"parityId": "MESH.EDIT_TOPOLOGY_FAMILY",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "p11-mesh",
|
|
"gate": "G7",
|
|
"card": "docs/tasks/WBV2-P11-001.md",
|
|
"behavior": "Execute merge, dissolve, extrude, inset, bevel, and loop-cut through the real Blender WASM Main and preserve each result through save/reopen.",
|
|
"outputs": [
|
|
"topology receipt",
|
|
"negative matrix",
|
|
"manifest"
|
|
],
|
|
"acceptance": [
|
|
"six mesh operations mutate Main",
|
|
"revision increments exactly once",
|
|
"save/reopen preserves topology counts",
|
|
"invalid selection and incompatible configuration fail closed"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P11-002",
|
|
"phase": "P11",
|
|
"title": "modifier_parameter_apply_family",
|
|
"kind": "feature",
|
|
"owner": "MODIFIER",
|
|
"dependsOn": [
|
|
"WBV2-P11-001"
|
|
],
|
|
"parityId": "MODIFIER.PARAMETER_APPLY_FAMILY",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "p11-modifier",
|
|
"gate": "G7",
|
|
"card": "docs/tasks/WBV2-P11-002.md",
|
|
"behavior": "Extend the real Modifier Main path from enable/disable to bounded parameter and apply transactions.",
|
|
"outputs": [
|
|
"modifier parameter receipt",
|
|
"negative matrix",
|
|
"manifest"
|
|
],
|
|
"acceptance": [
|
|
"parameter mutation is native/WASM bound",
|
|
"apply result is evaluated",
|
|
"save/reopen is exact",
|
|
"dependency and stale inputs fail closed"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P11-003",
|
|
"phase": "P11",
|
|
"title": "asset_link_override_reload_family",
|
|
"kind": "feature",
|
|
"owner": "ASSET",
|
|
"dependsOn": [
|
|
"WBV2-P11-002"
|
|
],
|
|
"parityId": "ASSET.LINK_OVERRIDE_RELOAD_FAMILY",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "p11-asset",
|
|
"gate": "G7",
|
|
"card": "docs/tasks/WBV2-P11-003.md",
|
|
"behavior": "Extend the real Asset Main path from append to link, override, reload, and missing-library boundaries.",
|
|
"outputs": [
|
|
"asset ownership receipt",
|
|
"negative matrix",
|
|
"manifest"
|
|
],
|
|
"acceptance": [
|
|
"source ownership is preserved",
|
|
"override is local and hash-bound",
|
|
"reload revision is checked",
|
|
"missing source remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P11-004",
|
|
"phase": "P11",
|
|
"title": "recompute_engine_module_gate",
|
|
"kind": "enabling",
|
|
"owner": "RELEASE",
|
|
"dependsOn": [
|
|
"WBV2-P11-003"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p11-release",
|
|
"gate": "G8",
|
|
"card": "docs/tasks/WBV2-P11-004.md",
|
|
"behavior": "Recompute engine-bound module parity from P10 and P11 receipts without claiming whole-inventory completion.",
|
|
"outputs": [
|
|
"engine module gate",
|
|
"limited release declaration",
|
|
"manifest"
|
|
],
|
|
"acceptance": [
|
|
"only engine-bound claims are emitted",
|
|
"inventory remainder is explicit",
|
|
"provenance epoch 2 remains authorized rebaseline only",
|
|
"full historical reproduction remains false"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P12-000",
|
|
"phase": "P12",
|
|
"title": "authorize_domain_expansion_continuation",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P11-004"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p12-governance",
|
|
"gate": "G8",
|
|
"card": "docs/tasks/WBV2-P12-000.md",
|
|
"behavior": "Authorize expansion from the three engine-bound modules to the remaining high-value Blender Web domains using existing source evidence.",
|
|
"outputs": [
|
|
"continuation root",
|
|
"domain expansion plan",
|
|
"scope limits"
|
|
],
|
|
"acceptance": [
|
|
"P11 evidence remains hash-bound",
|
|
"domain tasks use existing source receipts",
|
|
"one ledger task is active"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P12-001",
|
|
"phase": "P12",
|
|
"title": "reconcile_existing_capability_ledger",
|
|
"kind": "enabling",
|
|
"owner": "PARITY",
|
|
"dependsOn": [
|
|
"WBV2-P12-000"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p12-ledger",
|
|
"gate": "G8",
|
|
"card": "docs/tasks/WBV2-P12-001.md",
|
|
"behavior": "Aggregate existing WBV2 P1-P6 and P10-P11 manifests into a conservative capability ledger without inventing claims.",
|
|
"outputs": [
|
|
"capability ledger",
|
|
"evidence index",
|
|
"remaining gap map"
|
|
],
|
|
"acceptance": [
|
|
"all source manifests are hash-verified",
|
|
"only done receipts enter proven evidence",
|
|
"L0/metadata and blocked cases remain explicit",
|
|
"inventory remainder is preserved"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P12-002",
|
|
"phase": "P12",
|
|
"title": "scene_object_workflow_engine_receipt",
|
|
"kind": "feature",
|
|
"owner": "EDITOR",
|
|
"dependsOn": [
|
|
"WBV2-P12-001"
|
|
],
|
|
"parityId": "EDITOR.SCENE_OBJECT_ENGINE",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "p12-scene",
|
|
"gate": "G8",
|
|
"card": "docs/tasks/WBV2-P12-002.md",
|
|
"behavior": "Bind object visibility and transform edits to the compiled WebEngine WASM Main with save/reopen and revision guards.",
|
|
"outputs": [
|
|
"scene/object receipt",
|
|
"negative matrix",
|
|
"manifest"
|
|
],
|
|
"acceptance": [
|
|
"visibility and transform mutate Main",
|
|
"desktop source oracle is bound",
|
|
"save/reopen is exact",
|
|
"stale and malformed commands fail closed"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P12-003",
|
|
"phase": "P12",
|
|
"title": "material_animation_engine_receipt",
|
|
"kind": "feature",
|
|
"owner": "AUTHORING",
|
|
"dependsOn": [
|
|
"WBV2-P12-002"
|
|
],
|
|
"parityId": "AUTHORING.MATERIAL_ANIMATION_ENGINE",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "p12-authoring",
|
|
"gate": "G8",
|
|
"card": "docs/tasks/WBV2-P12-003.md",
|
|
"behavior": "Bind material Principled/texture and TRS keyframe edits to the compiled WebEngine WASM Main.",
|
|
"outputs": [
|
|
"authoring receipt",
|
|
"negative matrix",
|
|
"manifest"
|
|
],
|
|
"acceptance": [
|
|
"material and keyframe Main mutations pass",
|
|
"source hashes are bound",
|
|
"save/reopen is exact",
|
|
"unsupported graph and stale frame inputs fail closed"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P12-004",
|
|
"phase": "P12",
|
|
"title": "viewport_nonmesh_engine_receipt",
|
|
"kind": "feature",
|
|
"owner": "VIEWPORT",
|
|
"dependsOn": [
|
|
"WBV2-P12-003"
|
|
],
|
|
"parityId": "VIEWPORT.NONMESH_ENGINE",
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p12-viewport",
|
|
"gate": "G8",
|
|
"card": "docs/tasks/WBV2-P12-004.md",
|
|
"behavior": "Bind viewport SceneIR and bounded non-mesh read/edit paths to the compiled WebEngine runtime with explicit unsupported boundaries.",
|
|
"outputs": [
|
|
"viewport receipt",
|
|
"nonmesh boundary map",
|
|
"manifest"
|
|
],
|
|
"acceptance": [
|
|
"nonblank viewport evidence is bound",
|
|
"non-mesh data is explicit",
|
|
"unsupported and budget cases fail closed",
|
|
"save/reopen and resource disposal are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P12-005",
|
|
"phase": "P12",
|
|
"title": "recompute_domain_parity_gate",
|
|
"kind": "enabling",
|
|
"owner": "RELEASE",
|
|
"dependsOn": [
|
|
"WBV2-P12-004"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p12-release",
|
|
"gate": "G9",
|
|
"card": "docs/tasks/WBV2-P12-005.md",
|
|
"behavior": "Recompute domain parity from the complete evidence ledger while retaining explicit inventory and provenance limits.",
|
|
"outputs": [
|
|
"domain parity gate",
|
|
"limited release declaration",
|
|
"manifest"
|
|
],
|
|
"acceptance": [
|
|
"only engine-bound domain claims are emitted",
|
|
"unproven inventory remains explicit",
|
|
"epoch 2 remains authorized rebaseline only",
|
|
"full historical reproduction remains false"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P13-000",
|
|
"phase": "P13",
|
|
"title": "authorize_high_value_domain_continuation",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P12-005"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p13-governance",
|
|
"gate": "G9",
|
|
"card": "docs/tasks/WBV2-P13-000.md",
|
|
"behavior": "Authorize high-value advanced domain continuation after P12 domain parity gate.",
|
|
"outputs": [
|
|
"continuation root",
|
|
"advanced domain plan",
|
|
"scope limits"
|
|
],
|
|
"acceptance": [
|
|
"P12 evidence remains hash-bound",
|
|
"existing advanced receipts are reusable",
|
|
"one ledger task is active"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P13-001",
|
|
"phase": "P13",
|
|
"title": "reconcile_advanced_domain_ledger",
|
|
"kind": "enabling",
|
|
"owner": "PARITY",
|
|
"dependsOn": [
|
|
"WBV2-P13-000"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p13-ledger",
|
|
"gate": "G9",
|
|
"card": "docs/tasks/WBV2-P13-001.md",
|
|
"behavior": "Batch-index existing Geometry Nodes, Rig, Simulation, Render, Media, and Server receipts without repeated execution.",
|
|
"outputs": [
|
|
"advanced ledger",
|
|
"source index",
|
|
"remaining map"
|
|
],
|
|
"acceptance": [
|
|
"source manifests are hash-verified",
|
|
"existing reports are classified conservatively",
|
|
"no repeated Blender/Chromium run",
|
|
"unproven advanced domains stay explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P13-002",
|
|
"phase": "P13",
|
|
"title": "geometry_nodes_engine_receipt",
|
|
"kind": "feature",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P13-001"
|
|
],
|
|
"parityId": "NODES.GEOMETRY_ENGINE",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "p13-nodes",
|
|
"gate": "G9",
|
|
"card": "docs/tasks/WBV2-P13-002.md",
|
|
"behavior": "Bind Geometry Nodes graph read, stable graph hashes, unsupported node retention, and save/reopen to compiled WASM Main.",
|
|
"outputs": [
|
|
"nodes receipt",
|
|
"negative matrix",
|
|
"manifest"
|
|
],
|
|
"acceptance": [
|
|
"graph hashes are stable",
|
|
"unsupported nodes remain explicit",
|
|
"save/reopen is exact",
|
|
"malformed graph and budget cases fail closed"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P13-003",
|
|
"phase": "P13",
|
|
"title": "rig_pose_engine_receipt",
|
|
"kind": "feature",
|
|
"owner": "RIG",
|
|
"dependsOn": [
|
|
"WBV2-P13-002"
|
|
],
|
|
"parityId": "RIG.POSE_ENGINE",
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p13-rig",
|
|
"gate": "G9",
|
|
"card": "docs/tasks/WBV2-P13-003.md",
|
|
"behavior": "Bind armature pose, constraints, and bounded skin data to compiled WASM Main with exact reopen.",
|
|
"outputs": [
|
|
"rig receipt",
|
|
"negative matrix",
|
|
"manifest"
|
|
],
|
|
"acceptance": [
|
|
"stable bone IDs and matrices are preserved",
|
|
"unsupported constraint is explicit",
|
|
"save/reopen is exact",
|
|
"malformed pose input fails closed"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P13-004",
|
|
"phase": "P13",
|
|
"title": "simulation_render_media_engine_receipt",
|
|
"kind": "feature",
|
|
"owner": "ADVANCED",
|
|
"dependsOn": [
|
|
"WBV2-P13-003"
|
|
],
|
|
"parityId": "ADVANCED.SIMULATION_RENDER_MEDIA",
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p13-advanced",
|
|
"gate": "G9",
|
|
"card": "docs/tasks/WBV2-P13-004.md",
|
|
"behavior": "Bind existing Simulation cache identity, render routing, media recovery, and server job boundaries into one conservative engine ledger.",
|
|
"outputs": [
|
|
"advanced receipt",
|
|
"routing matrix",
|
|
"manifest"
|
|
],
|
|
"acceptance": [
|
|
"existing exact reports are reused",
|
|
"unsupported routes remain explicit",
|
|
"hash and lifecycle states are bound",
|
|
"no false local parity claim"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P13-005",
|
|
"phase": "P13",
|
|
"title": "recompute_high_value_domain_gate",
|
|
"kind": "enabling",
|
|
"owner": "RELEASE",
|
|
"dependsOn": [
|
|
"WBV2-P13-004"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "p13-release",
|
|
"gate": "G10",
|
|
"card": "docs/tasks/WBV2-P13-005.md",
|
|
"behavior": "Recompute high-value domain claims from the advanced ledger and engine receipts.",
|
|
"outputs": [
|
|
"advanced parity gate",
|
|
"limited declaration",
|
|
"manifest"
|
|
],
|
|
"acceptance": [
|
|
"only evidenced claims are emitted",
|
|
"inventory remainder stays explicit",
|
|
"provenance limitation stays explicit",
|
|
"full historical reproduction remains false"
|
|
],
|
|
"status": "in_progress",
|
|
"ready": true,
|
|
"queueMutationAllowed": false
|
|
}
|
|
],
|
|
"parentPlan": {
|
|
"path": "docs/BLENDER_WEB_PARITY_TASK_PLAN_V2.json",
|
|
"sha256": "0f4750e45f2d1ca7d68faa35743e5b758ea8091f18d1d0e312ab548228d6f782"
|
|
},
|
|
"recoveryRoot": "WBV2-P13-000",
|
|
"parentRecoveryPlan": {
|
|
"path": "tests/golden/WBV2-P13-004/high-value-task-plan.json",
|
|
"sha256": "7132c2aab3d83c2b18dd3c3f6ed655784904424807070844405bcc34dc9b729a"
|
|
}
|
|
}
|