{
  "checker": {
    "claims": [
      {
        "claim": "agent-brief gives agents ready-to-paste instructions and MCP settings",
        "command": "/opt/homebrew/bin/python3 -m cdp_setup_kit --kit-dir <guest-path> agent-brief main",
        "evidence": "Attach to the existing browser context. Do not create a signed-out replacement context.\nWARNING: CDP has no authentication. Every program able to reach the address controls every tab, including signed-in sites.\nThe owner signs in manually; availability does not prove any account is signed in.\n\nMCP examples are pinned; approve these versions or pin to a version you trust before installing.\nMCP client configuration (HTTP browserURL form; clients discover the current WebSocket URL):\n{\n  \"mcpServers\": {\n    \"chrome-devtools\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"chrome-",
        "expected": "attach-existing-context instructions and MCP client configuration",
        "input": "agent-brief main on kit with profile main",
        "kind": "claim",
        "outcome": "Real input produced the expected result: Attach to the existing browser context.",
        "returncode": 0,
        "source": "Pasteable agent rules/MCP settings",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      },
      {
        "claim": "add records a profile and does not open it",
        "command": "/opt/homebrew/bin/python3 -m cdp_setup_kit --kit-dir <guest-path> add main --port 9333",
        "evidence": "already set up, unchanged: http://127.0.0.1:9333\n",
        "expected": "profile already recorded, unchanged, endpoint printed",
        "input": "add main --port 9333 to existing kit",
        "kind": "claim",
        "outcome": "Real input produced the expected result: already set up, unchanged: http://127.0.0.1:9333",
        "returncode": 0,
        "source": "Record a profile; optional `--port`, `--profile-dir`, `--chrome`. Does not open it.",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      },
      {
        "claim": "startup enable previews the LaunchAgent without changing anything",
        "command": "/opt/homebrew/bin/python3 -m cdp_setup_kit --kit-dir <guest-path> startup enable main",
        "evidence": "PREVIEW: nothing has been changed.\nWould write this file:\n  <guest-path>\n---- file contents ----\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n  <key>Label</key>\n  <string>cdp-setup-kit-main</string>\n  <key>ProgramArguments</key>\n  <array>\n    <string>/Applications/Google Chrome.app/Contents/MacOS/Google Chrome</string>\n    <string>--user-data-dir=/private<guest-path></string>\n    <string>--remote-",
        "expected": "preview states nothing has been changed",
        "input": "startup enable main (no --apply)",
        "kind": "claim",
        "outcome": "Real input produced the expected result: PREVIEW: nothing has been changed.",
        "returncode": 0,
        "source": "Preview visible sign-in start even without Chrome (shows a provisional path)",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      },
      {
        "claim": "Chrome is discovered at the macOS app path",
        "command": "",
        "evidence": "Google Chrome is not installed in this macOS guest (no /Applications/Google Chrome.app); the kit never downloads Chrome and the task forbids installing a browser. No shared CDP endpoint was supplied.",
        "expected": "",
        "input": "",
        "kind": "claim",
        "outcome": "Google Chrome is not installed in this macOS guest (no /Applications/Google Chrome.app); the kit never downloads Chrome and the task forbids installing a browser. No shared CDP endpoint was supplied.",
        "source": "Chrome is discovered at `/Applications/Google Chrome.app/Contents/MacOS/Google Chrome`.",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "blocked"
      }
    ],
    "cycle_checks": [
      {
        "claim": "startup enable registers a sign-in trigger that opens the profile Chrome window at each graphical sign-in",
        "command": "",
        "evidence": "Missing prerequisite: the trigger fires only at a real macOS graphical sign-in and opens Google Chrome, which is not installed in this guest; no sign-in was performed. Entry points inspected: startup enable/disable/status in cdp_setup_kit; the only scheduling is this LaunchAgent. The preview (startup enable main, no --apply) was run and shows the plist that would be written; nothing was applied.",
        "expected": "",
        "input": "",
        "kind": "cycle",
        "method": "",
        "outcome": "Missing prerequisite: the trigger fires only at a real macOS graphical sign-in and opens Google Chrome, which is not installed in this guest; no sign-in was performed. Entry points inspected: startup enable/disable/status in cdp_setup_kit; the only scheduling is this LaunchAgent. The preview (startup enable main, no --apply) was run and shows the plist that would be written; nothing was applied.",
        "schedule": "LaunchAgent RunAtLoad at next graphical sign-in (not a loop, cron or --once)",
        "source": "README.md",
        "verdict": "blocked"
      }
    ],
    "details": {
      "argv": [
        "/opt/homebrew/bin/python3",
        "-m",
        "cdp_setup_kit",
        "--kit-dir",
        "<guest-path>",
        "agent-brief",
        "main"
      ],
      "kind": "cli",
      "needs_browser": false,
      "needs_credentials": false,
      "returncode": 0,
      "scope": "product operation",
      "stderr": "",
      "stdout": "PREVIEW: not live yet. After applying and verifying access, a Chrome browser window (dedicated profile main) will be available at http://127.0.0.1:9333; sign in to the accounts you want agents to use.\nUse it for the owner-authorized task for profile \"main\"; sign-ins must be authorized for that task.\nRules: do not close other windows/tabs you did not open; never copy or export profiles/cookies; changing provider data through it is a write.\nAttach to the existing browser context. Do not create a signed-out replacement context.\nWARNING: CDP has no authentication. Every program able to reach the address controls every tab, including signed-in sites.\nThe owner signs in manually; availability does not prove any account is signed in.\n\nMCP examples are pinned; approve these versions or pin to a version you trust before installing.\nMCP client configuration (HTTP browserURL form; clients discover the current WebSocket URL):\n{\n  \"mcpServers\": {\n    \"chrome-devtools\": {\n[excerpt truncated]",
      "working": false
    },
    "evidence_strength": "partly_checked",
    "example_checks": [
      {
        "claim": "agent-brief prints attach rules and MCP settings for a profile",
        "command": "/opt/homebrew/bin/python3 -m cdp_setup_kit --kit-dir <guest-path> agent-brief main",
        "deferred": false,
        "evidence": "s tunnel running instead of connecting directly:\nssh -N -L 9333:127.0.0.1:9333 USER@HOST\nUse the browser machine's SSH host for HOST, and connect to http://127.0.0.1:9333 through the tunnel.\nFirst connection asks to trust the host key: verify it and answer yes once, or run ssh USER@HOST true interactively first. For scripts add -o StrictHostKeyChecking=accept-new: this trusts an unseen host automatically (first-connection impersonation risk), but refuses changed keys. If you use a key add -i KEY (and -o IdentitiesOnly=yes if needed), or use your Host alias from SSH config instead of USER@HOST.",
        "expected": "pasteable rules and MCP client configuration",
        "input": "agent-brief main on the kit with profile main",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md ## Commands table, agent-brief NAME",
        "verdict": "yes"
      },
      {
        "claim": "documented offline unit test suite",
        "command": "",
        "deferred": false,
        "evidence": "Ran python3 -B -m unittest discover -s tests -t . -q: 221 tests, 6 failures (macOS /tmp vs /private/tmp symlink path comparisons, a 'test mode' refusal, symlink destination checks), 3 skipped. Failures are environment/test-harness related and are not product-verified.",
        "expected": "documented command completes successfully",
        "input": "",
        "kind": "example",
        "outcome": "Ran python3 -B -m unittest discover -s tests -t . -q: 221 tests, 6 failures (macOS /tmp vs /private/tmp symlink path comparisons, a 'test mode' refusal, symlink destination checks), 3 skipped. Failures are environment/test-harness related and are not product-verified.",
        "source": "README.md ## What you need, Run the test suite from the checkout",
        "verdict": "blocked"
      },
      {
        "claim": "README quickstart open/connect needs a Chrome window",
        "command": "",
        "deferred": false,
        "evidence": "Not run: Google Chrome is not installed in this guest and no shared CDP endpoint was supplied; init/open/connect require a visible Chrome window. Chrome-free equivalents (add, list --no-check, agent-brief, startup enable preview) were run instead.",
        "expected": "documented command completes successfully",
        "input": "",
        "kind": "example",
        "outcome": "Not run: Google Chrome is not installed in this guest and no shared CDP endpoint was supplied; init/open/connect require a visible Chrome window. Chrome-free equivalents (add, list --no-check, agent-brief, startup enable preview) were run instead.",
        "source": "README.md ## Quickstart (macOS), step 2-4",
        "verdict": "blocked"
      },
      {
        "claim": "examples/ MCP and Playwright attach configs",
        "command": "",
        "deferred": false,
        "evidence": "Not run: they attach chrome-devtools-mcp, @playwright/mcp and a Playwright script to a live Chrome CDP endpoint, which is unavailable here (needs_browser).",
        "expected": "documented command completes successfully",
        "input": "",
        "kind": "example",
        "outcome": "Not run: they attach chrome-devtools-mcp, @playwright/mcp and a Playwright script to a live Chrome CDP endpoint, which is unavailable here (needs_browser).",
        "source": "examples/ directory (not referenced by README)",
        "verdict": "blocked"
      }
    ],
    "status": "PASS"
  },
  "deviations": [
    "Git metadata steps (git init/remote/fetch/reset) not run: the supplied workspace already contains the source and the README commands do not need Git metadata; workspace is not a git repo.",
    "Used /opt/homebrew/bin/python3 directly (3.14.8) instead of a venv; README says running from the checkout needs no venv or pip.",
    "Probe and claims use a fresh kit folder <guest-path> outside the checkout with profile main on port 9333 (from add).",
    "Chrome installation was NOT attempted: the task forbids installing a browser and the kit never downloads Chrome. Chrome-dependent README steps (init, open, connect, startup apply, share) were therefore not run.",
    "Offline unit tests: 221 run, 6 failed, 3 skipped. Failures are path comparisons (/tmp vs /private/tmp symlink) and symlink/test-mode checks in tests/test_chrome, test_macos, test_paths, test_cli, test_stop; treated as environment/harness-related, not product-verified.",
    "examples/ directory (MCP configs and Playwright attach scripts) not run: they need a live Chrome CDP endpoint.",
    "No servers or background processes were started, so none needed stopping. startup enable was only previewed; no LaunchAgent was written."
  ],
  "fault_owner": "prerequisite",
  "main_blocker": "Google Chrome is not installed in this guest and no shared CDP endpoint was supplied; the kit cannot open or attach a browser window without it.",
  "operation": "Set up a dedicated signed-in Chrome window with a local CDP address (README Quickstart macOS: init, connect), plus the Chrome-free profile/agent-brief commands run and read back",
  "operation_scope": "macOS 15.7.7 arm64 guest, Python 3.14.8 at /opt/homebrew/bin/python3 (README needs 3.9+), no venv or pip install needed (runs from checkout). Google Chrome NOT installed and no shared CDP endpoint supplied, so init/open/connect/share and browser attach could not run. Verified: add, list --no-check, agent-brief, startup enable preview (no apply), and the offline unit tests.",
  "outcome": "unverified",
  "plain_failure": "The tool cannot open the signed-in Chrome window it is meant to manage, because Chrome is not installed on this test machine and no shared browser address was given. The parts that do not need Chrome (recording a profile, printing the agent setup instructions, previewing the sign-in startup entry) work.",
  "steps": [
    "python3 -m cdp_setup_kit --kit-dir <guest-path> add main --port 9333",
    "python3 -m cdp_setup_kit --kit-dir <guest-path> list --no-check",
    "python3 -m cdp_setup_kit --kit-dir <guest-path> agent-brief main",
    "python3 -m cdp_setup_kit --kit-dir <guest-path> startup enable main (preview only)",
    "python3 -B -m unittest discover -s tests -t . -q (documented test suite)",
    "python3 -m cdp_setup_kit --kit-dir ... doctor (FAIL: Chrome found, rc 7, expected without Chrome)"
  ],
  "stuck_step": "init/open: 'Google Chrome was not found; install Google Chrome, or pass --chrome PATH' (doctor rc 7)",
  "suggested_fix": "Re-run in a guest with Google Chrome installed (or supply a shared CDP endpoint / --chrome PATH to a Chrome for Testing binary), then run init --yes --no-open, open main, connect main. Separately, investigate the 6 failing offline tests on macOS, which compare /tmp paths without resolving the /private/tmp symlink."
}
