{
  "schemaVersion": 1,
  "baseline": {
    "freecadVersion": "1.1.1",
    "commit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d"
  },
  "source": {
    "workbench": "src/Mod/CAM/InitGui.py",
    "commandInventory": "config/freecad-gui-command-inventory.json",
    "desktopOracle": "config/freecad-desktop-oracle.json",
    "dynamicOracleStatus": "partial-command-state-only"
  },
  "status": "in_progress",
  "claim": "compatible-browser-subset-not-exact-freecad-cam-parity",
  "commandSurface": {
    "toolbarGroups": 4,
    "menuGroups": 5,
    "webCommands": 60,
    "freecadCamRuntimeCommands": 56,
    "freecadCamSourceOnlyCommands": 5,
    "notYetSurfacedCommands": [],
    "nonActionableSourceTemplates": ["CAM_%s"],
    "freecadCommandIds": [
      "CAM_Adaptive", "CAM_Area", "CAM_Area_Workplane", "CAM_Array", "CAM_Comment", "CAM_Compound", "CAM_Custom", "CAM_Deburr", "CAM_DressupArray", "CAM_DressupAxisMap", "CAM_DressupDogbone", "CAM_DressupDragKnife", "CAM_DressupLeadInOut", "CAM_DressupPathBoundary", "CAM_DressupRampEntry", "CAM_DressupTag", "CAM_DressupTools", "CAM_DressupZCorrect", "CAM_Drilling", "CAM_DrillingTools", "CAM_Engrave", "CAM_EngraveTools", "CAM_ExportTemplate", "CAM_Fixture", "CAM_Helix", "CAM_Inspect", "CAM_Job", "CAM_MillFace", "CAM_OpActiveToggle", "CAM_OperationCopy", "CAM_PathShapeTC", "CAM_Pocket3D", "CAM_Pocket_Shape", "CAM_Post", "CAM_Probe", "CAM_Profile", "CAM_PropertyBag", "CAM_Sanity", "CAM_SelectLoop", "CAM_SetStartPoint", "CAM_Shape", "CAM_SimpleCopy", "CAM_SimTools", "CAM_Simulator", "CAM_SimulatorGL", "CAM_Slot", "CAM_Stop", "CAM_Tapping", "CAM_ThreadMilling", "CAM_ToolBitCreate", "CAM_ToolBitDock", "CAM_ToolBitLibraryOpen", "CAM_ToolBitLoad", "CAM_ToolBitSave", "CAM_ToolBitSaveAs", "CAM_ToolController", "CAM_Vcarve", "CAM_Camotics", "CAM_Copy", "CAM_3dTools"
    ]
  },
  "browserDomain": {
    "stockModes": 4,
    "toolShapes": 7,
    "operationKinds": 22,
    "dressupKinds": 9,
    "postprocessors": 7
  },
  "coverage": [
    {
      "id": "CAM-21",
      "level": "exact",
      "scope": "Locked FreeCAD source command identifiers and CAM command grouping manifest",
      "evidence": "check:cam-parity"
    },
    {
      "id": "CAM-22",
      "level": "compatible",
      "scope": "Sixty actionable CAM commands, four toolbars, five menu groups, Job tree, task panels and viewport toolpath presentation",
      "evidence": "check:chrome-app-e2e"
    },
    {
      "id": "CAM-23",
      "level": "compatible",
      "scope": "Job, four stock modes and SetupSheet browser contract",
      "evidence": "check:chrome-cam"
    },
    {
      "id": "CAM-24",
      "level": "compatible",
      "scope": "Seven ToolBit shapes, versioned JSON assets, tool controllers, feeds, rapids, spindle and coolant",
      "evidence": "check:chrome-cam"
    },
    {
      "id": "CAM-25",
      "level": "compatible",
      "scope": "Twenty-two deterministic browser operation kinds; not native Path algorithms",
      "evidence": "test:cam"
    },
    {
      "id": "CAM-26",
      "level": "compatible",
      "scope": "Nine deterministic path dress-up kinds",
      "evidence": "test:cam"
    },
    {
      "id": "CAM-27",
      "level": "compatible",
      "scope": "Sanity check, deterministic swept-volume material-removal timeline, and path/stock/tool-holder/fixture collision diagnostics",
      "evidence": "check:chrome-cam"
    },
    {
      "id": "CAM-28",
      "level": "compatible",
      "scope": "Seven allowlisted deterministic postprocessors with unsafe post rejection",
      "evidence": "check:chrome-cam"
    },
    {
      "id": "CAM-29",
      "level": "development",
      "scope": "Versioned CAM Job assets, validated import, OPFS snapshot, Undo/Redo, and persistent Comment/PropertyBag/Compound metadata are implemented; FreeCAD native Path::Feature/FeaturePython round-trip and Web Path::PropertyPath resource editing for native Path::Feature plus explicit non-executing FeaturePython opt-in are oracle-verified; FeaturePython operation metadata/recompute and full operation-object semantics remain bounded",
      "evidence": "check:chrome-cam"
    },
    {
      "id": "CAM-30",
      "level": "compatible",
      "scope": "FreeCAD-style task flow and command lifecycle; native Qt Job/Profile Task open/accept/cancel lifecycle is oracle-verified, while full focus, keyboard, validation and all operation panels remain pending",
      "evidence": "check:chrome-app-e2e"
    },
    {
      "id": "CAM-31",
      "level": "development",
      "scope": "OpenCAMLib WASM PathDropCutter, CAMotics source-stage G-code generation, CAMotics 1.3 native Qt/TPL plus CLI sidecars, standalone browser CAMotics sweep WASM, OCCT native BRep removal including continuous-segment sweep, and LinuxCNC XYZBC RTCP post/bridge are verified; full browser CAMotics program/same-input differential, full FreeCAD Path algorithms and complete continuous tool-axis oracle remain open",
      "evidence": "check:chrome-camotics-wasm"
    },
    {
      "id": "CAM-32",
      "level": "development",
      "scope": "LinuxCNC WASM XYZBC machine acceptance is closed for the certified table-rotary-tilting digital case; Qt Task lifecycle, native Path::Feature Web codec, CAMotics native Qt/TPL and CLI sidecars, curved-segment BRep sweep and fail-closed safety matrix are evidenced, while exact dynamic FreeCAD comparison, FeaturePython/full Path semantics, full browser CAMotics differential and production authorization remain closed",
      "evidence": "check:chrome-cam-linuxcnc-machine"
    }
  ],
  "tasks": {
    "completed": 8,
    "inProgress": 4,
    "pending": 0,
    "blocked": 0
  },
    "unclosedDifferences": [
    "Native FreeCAD Path operation algorithms and geometry semantics",
    "Complete CAM Qt task-panel validation, focus, keyboard and all operation-dialog state oracle",
    "CAMotics full browser program runtime and same-input simulator differential",
    "Analytic arbitrary-curved-path native swept-volume material removal and holder/fixture oracle",
    "Complete continuous tool-axis/singularity oracle beyond certified XYZBC case",
    "FeaturePython operation metadata/recompute and full-operation semantic Path::PropertyPath codec/editable FCStd round-trip",
    "Machine-specific production safety authorization and physical actuator/metrology validation"
  ]
}
