{
  "checker": {
    "details": {
      "checks": [
        {
          "check": "install",
          "details": {
            "argv": [
              "<host-path>",
              "--help"
            ],
            "kind": "cli",
            "needs_browser": false,
            "needs_credentials": false,
            "returncode": 0,
            "scope": "partial: install",
            "stderr": "",
            "stdout": "]11;#1a1b26]10;#c0caf5]4;0;#15161e]4;1;#f7768e]4;2;#9ece6a]4;3;#e0af68]4;4;#7aa2f7]4;5;#bb9af7]4;6;#7dcfff]4;7;#a9b1d6]4;8;#414868]4;9;#f7768e]4;10;#9ece6a]4;11;#e0af68]4;12;#7aa2f7]4;13;#bb9af7]4;14;#7dcfff]4;15;#c0caf5usage: code-puppy [-h] [--version] [--interactive] [--prompt PROMPT]\n                  [--disable-ask-user-question] [--usage-file PATH]\n                  [--agent AGENT] [--model MODEL] [--resume PATH] [--cwd]\n                  [--quick-resume [PATH]] [--port-base PORT] [--acp]\n                  [--no-tools] [--profile NAME] [--yolo {true,false}]\n                  [command ...]\n\nCode Puppy - A code generation agent\n\npositional arguments:\n  command               Run a single command (deprecated, use -p instead)\n\n[excerpt truncated]",
            "working": false
          },
          "optional": false,
          "status": "PASS"
        },
        {
          "check": "start",
          "details": {
            "argv": [
              "<host-path>",
              "-i"
            ],
            "blocker": "product invocation failed: {\"returncode\": 0, \"stdout\": \"\\u001b]11;#1a1b26\\u0007\\u001b]10;#c0caf5\\u0007\\u001b]4;0;#15161e\\u0007\\u001b]4;1;#f7768e\\u0007\\u001b]4;2;#9ece6a\\u0007\\u001b]4;3;#e0af68\\u0007\\u001b]4;4;#7aa2f7\\u0007\\u001b]4;5;#bb9af7\\u0007\\u001b]4;6;#7dcfff\\u0007\\u001b]4;7;#a9b1d6\\u0007\\u001b]4;8;#414868\\u0007\\u001b]4;9;#f7768e\\u0007\\u001b]4;10;#9ece6a\\u0007\\u001b]4;11;#e0af68\\u0007\\u001b]4;12;#7aa2f7\\u0007\\u001b]4;13;#bb9af7\\u0007\\u001b]4;14;#7dcfff\\u0007\\u001b]4;15;#c0caf5\\u0007\\n\\n \\u2588\\u2588\\u2588\\u2588\\u2588\\u2588\\u2557 \\u2588\\u2588\\u2588\\u2588\\u2588\\u2588\\u2557 \\u2588\\u2588\\u2588\\u2588\\u2588\\u2588\\u2557 \\u2588\\u2588\\u2588\\u2588\\u2588\\u2588\\u2588\\u2557    \\u2588\\u2588\\u2588\\u2588\\u2588\\u2588\\u2557 \\u2588\\u2588\\u2557   \\u2588\\u2588\\u2557\\u2588\\u2588\\u2588\\u2588\\u2588\\u2588\\u2557 \\u2588\\u2588\\u2588\\u2588\\u2588\\u2588\\u2557 \\u2588\\u2588\\u2557   \\u2588\\u2588\\u2557\\n\\u2588\\u2588\\u2554\\u2550\\u2550\\u2550\\u2550\\u255d\\u2588\\u2588\\u2554\\u2550\\u2550\\u2550\\u2588\\u2588\\u2557\\u2588\\u2588\\u2554\\u2550\\u2550\\u2588\\u2588\\u2557\\u2588\\u2588\\u2554\\u2550\\u2550\\u2550\\u2550\\u255d    \\u2588\\u2588\\u2554\\u2550\\u2550\\u2588\\u2588\\u2557\\u2588\\u2588\\u2551   \\u2588\\u2588\\u2551\\u2588\\u2588\\u2554\\u2550\\u2550\\u2588\\u2588\\u2557\\u2588\\u2588\\u2554\\u2550\\u2550\\u2588\\u2588\\u2557\\u255a\\u2588\\u2588\\u2557 \\u2588\\u2588\\u2554\\u255d\\n\\u2588\\u2588\\u2551     \\u2588\\u2588\\u2551   \\u2588\\u2588\\u2551\\u2588\\u2588\\u2551  \\u2588\\u2588\\u2551\\u2588\\u2588\\u2588\\u2588\\u2588\\u2557      \\u2588\\u2588\\u2588\\u2588\\u2588\\u2588\\u2554\\u255d\\u2588\\u2588\\u2551   \\u2588\\u2588\\u2551\\u2588\\u2588\\u2588\\u2588\\u2588\\u2588\\u2554\\u255d\\u2588\\u2588\\u2588\\u2588\\u2588\\u2588\\u2554\\u255d \\u255a\\u2588\\u2588\\u2588\\u2588\\u2554\\u255d \\n\\u2588\\u2588\\u2551     \\u2588\\u2588\\u2551   \\u2588\\u2588\\u2551\\u2588\\u2588\\u2551  \\u2588\\u2588\\u2551\\u2588\\u2588\\u2554\\u2550\\u2550\\u255d      \\u2588\\u2588\\u2554\\u2550\\u2550\\u2550\\u255d \\u2588\\u2588\\u2551   \\u2588\\u2588\\u2551\\u2588\\u2588\\u2554\\u2550\\u2550\\u2550\\u255d \\u2588\\u2588\\u2554\\u2550\\u2550\\u2550\\u255d   \\u255a\\u2588\\u2588\\u2554\\u255d  \\n\\u255a\\u2588\\u2588\\u2588\\u2588\\u2588\\u2588\\u2557\\u255a\\u2588\\u2588\\u2588\\u2588\\u2588\\u2588\\u2554\\u255d\\u2588\\u2588\\u2588\\u2588\\u2588\\u2588\\u2554\\u255d\\u2588\\u2588\\u2588\\u2588\\u2588\\u2588\\u2588\\u2557    \\u2588\\u2588\\u2551     \\u255a\\u2588\\u2588\\u2588\\u2588\\u2588\\u2588\\u2554\\u255d\\u2588\\u2588\\u2551     \\u2588\\u2588\\u2551        \\u2588\\u2588\\u2551   \\n \\u255a\\u2550\\u2550\\u2550\\u2550\\u2550\\u255d \\u255a\\u2550\\u2550\\u2550\\u2550\\u2550\\u255d \\u255a\\u2550\\u2550\\u2550\\u2550\\u2550\\u255d \\u255a\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u255d    \\u255a\\u2550\\u255d      \\u255a\\u2550\\u2550\\u2550\\u2550\\u2550\\u255d \\u255a\\u2550\\u255d     \\u255a\\u2550\\u255d        \\u255a\\u2550\\u255d   \\n\\n\\nCore plugins version: 0.0.95\\n\\u26a0 Project hooks in '<host-path>' are NOT \\ntrusted \\u2014 they will NOT run. Review them and run '/hooks trust accept' to enable\\n(project hooks can run arbitrary shell commands).\\nPress Tab for help (press Tab again to close).\\n\\n\\ud83d\\udc3e Agency level: HIGH \\u2014 change with /set agency_level low|medium|high|extreme \\n(headless -p runs are always EXTREME)\\n\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\n\\u2503                                                                      \\u2503\\n\\u2503  \\u26a0\\ufe0f   WARNING: TERMINAL DOES NOT SUPPORT TRUECOLOR (24-BIT COLOR)  \\u26a0\\ufe0f   \\u2503\\n\\u2503                                                                      \\u2503\\n\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\u2501\\n\\nDetected color system: unknown\\n\\nCode Puppy uses rich colors and will look degraded without truecolor.\\n\\nConsider using a modern terminal emulator:\\n  \\u2022 iTerm2 (macOS) - https://iterm2.com\\nHOT NEW FEATURE: Tool Call Speculation - tool calls start running while the \\nmodel is still typing them. Currently OFF. Press Ctrl+X Ctrl+S to turn it on.\\n  \\u2022 Windows Terminal (Windows) - Built into Windows 11\\n  \\u2022 Kitty - https://sw.kovidgoyal.net/kitty\\n  \\u2022 Alacritty - https://alacritty.org\\n  \\u2022 Warp (macOS) - https://warp.dev\\n\\nOr try setting the COLORTERM environment variable:\\n  export COLORTERM=truecolor\\n\\nNote: The built-in macOS Terminal.app does not support truecolor (Sequoia and \\nearlier).\\nSetting COLORTERM=truecolor won't help - you'll need a different terminal app.\\n\\n\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\n\\n>>> \\u001b]104\\u0007\\u001b]111\\u0007\\u001b]110\\u0007\", \"stderr\": \"\", \"needs_credentials\": false, \"needs_browser\": false}",
            "kind": "cli",
            "needs_browser": false,
            "needs_credentials": false,
            "returncode": 0,
            "stderr": "",
            "stdout": "]11;#1a1b26]10;#c0caf5]4;0;#15161e]4;1;#f7768e]4;2;#9ece6a]4;3;#e0af68]4;4;#7aa2f7]4;5;#bb9af7]4;6;#7dcfff]4;7;#a9b1d6]4;8;#414868]4;9;#f7768e]4;10;#9ece6a]4;11;#e0af68]4;12;#7aa2f7]4;13;#bb9af7]4;14;#7dcfff]4;15;#c0caf5\n\n \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557    \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2557   \u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2557   \u2588\u2588\u2557\n\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255d\u2588\u2588\u2554\u2550\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255d    \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2551   \u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u255a\u2588\u2588\u2557 \u2588\u2588\u2554\u255d\n\u2588\u2588\u2551     \u2588\u2588\u2551   \u2588\u2588\u2551\u2588\u2588\u2551  \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2557      \u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255d\u2588\u2588\u2551   \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255d\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255d \u255a\u2588\u2588\u2588\u2588\u2554\u255d \n\u2588\u2588\u2551     \u2588\u2588\u2551   \u2588\u2588\u2551\u2588\u2588\u2551  \u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u255d      \u2588\u2588\u2554\u2550\u2550\u2550\u255d \u2588\u2588\u2551   \u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2550\u255d \u2588\u2588\u2554\u2550\u2550\u2550\u255d   \u255a\u2588\u2588\u2554\u255d  \n\u255a\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u255a\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255d\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255d\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557    \u2588\u2588\u2551     \u255a\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255d\u2588\u2588\u2551     \u2588\u2588\u2551        \u2588\u2588\u2551   \n \u255a\u2550\u2550\u2550\u2550\u2550\u255d \u255a\u2550\u2550\u2550\u2550\u2550\u255d \u255a\u2550\u2550\u2550\u2550\u2550\u255d \u255a\u2550\u2550\u2550\u2550\u2550\u2550\u255d    \u255a\u2550\u255d      \u255a\u2550\u2550\u2550\u2550\u2550\u255d \u255a\u2550\u255d     \u255a\u2550\u255d        \u255a\u2550\u255d   \n\n\nCore plugins version: 0.0.95\n\u26a0 Project hooks in '<host-path>' are NOT \n[excerpt truncated]",
            "working": false
          },
          "optional": false,
          "status": "FAIL"
        },
        {
          "check": "credentials_error",
          "details": {
            "argv": [
              "<host-path>",
              "-p",
              "say hi"
            ],
            "blocker": "product did not produce a clear credential error: {\"returncode\": 0, \"stdout\": \"\\u001b]11;#1a1b26\\u0007\\u001b]10;#c0caf5\\u0007\\u001b]4;0;#15161e\\u0007\\u001b]4;1;#f7768e\\u0007\\u001b]4;2;#9ece6a\\u0007\\u001b]4;3;#e0af68\\u0007\\u001b]4;4;#7aa2f7\\u0007\\u001b]4;5;#bb9af7\\u0007\\u001b]4;6;#7dcfff\\u0007\\u001b]4;7;#a9b1d6\\u0007\\u001b]4;8;#414868\\u0007\\u001b]4;9;#f7768e\\u0007\\u001b]4;10;#9ece6a\\u0007\\u001b]4;11;#e0af68\\u0007\\u001b]4;12;#7aa2f7\\u0007\\u001b]4;13;#bb9af7\\u0007\\u001b]4;14;#7dcfff\\u0007\\u001b]4;15;#c0caf5\\u0007Core plugins version: 0.0.95\\n\\u26a0 Project hooks in '<host-path>' are NOT \\ntrusted \\u2014 they will NOT run. Review them and run '/hooks trust accept' to enable\\n(project hooks can run arbitrary shell commands).\\nExecuting prompt: say hi\\n\\u26a0\\ufe0f  No model is configured! Code Puppy can't talk to an LLM until you add one.\\n   \\u2022 Run /add_model to pick a model + API key, or\\n   \\u2022 Run /tutorial and choose Claude Code or ChatGPT OAuth.\\nModel 'None' not found. Available models: no configured models. Fix it with \\n`/pin code-puppy <model>` once a working model is available, or `/unpin \\ncode-puppy` to just track the global default from now on. Run `/model` to see \\nconfigured models.\\nNo valid model could be loaded. Update the model configuration or set a valid \\nmodel with `config set`.\\nError executing prompt: No valid model could be loaded. Update the model \\nconfiguration or set a valid model with `config set`.\\n\\u001b]104\\u0007\\u001b]111\\u0007\\u001b]110\\u0007\", \"stderr\": \"\", \"needs_credentials\": false, \"needs_browser\": false}",
            "kind": "cli",
            "needs_browser": false,
            "needs_credentials": false,
            "returncode": 0,
            "stderr": "",
            "stdout": "]11;#1a1b26]10;#c0caf5]4;0;#15161e]4;1;#f7768e]4;2;#9ece6a]4;3;#e0af68]4;4;#7aa2f7]4;5;#bb9af7]4;6;#7dcfff]4;7;#a9b1d6]4;8;#414868]4;9;#f7768e]4;10;#9ece6a]4;11;#e0af68]4;12;#7aa2f7]4;13;#bb9af7]4;14;#7dcfff]4;15;#c0caf5Core plugins version: 0.0.95\n\u26a0 Project hooks in '<host-path>' are NOT \ntrusted \u2014 they will NOT run. Review them and run '/hooks trust accept' to enable\n(project hooks can run arbitrary shell commands).\nExecuting prompt: say hi\n\u26a0\ufe0f  No model is configured! Code Puppy can't talk to an LLM until you add one.\n   \u2022 Run /add_model to pick a model + API key, or\n   \u2022 Run /tutorial and choose Claude Code or ChatGPT OAuth.\nModel 'None' not found. Available models: no configured models. Fix it with \n`/pin code-puppy <model>` once a working model is available, or `/unpin \ncode-puppy` to just track the global default from now on. Run `/model` to see \nconfigured models.\n[excerpt truncated]",
            "working": false
          },
          "optional": false,
          "status": "FAIL"
        }
      ],
      "scope": "partial checks",
      "working": false
    },
    "status": "FAIL"
  },
  "deviations": [
    "README `uvx code-puppy -i` / `uvx code-puppy`: used the checkout's venv binary instead of uvx so the probe runs the pinned source, not a published package.",
    "First run of code-puppy stops at an interactive first-run prompt ('What should we name the puppy?' / 'What's your name?') and fails with EOFError on empty stdin. Worked around by piping placeholder answers into the first run (`printf 'Rex\\n\\n\\n\\n\\n\\n'`), which wrote ~/.code_puppy/puppy.cfg. The name 'Rex' was a placeholder I chose, not supplied by the user.",
    "Using `-p` with no model fails: the guest has no provider key (OpenAI/Anthropic/Gemini/Cerebras/Meta) and no Ollama endpoint. Not fixed; it's a prerequisite."
  ],
  "fault_owner": "prerequisite",
  "main_blocker": "No LLM provider credentials or Ollama endpoint in the guest; no model configured.",
  "operation": "Install with uv and sync the checkout; start the interactive TUI (`code-puppy -i`, README Quick start) and confirm it loads; run `code-puppy -p \"say hi\"` (README: single-prompt mode) to confirm it fails with a clear credential error.",
  "operation_scope": "Install and TUI start verified. The single-prompt operation (`-p`) that exercises an LLM is not verified: no LLM provider API key or Ollama endpoint is configured in the guest, and no model is set. Credentials are a prerequisite; not supplied, not obtained.",
  "outcome": "blocked",
  "steps": [
    "curl -LsSf https://astral.sh/uv/install.sh | sh (README: Installation > UV, macOS/Linux)",
    "uv sync (installs project dependencies into <host-path>)",
    "<host-path> --help (install check)",
    "<host-path> -i (README Quick start `uvx code-puppy -i`; TUI loads and prints 'Enter your coding task:')",
    "<host-path> -p \"say hi\" (README-documented single-prompt mode; fails with 'No LLM model is configured' and asks for an API key)"
  ],
  "stuck_step": "Single-prompt operation (code-puppy -p) requires a configured LLM model and API key.",
  "suggested_fix": "Provide an LLM provider key (e.g. ANTHROPIC_API_KEY or OPENAI_API_KEY) or an Ollama endpoint in the guest, then run `/add_model` or set a model, and re-run `code-puppy -p \"<prompt>\"`. Until then, the verified checks are install and TUI start.",
  "verified": {
    "credentials_error": "PASS (-p reports missing model/API key)",
    "install": "PASS",
    "start_tui": "PASS (stays_running, expected 'Enter your coding task')"
  }
}
