# WBV2-P6-002 status - task: `WBV2-P6-002` - parent: `WBV2-P6-001` - parity: `workflow:performance_fault_and_recovery_matrix` - implementationClass: `LOCAL_BOUNDED` - status: `done` - fixture: `tests/files/web/generated/WBV2-P6-002-workflow-performance_fault_and_recovery_matrix.blend` ## Evidence - Desktop and WASM/Main expose one deterministic performance receipt covering geometry 100K/1M/10M, 4K/8K textures, long media and simulation-cache byte limits. - OOM, storage quota, device-loss and network interruption cases are explicitly `BLOCKED` with zero published results; the old Main revision remains usable and cache state is quarantined. - Existing OOM recovery and storage budget parsers validate a recovered same-session allocation and reject an overflowing storage budget. - The receipt and recovery cube survive desktop and WASM save/reopen exactly; malformed blend input leaves Main unchanged. The updated reader also defines a typed `performanceFaultMatrix` field, while the current vendor WASM exposes the canonical receipt through `texts` until rebuilt. ## Commands - `build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/WBV2-P6-002.py -- tests/files/web/generated/WBV2-P6-002-workflow-performance_fault_and_recovery_matrix.blend` - `build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/check-wbv2-p6-002-desktop.py -- tests/files/web/generated/WBV2-P6-002-workflow-performance_fault_and_recovery_matrix.blend tests/golden/WBV2-P6-002/performance-desktop-report.json` - `node --check tools/web/check-generated-gap.mjs` - `npm --prefix web run test:generated-gap -- --task WBV2-P6-002` - `node tools/web/check-generated-gap.mjs --task WBV2-P6-002` ## Handoff - nextTask: `WBV2-P6-003` - queue mutation: allowed after manifest and parent hash validation