{ "schema": "freecad-web-p6-workbench-command-gate/v1", "taskId": "FW-P6-FPA-G", "result": "pass", "coverage": { "modules": 32, "guiModules": 22, "records": 778, "dispositions": { "native_handler": 138, "restricted": 640, "not_implemented": 0 } }, "artifacts": { "matrix": { "path": "docs/p6/workbench-command-matrix.json", "sha256": "d445dca42caf4a6597c9a4c99778d1aa4002c9f6909fd7983c4a384df3af2075" }, "native": { "path": "docs/p6/workbench-command-native-smoke.json", "sha256": "50d16ec313184418c5dccc27b6151ca3e2a42d2f032167c5a346606f7f7f8131" }, "facade": { "path": "docs/p6/workbench-command-facade.json", "sha256": "ba928ab5a5a45bfce184d3eeabc0d7d34b29c24e563343983df7848103b5127f" }, "chrome": { "path": "docs/p6/workbench-command-chrome.json", "sha256": "7aeb90d52e09f37f7977a3312607113df1ec5a3c5a7b023fa58ae3ef40a6c063" }, "screenshot": "FreeCAD/docs/p6/workbench-command-chrome.png", "screenshotSha256": "4e719a42cb06645c2373fa875606abb1d115c969e32dc0ad85cd423f6a6685b7", "wasm": { "path": "web/public/kernel/FreeCADWebWorkbenchCommandProbe.wasm", "sha256": "761882251cf05edf2a50c160abc95c1bf3f7dc42bc724ca1f1322ab7927fba64" }, "javascript": { "path": "web/public/kernel/FreeCADWebWorkbenchCommandProbe.js", "sha256": "58ea299e346adf3979b174eeb18390c60439a0871a2749d2a284fb6cf9b882a3" } }, "browser": { "version": "Google Chrome 151.0.7922.137", "mode": "headless-new", "viewport": { "width": 1440, "height": 900, "deviceScaleFactor": 1 } }, "cases": [ { "id": "workbench-ready", "status": "pass", "stage": "ready", "error": null }, { "id": "workbench-action", "status": "pass", "stage": "success", "error": null }, { "id": "workbench-expected-error", "status": "pass", "stage": "expected-error", "error": "invalid_request" }, { "id": "workbench-cancel", "status": "pass", "stage": "cancelled", "error": "cancelled" }, { "id": "workbench-reset", "status": "pass", "stage": "reset", "error": null }, { "id": "workbench-repeat", "status": "pass", "stage": "success", "error": null } ], "boundaries": [ "Desktop Gui/Qt commands are explicit restricted records until a portable Web workflow is backed by its own native route.", "Web command records prove registry routing and dispatcher disposition; route-specific module gates remain authoritative for command behavior.", "Task panels and resources are inventoried and surfaced as source entries; Qt-only interaction remains a declared boundary." ] }