{
  "checker": {
    "claims": [
      {
        "claim": "Wiki search answers a query over stored pages",
        "command": "<guest-path> serve --transport http tools/call {\"tool\": \"memory_query\", \"arguments\": {\"query\": \"zebra-lantern\", \"workspace\": \"coldpass\", \"project\": \"ailab\"}}",
        "evidence": "zebra-lantern</mark> deployment uses port 7341.\\\",\\n      \\\"rank\\\": -0.036065573770491806\\n    }\\n  ]\\n}\"}], \"isError\": false}",
        "expected": "the stored page is returned",
        "input": "{\"tool\": \"memory_query\", \"arguments\": {\"query\": \"zebra-lantern\", \"workspace\": \"coldpass\", \"project\": \"ailab\"}}",
        "kind": "claim",
        "outcome": "Real input produced the expected result: zebra-lantern",
        "source": "Ask \"have we discussed X?\" or \"search memory for Y\" to query the wiki.",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      }
    ],
    "cycle_checks": [
      {
        "claim": "Scheduled maintenance runs periodic jobs on the server",
        "command": "bash <guest-path> <guest-path> forget-sweep --workspace coldpass --project ailab",
        "evidence": "{\n  \"dry_run\": false,\n  \"candidates_evaluated\": 1,\n  \"evicted\": [],\n  \"compacted\": [],\n  \"merged\": [],\n  \"expired\": [],\n  \"hard_deleted\": 0,\n  \"observations_prunable\": 0,\n  \"observations_pruned\": 0,\n  \"observation_prune_sessions\": 0,\n  \"observation_prune_batches\": 0,\n  \"ledgers_prunable\": 0,\n  \"ledger_bytes_prunable\": 0,\n  \"ledgers_pruned\": 0,\n  \"ledger_bytes_pruned\": 0,\n  \"ledgers_undeleted\": 0,\n  \"ledger_page_rows_left\": 0\n}\n\u001b[2m2026-10-24T23:08:22.713852Z\u001b[0m \u001b[32m INFO\u001b[0m \u001b[2mai_memory_cli\u001b[0m\u001b[2m:\u001b[0m ai-memory starting \u001b[3mversion\u001b[0m\u001b[2m=\u001b[0m\"3.2.2\" \u001b[3mserver_url\u001b[0m\u001b[2m=\u001b[0mhttp://127.0.0.1:49374 \u001b[3mdata_dir\u001b[0m\u001b[2m=\u001b[0m<guest-path> \u001b[3mbind\u001b[0m\u001b[2m=\u001b[0m127.0.0.1:49374",
        "expected": "sweep report printed with ledgers_pruned counter",
        "input": "forget-sweep --workspace coldpass --project ailab",
        "kind": "cycle",
        "method": "run-once: start the real server, run the documented forget-sweep job once by hand, stop server",
        "outcome": "Triggered one cycle by hand (run-once: start the real server, run the documented forget-sweep job once by hand, stop server; normal trigger: server-side scheduled maintenance tick): {\n  \"dry_run\": false,\n  \"candidates_evaluated\": 1,\n  \"evicted\": [],\n  \"compacted\": [],\n  \"merged\": [],\n  \"expired\": [],\n  \"hard_deleted\": 0,\n  \"observations_prunable\": 0,\n  \"observations_pruned\": 0,\n  \"observation_prune_sessions\": 0,\n  \"observation_prune_batches\": 0,\n  \"ledgers_prunable\": 0,\n  \"ledger_bytes_prunable\": 0,\n  \"ledgers_pruned\": 0,\n  \"ledger_bytes_pruned\": 0,\n  \"ledgers_undeleted\": 0,\n  \"ledger_page_rows_left\": 0\n}\n\u001b[2m2026-10-24T23:08:22.713852Z\u001b[0m \u001b[32m INFO\u001b[0m \u001b[2mai_memory_cli\u001b[0m\u001b[2m:\u001b[0m ai-memory starting \u001b[3mversion\u001b[0m\u001b[2m=\u001b[0m\"3.2.2\" \u001b[3mserver_url\u001b[0m\u001b[2m=\u001b[0mhttp://127.0.0.1:49374 \u001b[3mdata_dir\u001b[0m\u001b[2m=\u001b[0m<guest-path> \u001b[3mbind\u001b[0m\u001b[2m=\u001b[0m127.0.0.1:49374",
        "returncode": 0,
        "schedule": "server-side scheduled maintenance tick",
        "source": "crates/ai-memory-cli/src/commands/serve.rs",
        "verdict": "yes"
      }
    ],
    "details": {
      "argv": [
        "<guest-path>",
        "serve",
        "--transport",
        "http"
      ],
      "hosting": "local",
      "kind": "mcp_http",
      "protocolVersion": "2025-06-18",
      "scope": "remote hosted MCP initialize + tools/list",
      "serverInfo": {
        "name": "ai-memory",
        "version": "3.2.2"
      },
      "tool_result": {
        "content": [
          {
            "text": "{\n  \"hits\": [\n    {\n      \"id\": \"01a1702a-40f8-7ad3-b4d7-996776c4d804\",\n      \"path\": \"notes/coldpass-check.md\",\n      \"title\": \"coldpass-check\",\n      \"snippet\": \"Coldpass probe: the <mark>zebra-lantern</mark> deployment uses port 7341.\",\n      \"rank\": -0.036065573770491806\n    }\n  ]\n}",
            "type": "text"
          }
        ],
        "isError": false
      },
      "tool_result_checked": true,
      "tool_schema_bytes": 67283,
      "tools": [
        "memory_auto_improve",
        "memory_briefing",
        "memory_consolidate",
        "memory_delete_page",
        "memory_explore",
        "memory_feedback",
        "memory_forget_sweep",
        "memory_handoff_accept",
        "memory_handoff_begin",
        "memory_handoff_cancel",
        "memory_handoff_list",
        "memory_install_self_routing",
        "memory_lint",
        "memory_message_cancel",
        "memory_message_list",
        "memory_message_pop",
        "memory_message_send",
        "memory_query",
        "memory_read_page",
        "memory_read_session_observations",
        "memory_recent",
        "memory_restore_page",
        "memory_status",
        "memory_write_page"
      ],
      "transport": "streamable-http",
      "url": "http://127.0.0.1:49374/mcp",
      "working": true
    },
    "evidence_strength": "readme_checked",
    "example_checks": [
      {
        "claim": "CLI full-text search finds the stored page",
        "command": "bash <guest-path> <guest-path> search zebra-lantern --workspace coldpass --project ailab",
        "deferred": false,
        "evidence": "1 result(s) for \"zebra-lantern\":\n  notes/coldpass-check.md  rank=-0.0000\n    coldpass-check\n    Coldpass probe: the <mark>zebra-lantern</mark> deployment uses port 7341.\n\u001b[2m2026-10-24T23:08:24.183649Z\u001b[0m \u001b[32m INFO\u001b[0m \u001b[2mai_memory_cli\u001b[0m\u001b[2m:\u001b[0m ai-memory starting \u001b[3mversion\u001b[0m\u001b[2m=\u001b[0m\"3.2.2\" \u001b[3mserver_url\u001b[0m\u001b[2m=\u001b[0mhttp://127.0.0.1:49374 \u001b[3mdata_dir\u001b[0m\u001b[2m=\u001b[0m<guest-path> \u001b[3mbind\u001b[0m\u001b[2m=\u001b[0m127.0.0.1:49374",
        "expected": "hit notes/coldpass-check.md",
        "input": "search zebra-lantern",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md (Everyday use)",
        "verdict": "yes"
      },
      {
        "claim": "CLI reads back a stored wiki page",
        "command": "bash <guest-path> <guest-path> read-page --path notes/coldpass-check.md --workspace coldpass --project ailab",
        "deferred": false,
        "evidence": "path: notes/coldpass-check.md\n\nColdpass probe: the zebra-lantern deployment uses port 7341.\n\u001b[2m2026-10-24T23:08:25.639743Z\u001b[0m \u001b[32m INFO\u001b[0m \u001b[2mai_memory_cli\u001b[0m\u001b[2m:\u001b[0m ai-memory starting \u001b[3mversion\u001b[0m\u001b[2m=\u001b[0m\"3.2.2\" \u001b[3mserver_url\u001b[0m\u001b[2m=\u001b[0mhttp://127.0.0.1:49374 \u001b[3mdata_dir\u001b[0m\u001b[2m=\u001b[0m<guest-path> \u001b[3mbind\u001b[0m\u001b[2m=\u001b[0m127.0.0.1:49374",
        "expected": "page body printed",
        "input": "read-page notes/coldpass-check.md",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md (Everyday use)",
        "verdict": "yes"
      }
    ],
    "status": "PASS"
  },
  "deviations": [
    "Cargo/Rust was not installed; the README's contributor build was not used. The README quick-start release installer was run instead, which installs the latest release, not the pinned commit. No git metadata was fetched, so the pinned commit was not verified against the installed binary.",
    "ai-memory setup --yes failed with 'Failed to connect to bus: No medium found' (no systemd user session in this VM). Re-ran with --no-service, as the README's own error message suggests, and started the server manually with serve --transport http.",
    "setup's self-check reported the server down before it was started; this is expected because the server was not yet running.",
    "The CLI read commands (search, read-page, forget-sweep) call the running server and fail with connection refused when it is stopped. The example and cycle checks therefore run through <guest-path>, a wrapper outside the checkout that starts the real ai-memory serve, runs the documented command, and stops the server.",
    "The MCP probe uses the root bearer token generated by setup at ~/.local/share/ai-memory/auth-tokens/default, not a separately created guest key. It is local to this disposable guest.",
    "The forget-sweep cycle is a manual run-once of a documented maintenance job. The server's scheduler was not triggered by a real clock; the scheduler tick itself was not observed firing. It returned no candidates (ledgers_pruned 0), so it shows the job runs, not that it removed data."
  ],
  "fault_owner": null,
  "main_blocker": null,
  "operation": "Install ai-memory with the README installer, run setup, start the local HTTP/MCP server, and store then search/read a wiki page through the MCP tool memory_query and the CLI.",
  "operation_scope": "Linux x86_64 guest (Ubuntu, Python 3.12.3), local loopback server 127.0.0.1:49374, zero-LLM mode, no agent wired, no systemd user bus. Product installed from the latest GitHub release (ai-memory 3.2.2), not built from the pinned commit 1bd866375b01031d63db54862a133376598d3701.",
  "outcome": "working",
  "plain_failure": null,
  "steps": [
    "curl -fsSL https://github.com/akitaonrails/ai-memory/releases/latest/download/install.sh | sh",
    "ai-memory setup --plan",
    "ai-memory setup --yes (failed on systemd user service: no bus)",
    "ai-memory setup --yes --no-service",
    "ai-memory serve --transport http --enable-web (started by hand, healthz returned {\"status\":\"ok\"})",
    "MCP tools/call memory_write_page path=notes/coldpass-check.md, then memory_read_page and memory_query for zebra-lantern (returned the stored body and snippet)",
    "ai-memory search zebra-lantern --workspace coldpass --project ailab",
    "ai-memory read-page --path notes/coldpass-check.md --workspace coldpass --project ailab",
    "ai-memory forget-sweep --workspace coldpass --project ailab (one manual cycle)",
    "<env-var>=<guest-path> python3 -I <guest-path> --validate --replay (valid: true, problems: [], replay PASS)"
  ],
  "stuck_step": null,
  "suggested_fix": "None needed for the operation. For a headless VM, setup should degrade cleanly when no systemd user bus is present, or say so up front instead of failing after writing the config. The README should note that the CLI commands require a running server."
}
