{ "schemaVersion": 1, "baseline": { "freecadVersion": "1.1.1", "commit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d" }, "selectedAt": "2026-08-14", "family": { "id": "partdesign-pad-task", "title": "Part Design Pad task lifecycle", "workbench": "PartDesignWorkbench", "primaryCommand": "PartDesign_Pad", "commandIds": [ "PartDesign_Pad" ], "primaryExactTask": "EX-UI-03", "relatedExactTasks": [ "EX-ORA-01", "EX-PD-01" ], "selectionReason": "Pad is a P0 profile feature with existing native geometry, failure, history, naming and FCStd evidence. Its GUI command is document-sensitive, opens a parameter Task panel, supports preview and cancel, and can exercise success, disabled, failure and recovery without introducing a new workbench scope." }, "sensitivityEvidence": { "source": "config/freecad-gui-command-inventory.json", "commandId": "PartDesign_Pad", "documentSensitive": true, "selectionSensitive": false, "cases": { "noDocument": [ false ], "documentNoSelection": [ true ], "selectedPartBox": [ true ] } }, "stateRecipes": { "success": { "setup": "Create a document, Body and closed rectangular Sketch; select the Sketch and invoke PartDesign_Pad.", "action": "Set Length to 10 mm and accept the Task.", "expected": "A Pad is committed as Body Tip, the transaction is undoable and the document recomputes valid." }, "disabled": { "setup": "Start the Part Design workbench with no active document.", "action": "Query PartDesign_Pad command state without invoking it.", "expected": "The command is inactive and no document, Task or transaction is created." }, "failure": { "setup": "Create an active Body with an invalid open-wire Sketch selected.", "action": "Invoke PartDesign_Pad and attempt to accept the Task.", "expected": "The native diagnostic is captured, no invalid Pad is committed and the last valid document state is retained." }, "cancel": { "setup": "Create an active Body with a valid closed Sketch and open PartDesign_Pad.", "action": "Change Length, observe preview, then cancel the Task.", "expected": "Preview state is discarded, no Pad is committed and selection, active Body and focus return to their pre-command state." }, "recovery": { "setup": "Continue from the failed or cancelled Pad workflow in the same document.", "action": "Repair the profile or reopen Pad, enter a valid Length and accept; then undo and redo once.", "expected": "The valid Pad is committed, Body Tip and Shape recover, undo/redo are stable and save-reopen preserves the result." } }, "progress": [ { "taskId": "ORA-GUI-WF-000", "status": "completed", "evidence": [ "config/freecad-gui-workflow-plan.json", "config/freecad-gui-command-inventory.json" ] }, { "taskId": "ORA-GUI-WF-001", "status": "completed", "evidence": [ "config/freecad-gui-workflow-oracle.json", "scripts/check-freecad-gui-workflow-oracle.mjs" ] }, { "taskId": "ORA-GUI-WF-002", "status": "in_progress", "evidence": [] }, { "taskId": "ORA-GUI-WF-003", "status": "pending", "evidence": [] }, { "taskId": "ORA-GUI-WF-004", "status": "pending", "evidence": [] }, { "taskId": "ORA-GUI-WF-005", "status": "pending", "evidence": [] }, { "taskId": "ORA-GUI-WF-006", "status": "pending", "evidence": [] } ] }