{
  "run_id": "soumatheusgomes--editonny-claude-haiku-5-5-1792770215771633705",
  "checker": {
    "claims": [
      {
        "claim": "The bundled visual catalog of motion scenes can be searched locally",
        "command": "python3 editonny.py catalog mortgage",
        "evidence": "mortgage-calculator \u00b7 Real estate \u00b7 Mortgage calculator\n1 scenes found.\n",
        "expected": "the mortgage-calculator scene is listed",
        "input": "mortgage",
        "kind": "claim",
        "outcome": "Real input produced the expected result: mortgage-calculator",
        "returncode": 0,
        "source": "Scenes come from the bundled catalog of **145** motion scenes and **79** original clips",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      }
    ],
    "cycle_checks": [
      {
        "claim": "Preview watcher reports a new user action in one pass",
        "command": "uv run --locked --directory skills/editonny/engine python helpers/watch_preview.py --edit-dir <guest-path> --once",
        "evidence": "[preview] cut APPROVED \u00b7 note: \"cut looks good\"; saved at 10:00:00\n[preview] attention: approval refers to an earlier version of cut (None that has since changed. Review the current export before treating it as approved\nNotice: could not write <guest-path> [Errno 13] Permission denied: '<guest-path>'",
        "expected": "one line announcing the cut approval with its saved time",
        "input": "<guest-path> containing preview_approval.json with phase cut, saved_at 2026-10-23T10:00:00, note cut looks good",
        "kind": "cycle",
        "method": "run-once via the documented --once flag, using a fixture edit folder outside the checkout whose preview_cache is read-only so seen-state does not suppress the event on replay",
        "outcome": "Triggered one cycle by hand (run-once via the documented --once flag, using a fixture edit folder outside the checkout whose preview_cache is read-only so seen-state does not suppress the event on replay; normal trigger: normal trigger: the watcher loops, polling every --interval seconds (default 1.0) until Ctrl+C; --once checks once and exits): [preview] cut APPROVED \u00b7 note: \"cut looks good\"; saved at 10:00:00\n[preview] attention: approval refers to an earlier version of cut (None that has since changed. Review the current export before treating it as approved\nNotice: could not write <guest-path> [Errno 13] Permission denied: '<guest-path>'",
        "returncode": 0,
        "schedule": "normal trigger: the watcher loops, polling every --interval seconds (default 1.0) until Ctrl+C; --once checks once and exits",
        "source": "skills/editonny/engine/helpers/watch_preview.py",
        "verdict": "yes"
      }
    ],
    "details": {
      "argv": [
        "python3",
        "editonny.py",
        "catalog",
        "mortgage"
      ],
      "kind": "cli",
      "needs_browser": false,
      "needs_credentials": false,
      "returncode": 0,
      "scope": "product operation",
      "stderr": "",
      "stdout": "mortgage-calculator \u00b7 Real estate \u00b7 Mortgage calculator\n1 scenes found.",
      "working": true
    },
    "evidence_strength": "readme_checked",
    "example_checks": [
      {
        "claim": "Diagnostics of the installed skill (README terminal install)",
        "command": "python3 <guest-path> doctor",
        "deferred": false,
        "evidence": "editonny 1.1.0 \u2014 local diagnostic\nPackage: <guest-path> \u00b7 code 67474f0f60be\nOK \u00b7 Launcher Python: 3.12.3\nOK \u00b7 uv: <guest-path>\nOK \u00b7 ffmpeg: /usr/bin/ffmpeg\nOK \u00b7 ffprobe: /usr/bin/ffprobe\nOK \u00b7 node: /opt/node24/bin/node\nOK \u00b7 npx: /opt/node24/bin/npx\nOK \u00b7 Python engine: 3.12.3\nOK \u00b7 Visual catalog: 145 scenes; 0 missing files\nOK \u00b7 HyperFrames: Pinned in engine/project-template/package.json; the first render may download the package.\nThis diagnostic does not replace a render test or final video review.",
        "expected": "visual catalog reports 145 scenes with no missing files",
        "input": "doctor",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md#install (Prefer the terminal)",
        "verdict": "yes"
      },
      {
        "claim": "Engine smoke test renders a sample",
        "command": "python3 scripts/smoke_engine.py",
        "deferred": false,
        "evidence": "HyperFrames: lint\nHyperFrames: check\nHyperFrames: snapshot --at 1,1.5,2 --no-end --describe false --output snapshots\nHyperFrames: render --quality draft --fps 24 --output renders/smoke.mp4\nPASS: <guest-path> smoke r2rmshcc/project with spaces/renders/smoke.mp4\nFrame: <guest-path> smoke r2rmshcc/frame-1.png",
        "expected": "a PASS line naming the rendered MP4",
        "input": "scripts/smoke_engine.py",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md (Develop and validate)",
        "verdict": "yes"
      },
      {
        "claim": "Full repository check: lint, typecheck, unit tests, icon registry",
        "command": "npm run check",
        "deferred": false,
        "evidence": "a failed copy and names its visible state\n\u001b[22m\u001b[39mThe current testing environment is not configured to support act(...)\n\n\u001b[90mstderr\u001b[2m | src/features/feedback/use-copy.test.tsx\u001b[2m > \u001b[22m\u001b[2museCopy\u001b[2m > \u001b[22m\u001b[2mwrites to the clipboard and shows the success toast\n\u001b[22m\u001b[39mThe current testing environment is not configured to support act(...)\n\n\u001b[90mstderr\u001b[2m | src/features/feedback/use-copy.test.tsx\u001b[2m > \u001b[22m\u001b[2museCopy\u001b[2m > \u001b[22m\u001b[2mselects the text and shows the fallback toast when the clipboard rejects\n\u001b[22m\u001b[39mThe current testing environment is not configured to support act(...)",
        "expected": "icon registry verifies 49 icons",
        "input": "npm run check",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md (Develop and validate)",
        "verdict": "yes"
      },
      {
        "claim": "Engine unit test suite",
        "command": "npm run test:engine",
        "deferred": false,
        "evidence": "gration -p 'test_*.py'\n\n........................................s.............................<guest-path> ResourceWarning: unclosed file <_io.BufferedReader name='/tmp/tmpr3k8u9u2/f_00001.jpg'>\n  w, h = Image.open(img).size\nResourceWarning: Enable tracemalloc to get the object allocation traceback\n..............ERROR: Encoded true peak remains above -1.0 dBTP after retries; output is not a validated final\n................\n----------------------------------------------------------------------\nRan 100 tests in 262.979s\n\nOK (skipped=1)",
        "expected": "100 engine tests pass",
        "input": "npm run test:engine",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md (Develop and validate)",
        "verdict": "yes"
      },
      {
        "claim": "Local web guide development server",
        "command": "",
        "deferred": true,
        "evidence": "Long-running dev server (python3 editonny.py guide); not a finite example. Left out on purpose; the guide was built with npm run build instead.",
        "expected": "documented command completes successfully",
        "input": "",
        "kind": "example",
        "outcome": "Long-running dev server (python3 editonny.py guide); not a finite example. Left out on purpose; the guide was built with npm run build instead.",
        "source": "README.md#open-the-guide",
        "verdict": "deferred"
      }
    ],
    "status": "PASS"
  },
  "diagnosis": null
}
