{
  "checker": {
    "details": {
      "checks": [
        {
          "check": "install",
          "details": {
            "argv": [
              "sudo",
              "-n",
              "docker",
              "compose",
              "version"
            ],
            "kind": "cli",
            "needs_browser": false,
            "needs_credentials": false,
            "returncode": 0,
            "scope": "partial: install",
            "stderr": "",
            "stdout": "Docker Compose version 2.40.3+ds1-0ubuntu1~24.04.1",
            "working": false
          },
          "optional": false,
          "status": "PASS"
        },
        {
          "check": "start",
          "details": {
            "argv": [
              "sudo",
              "-n",
              "docker",
              "compose",
              "ps"
            ],
            "kind": "cli",
            "needs_browser": false,
            "needs_credentials": false,
            "returncode": 0,
            "scope": "partial: start",
            "stderr": "",
            "stdout": "NAME             IMAGE                           COMMAND                  SERVICE    CREATED          STATUS                    PORTS\nrms-mail-api-m   maxramas/rms-mail:m-latest      \"./main\"                 backend    49 seconds ago   Up 48 seconds (healthy)   8080/tcp\nrms-mail-ui-m    maxramas/rms-mail:m-ui-latest   \"docker-entrypoint.s\u2026\"   frontend   49 seconds ago   Up 47 seconds             0.0.0.0:3000->3000/tcp, [::]:3000->3000/tcp",
            "working": false
          },
          "optional": false,
          "status": "PASS"
        },
        {
          "check": "credentials_error",
          "details": {
            "blocker": "probe argv must be a nonempty string array",
            "working": false
          },
          "optional": false,
          "status": "FAIL"
        }
      ],
      "scope": "partial checks",
      "working": false
    },
    "status": "FAIL"
  },
  "deviations": [
    "docker: command not found (README Quick Start > Mono requires Docker). Ran: sudo apt-get install -y docker.io docker-compose-v2, then sudo systemctl start docker.",
    "docker compose commands require root in this guest, so the probe uses 'sudo -n docker compose ...' instead of 'docker compose ...'.",
    "README step 3 asks for ALLOWED_ORIGINS and FRONTEND_URL; left the .env.example values unchanged (local smoke only)."
  ],
  "main_blocker": "No MCP API key or app login credentials are available in the VM. This is intentional; credentials were not obtained.",
  "operation": "Started the Mono edition stack per README Quick Start > Mono (docker compose up -d) and probed the MCP endpoint /mcp/sse on :3000. Unauthenticated access returns 401 'MCP API key required', confirming the MCP server is up and enforcing auth.",
  "operation_scope": "Install and start verified. tools/list (and search_emails/get_email/email_agent) NOT exercised: the MCP server requires a per-account MCP API key (Authorization Bearer or X-API-Key), which is created inside the app after login and a mailbox account is configured. No credentials were available or obtained, so no authenticated MCP session was made. The Next.js UI on :3000 also responds (HTTP 307 on /).",
  "outcome": "blocked",
  "steps": [
    "cat README.md; awk Quick Start section; identified 'Quick Start > Mono' as the documented path",
    "cp .env-m.example .env; cp docker-compose-m.yml docker-compose.yml; set ENCRYPTION_KEYS and JWT_SECRET via openssl rand -hex 32 (README step 3)",
    "docker compose up -d (README step 5) -> rms-mail-api-m (healthy) and rms-mail-ui-m (running, :3000)",
    "docker compose ps; curl http://localhost:3000/ -> 307; curl http://localhost:3000/mcp/sse -> 401 with 'MCP API key required'"
  ],
  "stuck_step": "MCP tools/list: GET /mcp/sse without a key returns 401; an MCP API key is required, and creating one needs an app login and a configured mailbox account.",
  "suggested_fix": "Provide an MCP API key (for an existing RMS Mail account), or a login plus a test mailbox so an MCP key can be created in Settings. Then run: curl -H 'Authorization: <secret><key>' -X POST http://localhost:3000/mcp/ with a JSON-RPC tools/list, or use the SSE transport at /mcp/sse."
}
