{
  "run_id": "iAmCorey--Wake-claude-haiku-5-5-1792812702611530293",
  "checker": {
    "claims": [
      {
        "claim": "The wake-mcp server exposes a search tool that finds sessions by text",
        "command": "<guest-path> tools/call {\"tool\": \"wake_search\", \"arguments\": {\"query\": \"useEffect(\"}}",
        "evidence": "068f4ced-a156-4781-ad94-c83ef5097a5f` \u00b7 Claude Code \u00b7 \\\"\u4e2d\u6587\u77ed\u8bcd\u6bd4\u5982\u4e24\u4e2a\u5b57\u7684\u600e\u4e48\u529e?\\\"\\n  <host-path> \u00b7 updated 2026-10-24 03:40:15 \u00b7 5 messages \u00b7 claude-fable-5\\n  - seq 1 (assistant, 2026-10-24 03:38:35): \u2026exes every 3-char window, so `\u4e8c\u7ef4\u7801` and `**useEffect(**` both match without language-specific tokenizers. Queries under 3 chars fall ba\u2026\\n    ref: wake://session/claude-code:068f4ced-a156-4781-ad94-c83ef5097a5f#1\\n\\nRead a session with wake_get_session (pass the key, or a ref to start at that message).\\nIndex covers activity up to 2026-10-24 04:01:35 (local time); Wake keeps it fresh whil",
        "expected": "the matching Claude Code session key is returned",
        "input": "{\"tool\": \"wake_search\", \"arguments\": {\"query\": \"useEffect(\"}}",
        "kind": "claim",
        "outcome": "Real input produced the expected result: 068f4ced-a156-4781-ad94-c83ef5097a5f",
        "source": "Search every session and memory file",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      },
      {
        "claim": "wake-cli answers the same search questions from a terminal",
        "command": "<guest-path> search 'useEffect('",
        "evidence": "068f4ced-a156-4781-ad94-c83ef5097a5f` \u00b7 Claude Code \u00b7 \"\u4e2d\u6587\u77ed\u8bcd\u6bd4\u5982\u4e24\u4e2a\u5b57\u7684\u600e\u4e48\u529e?\"\n  <host-path> \u00b7 updated 2026-10-24 03:40:15 \u00b7 5 messages \u00b7 claude-fable-5\n  - seq 1 (assistant, 2026-10-24 03:38:35): \u2026exes every 3-char window, so `\u4e8c\u7ef4\u7801` and `**useEffect(**` both match without language-specific tokenizers. Queries under 3 chars fall ba\u2026\n    ref: wake://session/claude-code:068f4ced-a156-4781-ad94-c83ef5097a5f#1\n\nRead a session with wake_get_session (pass the key, or a ref to start at that message).\nIndex covers activity up to 2026-10-24 04:01:35 (local time); Wake keeps it fresh while it is ",
        "expected": "the matching session key is printed",
        "input": "search useEffect(",
        "kind": "claim",
        "outcome": "Real input produced the expected result: 068f4ced-a156-4781-ad94-c83ef5097a5f",
        "returncode": 0,
        "source": "`wake-cli` gives the same answers in a terminal",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      }
    ],
    "cycle_checks": [
      {
        "claim": "Scheduled or looping main behavior",
        "command": "",
        "evidence": "Inspected README and entry points (wake-cli, wake-mcp, wake GUI). No cron, --once or --now scheduler. The only loop is the GUI file watcher (crates/wake-core/src/watcher.rs, recv_timeout) which runs inside the desktop app; the README's manual one-shot is 'wake-cli refresh' (covered as an example). Desktop GUI could not be run headless here, so no cycle was triggered.",
        "expected": "identify the product trigger",
        "input": "source inspection",
        "kind": "cycle",
        "outcome": "Inspected README and entry points (wake-cli, wake-mcp, wake GUI). No cron, --once or --now scheduler. The only loop is the GUI file watcher (crates/wake-core/src/watcher.rs, recv_timeout) which runs inside the desktop app; the README's manual one-shot is 'wake-cli refresh' (covered as an example). Desktop GUI could not be run headless here, so no cycle was triggered.",
        "source": "repository entry points",
        "verdict": "yes"
      }
    ],
    "details": {
      "argv": [
        "<guest-path>"
      ],
      "kind": "mcp",
      "scope": "product operation",
      "serverInfo": {
        "name": "wake",
        "title": "Wake",
        "version": "0.10.1"
      },
      "tool_result": {
        "content": [
          {
            "text": "1 session match `useEffect(` \u2014 showing 1, best matches first.\n\n1. `claude-code:068f4ced-a156-4781-ad94-c83ef5097a5f` \u00b7 Claude Code \u00b7 \"\u4e2d\u6587\u77ed\u8bcd\u6bd4\u5982\u4e24\u4e2a\u5b57\u7684\u600e\u4e48\u529e?\"\n  <host-path> \u00b7 updated 2026-10-24 03:40:15 \u00b7 5 messages \u00b7 claude-fable-5\n  - seq 1 (assistant, 2026-10-24 03:38:35): \u2026exes every 3-char window, so `\u4e8c\u7ef4\u7801` and `**useEffect(**` both match without language-specific tokenizers. Queries under 3 chars fall ba\u2026\n    ref: wake://session/claude-code:068f4ced-a156-4781-ad94-c83ef5097a5f#1\n\nRead a session with wake_get_session (pass the key, or a ref to start at that message).\nIndex covers activity up to 2026-10-24 04:01:35 (local time); Wake keeps it fresh while it is running.",
            "type": "text"
          }
        ],
        "isError": false
      },
      "tool_result_checked": true,
      "tool_schema_bytes": 8382,
      "tools": [
        "wake_search",
        "wake_list_sessions",
        "wake_get_session",
        "wake_list_projects",
        "wake_list_memories"
      ],
      "working": true
    },
    "evidence_strength": "readme_checked",
    "example_checks": [
      {
        "claim": "Data-layer tests run with cargo",
        "command": "<guest-path> test -p wake-core",
        "deferred": false,
        "evidence": "oundtrip.rs (target/debug/deps/db_roundtrip-ee5de68cb77ec280)\n     Running tests/devin_default_root.rs (target/debug/deps/devin_default_root-cfa0dafceaf63e7f)\n     Running tests/mcp_stdio.rs (target/debug/deps/mcp_stdio-8b462d5b49f14a73)\n     Running tests/remote_sync.rs (target/debug/deps/remote_sync-29d6529df81d61ae)\n     Running tests/remote_sync_paths.rs (target/debug/deps/remote_sync_paths-d5285f22086ea84e)\n     Running tests/scanner_finale.rs (target/debug/deps/scanner_finale-b82fe3d8fc82747b)\n     Running tests/skills.rs (target/debug/deps/skills-b80c8f4ccf7b8229)\n   Doc-tests wake_core",
        "expected": "all test suites report ok",
        "input": "cargo test -p wake-core",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md Development section: data-layer tests only (adapter contracts, FTS, scanner)",
        "verdict": "yes"
      },
      {
        "claim": "Refresh the index while Wake is closed",
        "command": "<guest-path> refresh",
        "deferred": false,
        "evidence": "Refreshed the index at /tmp/wake-demo-home/.local/share/wake/wake.db: 424 sessions from 16 agents.",
        "expected": "index is refreshed with the synthetic demo sessions",
        "input": "no arguments",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md shell commands: wake-cli refresh",
        "verdict": "yes"
      }
    ],
    "status": "PASS"
  },
  "diagnosis": null
}
