# P2.2 Document runtime gate - Task: `FW-P2-001F` - Time: `2026-08-19 12:42 +0800` - Source: `4f4e9244e613ea2df06e70027074a562695048cb` - Result: passed ## Contracts | Contract | Evidence | |---|---| | Type registration | Four Part C ABI entries, one registration run | | Document ownership | One application document, one `Part::Box`, stable names | | Recompute | One recomputed object, volume 24, no error | | Invalid input | `Length of box too small`; prior volume remains 24 | | Recovery | Valid dimensions recompute to volume 24 | ## Artifacts | Artifact | SHA-256 | |---|---| | `FreeCADWebPartBoxProbe.wasm` | `82c88a1f089c705454f8c62dbc4a2a0e54277073ed2e50f5a7dbb8fc5516580a` | | `FreeCADWebDocumentProbe.wasm` | `553fe2a1c6b2a3e530e640f6cd6fece95da4c5c5395565ce17f4ef7b47bfb445` | Both artifacts are WebAssembly MVP modules. Smoke evidence: - `FreeCAD/docs/freecad-part-box-gate-smoke.log` - `FreeCAD/docs/freecad-document-gate-smoke.log` ## Boundary This gate covers the C++ `Document` and one `Part::Box` lifecycle. It does not cover FCStd, transactions, Undo/Redo, Sketcher, the Python console, or full workbench registration.