{
  "schemaVersion": 1,
  "name": "Calculator observed-UI baseline",
  "goal": "Exercise the observed Windows Calculator Standard-mode controls with explicit result assertions. Functional checks are provisional UI-derived expectations, not user-approved business requirements.",
  "target": {
    "kind": "desktop"
  },
  "requirements": [
    {
      "id": "UI01",
      "text": "Provisional: Standard mode exposes a visible result display and Clear resets it to zero.",
      "source": "Observed Header, CalculatorResults and clearButton; acceptance expectation proposed from control semantics.",
      "acceptanceCriteria": [
        "Header is Standard Calculator mode.",
        "After Clear, result text is exactly Display is 0."
      ]
    },
    {
      "id": "UI02",
      "text": "Provisional: basic arithmetic produces mathematically correct integer results.",
      "source": "Observed plusButton, minusButton, multiplyButton, divideButton and equalButton.",
      "acceptanceCriteria": [
        "2 + 3 = 5",
        "9 - 4 = 5",
        "6 × 7 = 42",
        "8 ÷ 2 = 4"
      ]
    },
    {
      "id": "UI03",
      "text": "Provisional: Backspace removes the final entered digit.",
      "source": "Observed number pad and backSpaceButton.",
      "acceptanceCriteria": [
        "Entering 12 then Backspace displays 1."
      ]
    },
    {
      "id": "UI04",
      "text": "Provisional: Square and Square root perform the named operations.",
      "source": "Observed xpower2Button and squareRootButton.",
      "acceptanceCriteria": [
        "Square of 3 displays 9.",
        "Square root of 9 displays 3."
      ]
    },
    {
      "id": "UI05",
      "text": "Provisional: memory store, recall and clear function as named.",
      "source": "Observed memButton, MemRecall and ClearMemoryButton.",
      "acceptanceCriteria": [
        "Store 7, clear display, recall displays 7.",
        "Clearing memory disables Memory recall."
      ]
    },
    {
      "id": "WF01",
      "text": "Use observed selectors, executable cases and explicit assertions; keep healing off for the first run.",
      "source": "User request",
      "acceptanceCriteria": [
        "Suite uses observed UI Automation IDs and explicit assertions.",
        "Suite healing is off."
      ]
    },
    {
      "id": "WF02",
      "text": "Close inspection session before execution, poll to completion and provide summary, detailed and requirement-coverage reports.",
      "source": "User request",
      "acceptanceCriteria": [
        "Inspection session is closed before test_run.",
        "Finished job and report paths are recorded."
      ]
    }
  ],
  "risks": [
    "No functional requirements or acceptance criteria were supplied; UI01–UI05 are provisional and do not establish business acceptance.",
    "Attached desktop sessions share application state; every case explicitly clears the display and memory case cleans up its memory.",
    "Only observed Standard mode is covered. Existing history may remain.",
    "Desktop execution requires an interactive Windows session; locale-dependent text may affect exact assertions."
  ],
  "questions": [
    "Which Calculator product/version and modes are required? This run targets the observed Windows Calculator Standard mode.",
    "Are proposed UI01–UI05 functional expectations approved, or are there source requirements to replace them?",
    "What are required precision, rounding, overflow, divide-by-zero and negative-square-root behaviors?",
    "Are decimals, percentages, keyboard input, history, converters, accessibility and persistence in scope?"
  ],
  "documents": [],
  "scenarios": [
    {
      "name": "Standard mode and reset",
      "requirementIds": [
        "UI01",
        "WF01",
        "WF02"
      ],
      "preconditions": [
        "One Calculator window open in Standard mode"
      ],
      "steps": [
        "Assert Standard mode header and visible result.",
        "Click Clear.",
        "Assert exact result Display is 0."
      ],
      "expected": "Standard mode visible; display zero.",
      "priority": "high"
    },
    {
      "name": "Addition",
      "requirementIds": [
        "UI02",
        "WF01"
      ],
      "preconditions": [],
      "steps": [
        "Clear.",
        "Click 2, Plus, 3, Equals.",
        "Assert Display is 5."
      ],
      "expected": "2 + 3 = 5",
      "priority": "high"
    },
    {
      "name": "Subtraction",
      "requirementIds": [
        "UI02",
        "WF01"
      ],
      "preconditions": [],
      "steps": [
        "Clear.",
        "Click 9, Minus, 4, Equals.",
        "Assert Display is 5."
      ],
      "expected": "9 - 4 = 5",
      "priority": "normal"
    },
    {
      "name": "Multiplication",
      "requirementIds": [
        "UI02",
        "WF01"
      ],
      "preconditions": [],
      "steps": [
        "Clear.",
        "Click 6, Multiply by, 7, Equals.",
        "Assert Display is 42."
      ],
      "expected": "6 × 7 = 42",
      "priority": "normal"
    },
    {
      "name": "Division",
      "requirementIds": [
        "UI02",
        "WF01"
      ],
      "preconditions": [],
      "steps": [
        "Clear.",
        "Click 8, Divide by, 2, Equals.",
        "Assert Display is 4."
      ],
      "expected": "8 ÷ 2 = 4",
      "priority": "normal"
    },
    {
      "name": "Backspace",
      "requirementIds": [
        "UI03",
        "WF01"
      ],
      "preconditions": [],
      "steps": [
        "Clear.",
        "Click 1 then 2.",
        "Assert Display is 12.",
        "Click Backspace.",
        "Assert Display is 1."
      ],
      "expected": "Backspace removes last digit.",
      "priority": "normal"
    },
    {
      "name": "Square",
      "requirementIds": [
        "UI04",
        "WF01"
      ],
      "preconditions": [],
      "steps": [
        "Clear.",
        "Click 3 then Square.",
        "Assert Display is 9."
      ],
      "expected": "Square of 3 is 9.",
      "priority": "normal"
    },
    {
      "name": "Square root",
      "requirementIds": [
        "UI04",
        "WF01"
      ],
      "preconditions": [],
      "steps": [
        "Clear.",
        "Click 9 then Square root.",
        "Assert Display is 3."
      ],
      "expected": "Square root of 9 is 3.",
      "priority": "normal"
    },
    {
      "name": "Memory lifecycle",
      "requirementIds": [
        "UI05",
        "WF01"
      ],
      "preconditions": [],
      "steps": [
        "Clear.",
        "Enter 7 and Memory store.",
        "Assert Memory recall enabled.",
        "Clear display and assert zero.",
        "Recall and assert Display is 7.",
        "Clear all memory and assert recall disabled.",
        "Clear display."
      ],
      "expected": "Stored value recalled correctly and memory cleared.",
      "priority": "normal"
    }
  ],
  "uncovered": []
}