{
  "tokens_out": 3149,
  "outcome": "pass",
  "suggested_fix": null,
  "cycle_checks": null,
  "fault": {
    "owner": null,
    "status": "resolved",
    "reason": null,
    "evidence": []
  },
  "runtime_revision": null,
  "agent_execution": "native_agent",
  "time_to_working_s": null,
  "usage_complete": true,
  "runtime": null,
  "architecture": null,
  "local_or_hosted": null,
  "agent_interfaces_note": null,
  "platform_details": null,
  "platforms_claimed": null,
  "maintenance": null,
  "evidence_strength": null,
  "purpose": "initial",
  "topic": null,
  "needs_which": null,
  "tested_with": null,
  "native_bundle": null,
  "agent_runtime": "claude-code",
  "maintenance_note": null,
  "runtime_version": null,
  "does_what_it_says": null,
  "commit": "bc8eab78a6a344862e32f51aedd8ca1f9a62e387",
  "failure_origin": null,
  "stuck_step": null,
  "repo_url": null,
  "needs": null,
  "checks": [
    {
      "check": "operation",
      "status": "PASS",
      "details": {
        "working": true,
        "argv": [
          "serve"
        ],
        "kind": "mcp",
        "serverInfo": {
          "name": "signal-mcp",
          "version": "1.43.2"
        },
        "tools": [
          "send_message",
          "send_group_message",
          "send_note_to_self",
          "edit_message",
          "receive_messages",
          "receive_direct",
          "list_contacts",
          "list_groups",
          "get_conversation",
          "search_messages",
          "send_attachment",
          "send_group_attachment",
          "react_to_message",
          "set_typing",
          "get_profile",
          "block_contact",
          "unblock_contact",
          "remove_contact",
          "update_profile",
          "create_group",
          "join_group",
          "list_devices",
          "add_device",
          "remove_device",
          "get_own_number",
          "store_stats",
          "get_unread",
          "import_desktop",
          "sync_desktop",
          "list_conversations",
          "get_user_status",
          "send_sync_request",
          "delete_message",
          "delete_group_message",
          "send_read_receipt",
          "update_contact",
          "update_group",
          "leave_group",
          "terminate_group",
          "pin_message",
          "unpin_message",
          "admin_delete_message",
          "send_contacts_sync",
          "update_device",
          "mark_as_unread",
          "get_avatar",
          "send_message_request_response",
          "create_poll",
          "vote_poll",
          "terminate_poll",
          "set_expiration_timer",
          "list_identities",
          "trust_identity",
          "clear_local_store",
          "delete_local_messages",
          "export_messages",
          "update_configuration",
          "list_sticker_packs",
          "add_sticker_pack",
          "send_sticker",
          "send_group_sticker",
          "send_story",
          "list_attachments",
          "get_attachment",
          "get_sticker",
          "upload_sticker_pack",
          "list_accounts",
          "update_account",
          "set_pin",
          "remove_pin",
          "start_change_number",
          "finish_change_number",
          "submit_rate_limit_challenge",
          "prune_store",
          "set_webhook",
          "get_webhook",
          "find_contact",
          "schedule_message",
          "list_scheduled_messages",
          "cancel_scheduled_message",
          "run_scheduled_messages"
        ],
        "scope": "product operation"
      }
    }
  ],
  "open_issues": null,
  "agent_runtime_version": "2.1.300 (Claude Code)",
  "verifies_run_id": null,
  "total_s": 43.796361684799194,
  "license": null,
  "tool_calls": 8,
  "model_version": "claude-haiku-5-5",
  "example_checks": [],
  "mcp": null,
  "other_model": null,
  "first_use_s": null,
  "native_tool_calls": 8,
  "last_commit_at": null,
  "source": "https://github.com/googlarz/signal-mcp",
  "models_agree": null,
  "maintenance_verdict": null,
  "cost_usd": 0.006467990000000002,
  "safety": null,
  "answered_issues": null,
  "what_failed": null,
  "steps": [
    "cd <host-path> && ls -la && cat README.md | head -200",
    "cd <host-path> && cat package.json 2>/dev/null; cat pyproject.toml 2>/dev/null; ls .github/workflows 2>/dev/null; which node npm python3 pip3; node -v 2>/dev/null; echo CDP=$CDP_URL $<env-var>",
    "cd <host-path> && sed -n 200,400p README.md | grep -v '^$' | head -150; grep -n -i 'demo\\|offline\\|fixture\\|--help' README.md | head -30; cat .github/workflows/test.yml | head -60",
    "python3 --version; which uv pipx signal-cli; cd /tmp && (curl -LsSf https://astral.sh/uv/install.sh | sh 2>&1 | tail -3); ls ~/.local/bin 2>/dev/null",
    "export PATH=$HOME/.local/bin:$PATH; export NODE_USE_ENV_PROXY=1; cd <host-path> && uv tool install . 2>&1 | tail -5; which signal-mcp; ls -la $HOME/.local/bin/signal-mcp && $HOME/.local/bin/signal-mcp --help 2>&1 | head -30",
    "cd /tmp && cat > /tmp/mcp_probe_check.py <<'EOF'\nimport json, subprocess, sys\np = subprocess.Popen([sys.argv[1], \"serve\"], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)\ndef send(m): p.stdin.write(json.dumps(m)+\"\\n\"); p.stdin.flush()\ndef recv(): return json.loads(p.stdout.readline())\nsend({\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"initialize\",\"params\":{\"protocolVersion\":\"2025-06-18\",\"capabilities\":{},\"clientInfo\":{\"name\":\"smoke\",\"version\":\"0\"}}})\nprint(\"init:\", recv().get(\"result\",{}).get(\"serverInfo\"))\nsend({\"jsonrpc\":\"2.0\",\"method\":\"notifications/initialized\"})\nsend({\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"tools/list\",\"params\":{}})\nr = recv()\ntools = r.get(\"result\",{}).get(\"tools\",[])\nprint(\"tools:\", len(tools), [t[\"name\"] for t in tools][:8])\np.kill()\nEOF\ntimeout 60 python3 -I /tmp/mcp_probe_check.py <host-path> 2>&1 | tail -5",
    "cd <host-path> && mkdir -p .coldpass && ls -la .coldpass && rm -f /tmp/mcp_probe_check.py.bak; cat > .coldpass/probe.json <<'EOF'\n{\"kind\":\"mcp\",\"argv\":[\"<host-path>\",\"serve\"],\"cwd\":\"<host-path>\",\"env\":{}}\nEOF\ncat > .coldpass/report.json <<'EOF'\n{\"outcome\":\"working\",\"operation\":\"Start signal-mcp stdio MCP server (`signal-mcp serve`) and list tools via tools/list: returns 81 tools (e.g. send_message, receive_messages, list_contacts, search_messages).\",\"operation_scope\":\"Covers install and MCP start/tools/list only. Did not link a Signal account (requires a phone scan and signal-cli, which is not installed in the guest), so no send/receive/search against a real account was exercised. Read-only tools that need the local store were not run.\",\"steps\":[\"Read README.md (Quick start / Setup Step 3 'uv tool install .' from source)\",\"Installed uv via https://astral.sh/uv/install.sh (README's uv prerequisite; guest had python3 3.12.3 only)\",\"cd <host-path> && uv tool install . -> installed signal-mcp 1.43.2 to <host-path>\",\"signal-mcp --help ran OK\",\"MCP smoke: initialize + tools/list over stdio against `signal-mcp serve` -> serverInfo signal-mcp 1.43.2, 81 tools\"],\"deviations\":[\"uv was not preinstalled; installed it via the astral.sh install script before 'uv tool install .' (prerequisite, not a README command failure).\",\"signal-cli is not installed in the guest and no Signal account is linked; not installed because linking requires a human phone scan (out of scope for this smoke task).\"],\"stuck_step\":null,\"main_blocker\":null,\"suggested_fix\":null}\nEOF\n<env-var>=<host-path> python3 -I <host-path> --validate; echo rc=$?",
    "pgrep -af signal-mcp || echo \"no leftover signal-mcp processes\""
  ],
  "platform_conflicts": null,
  "claims_note": null,
  "maintained_note": null,
  "repo": "googlarz/signal-mcp",
  "service_tier": null,
  "maintained": null,
  "source_pin": null,
  "operation_scope": "product operation",
  "reasoning": "low",
  "claims": [],
  "platform": "linux",
  "cost_to_try": null,
  "backend": null,
  "tool_transport": "mcp-assigned-vm",
  "hardware": null,
  "agent_interface": null,
  "profile": {
    "model": "claude-haiku-5-5",
    "reasoning": "low"
  },
  "date": "2026-10-18T18:54:19.501364+00:00",
  "kind": "mcp",
  "resources": {
    "cpus": 2,
    "memory_mib": 4096,
    "disk_mib": 32768
  },
  "error_excerpt": null,
  "pass": true,
  "evidence_version": null,
  "source_revision": null,
  "run_id": "googlarz--signal-mcp-claude-haiku-5-5-1792349615704989189",
  "last_release_at": null,
  "furthest_model": null,
  "model": "claude-haiku-5-5",
  "what_it_did": "Start signal-mcp stdio MCP server (`signal-mcp serve`) and list tools via tools/list: returns 81 tools (e.g. send_message, receive_messages, list_contacts, search_messages).",
  "sandbox_source": null,
  "other_run_id": null,
  "hosting": null,
  "tested_commit": null,
  "guest_setup": null,
  "mcp_context": null,
  "agent_interfaces": [],
  "setup_identity": null,
  "works": null,
  "install_s": null,
  "fix_id": null,
  "tokens_in": 135976,
  "tested_at": null,
  "test_version": "readme-abdba4ff808874f9e3a15ab1ae88db85b1509a9d4c47daf5c1553fa8638b6951",
  "recovery": {
    "source": "legacy-oct16-18",
    "original_run_id": "googlarz--signal-mcp-claude-haiku-5-5-1792349615704989189",
    "historical": true,
    "ledger_sha256": "c5e6a833c182c1e2aecf69d0bd0020aec63c65d98f3e933e4b32232340312736"
  },
  "transcript_url": "/transcripts/googlarz--signal-mcp-claude-haiku-5-5-1792349615704989189.txt",
  "report_url": "/reports/googlarz--signal-mcp-claude-haiku-5-5-1792349615704989189.json"
}
