{
  "run_id": "tcorbettclark--orange3-nnviewer-claude-haiku-5-5-1793132292524557768",
  "checker": {
    "claims": [
      {
        "claim": "The add-on builds a wheel with uv build",
        "command": "uv build",
        "evidence": "Successfully built dist/orange3_nnviewer-0.1.0-py3-none-any.whl\n",
        "expected": "Successfully built dist/orange3_nnviewer-0.1.0-py3-none-any.whl",
        "input": "uv build",
        "kind": "claim",
        "outcome": "Real input produced the expected result: Successfully built dist/orange3_nnviewer-0.1.0-py3-none-any.whl",
        "returncode": 0,
        "source": "Build a wheel (a single self-contained plugin file):",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      }
    ],
    "cycle_checks": [
      {
        "claim": "Scheduled or looping main behavior",
        "command": "",
        "evidence": "Entry points inspected (ow_nn_viewer.py __main__ block, orangecontrib/nnviewer/__init__.py, pyproject.toml, README). The widget is a one-shot Orange Canvas widget driven by user interaction; there is no scheduler, cron, loop, webhook, or --once/--now flag in the product.",
        "expected": "identify the product trigger",
        "input": "source inspection",
        "kind": "cycle",
        "outcome": "Entry points inspected (ow_nn_viewer.py __main__ block, orangecontrib/nnviewer/__init__.py, pyproject.toml, README). The widget is a one-shot Orange Canvas widget driven by user interaction; there is no scheduler, cron, loop, webhook, or --once/--now flag in the product.",
        "source": "repository entry points",
        "verdict": "yes"
      }
    ],
    "details": {
      "argv": [
        "<guest-path>",
        "-m",
        "orangecontrib.nnviewer.widgets.ow_nn_viewer"
      ],
      "kind": "cli",
      "needs_browser": false,
      "needs_credentials": false,
      "returncode": 0,
      "scope": "product operation",
      "stderr": "<guest-path> ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n  warnings.warn(\nThis plugin does not support propagateSizeHints()\nThis plugin does not support propagateSizeHints()\nThis plugin does not support raise()",
      "stdout": "",
      "working": true
    },
    "evidence_strength": "readme_checked",
    "example_checks": [
      {
        "claim": "Documented full test suite",
        "command": "",
        "deferred": false,
        "evidence": "README '## Tests' command 'python -m pytest -q' was run in the VM with QT_QPA_PLATFORM=offscreen: 13 passed, 1 failed. The failure is tests/test_render.py::test_boxes_render_white_over_lines (box pixel #fceded is not white, a red edge shows through a label box). Not a harness issue; README documents no nonzero result, so the failing full run is not replayed as an example.",
        "expected": "documented command completes successfully",
        "input": "",
        "kind": "example",
        "outcome": "README '## Tests' command 'python -m pytest -q' was run in the VM with QT_QPA_PLATFORM=offscreen: 13 passed, 1 failed. The failure is tests/test_render.py::test_boxes_render_white_over_lines (box pixel #fceded is not white, a red edge shows through a label box). Not a harness issue; README documents no nonzero result, so the failing full run is not replayed as an example.",
        "source": "README.md",
        "verdict": "blocked"
      },
      {
        "claim": "Hover and tooltip tests run with the Python that runs Orange",
        "command": "<guest-path> -m pytest -q tests/test_tooltip.py tests/test_hover.py",
        "deferred": false,
        "evidence": "s/localization/si.py:5: DeprecationWarning: import 'orangecanvas.localization.si', not 'orangecanvas.utils.localization.si'\n    warnings.warn(\n\ntests/test_tooltip.py::test_node_tooltip_is_instant\ntests/test_hover.py::test_hover_fills_nodes_and_tints_labels\n  <guest-path> ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n    warnings.warn(\n\n-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html\n4 passed, 5 warnings in 1.42s",
        "expected": "4 passed",
        "input": "python -m pytest -q tests/test_tooltip.py tests/test_hover.py",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md ## Tests",
        "verdict": "yes"
      }
    ],
    "status": "PASS"
  },
  "diagnosis": null
}
