{
  "run_id": "shannhk--llm-wikid-claude-haiku-5-5-1792807532382940984",
  "checker": {
    "claims": [
      {
        "claim": "qmd exposes the wiki to an agent through a built-in MCP server",
        "command": "qmd mcp tools/call {\"tool\": \"get\", \"arguments\": {\"file\": \"qmd://my-wiki/log.md\"}}",
        "evidence": "Append-only timeline of all wiki operations\\\"\\n4: date_created: {{date}}\\n5: date_modified: {{date}}\\n6: explored: false\\n7: confidence: medium\\n8: ---\\n9: \\n10: # Wiki Log\\n11: \\n12: | Date | Operation | Pages Touched | Notes |\\n13: |------|-----------|---------------|-------|\\n14: \"}}]}",
        "expected": "the wiki log page text is returned",
        "input": "{\"tool\": \"get\", \"arguments\": {\"file\": \"qmd://my-wiki/log.md\"}}",
        "kind": "claim",
        "outcome": "Real input produced the expected result: Append-only timeline of all wiki operations",
        "source": "qmd has a built-in MCP server so your agent can use it as a native tool:",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      },
      {
        "claim": "qmd search runs BM25 keyword search over the wiki",
        "command": "qmd search Append-only",
        "evidence": "Wiki Log\nScore:  61%\n\n@@ -2,4 @@ (1 before, 9 after)\ntitle: \"Wiki Log\"\ntldr: \"Append-only timeline of all wiki operations\"\ndate_created: {{date}}\ndate_modified: {{date}}\n",
        "expected": "the Wiki Log page is listed as a match",
        "input": "Append-only",
        "kind": "claim",
        "outcome": "Real input produced the expected result: Wiki Log",
        "returncode": 0,
        "source": "qmd search \"query\"        # BM25 keyword search (fast)",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      },
      {
        "claim": "qmd vsearch runs vector semantic search over the wiki",
        "command": "qmd vsearch 'append-only timeline'",
        "evidence": "Append-only timeline of all wiki operations\"\ndate_created: {{date}}\ndate_modified: {{date}}\n\u251c\u2500 append-only timeline\n\u251c\u2500 vec: definition of append-only and its applications\n\u251c\u2500 vec: importance of append-only for data integrity\n\u2514\u2500 hyde: Understanding append-only timeline is essential for modern developmen...\nSearching 4 vector queries...\nQMD Warning: no GPU acceleration, running on CPU (slow). Run 'qmd doctor' for device diagnostics.\n",
        "expected": "the Wiki Log page is returned by vector search",
        "input": "append-only timeline",
        "kind": "claim",
        "outcome": "Real input produced the expected result: Append-only timeline of all wiki operations",
        "returncode": 0,
        "source": "qmd vsearch \"query\"       # vector semantic search",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      }
    ],
    "cycle_checks": [
      {
        "claim": "Scheduled or looping main behavior",
        "command": "",
        "evidence": "Entry points inspected: README.md (no cron/loop/--once product command; 'Claude Dispatch' /schedule and cron are remote Claude Code scheduling, not a product command), scripts/update-hot-cache.sh (Stop hook run by Claude Code, which calls 'claude -p' in a background subshell and writes wiki/hot.md asynchronously; Claude Code is not installed and its output is not on stdout), and .claude/commands/*.md (manual slash commands). No runnable product cycle could be triggered and observed here, so no cycle check was recorded.",
        "expected": "identify the product trigger",
        "input": "source inspection",
        "kind": "cycle",
        "outcome": "Entry points inspected: README.md (no cron/loop/--once product command; 'Claude Dispatch' /schedule and cron are remote Claude Code scheduling, not a product command), scripts/update-hot-cache.sh (Stop hook run by Claude Code, which calls 'claude -p' in a background subshell and writes wiki/hot.md asynchronously; Claude Code is not installed and its output is not on stdout), and .claude/commands/*.md (manual slash commands). No runnable product cycle could be triggered and observed here, so no cycle check was recorded.",
        "source": "repository entry points",
        "verdict": "yes"
      }
    ],
    "details": {
      "argv": [
        "qmd",
        "mcp"
      ],
      "kind": "mcp",
      "scope": "product operation",
      "serverInfo": {
        "name": "qmd",
        "version": "2.8.3"
      },
      "tool_result": {
        "content": [
          {
            "resource": {
              "mimeType": "text/markdown",
              "text": "1: ---\n2: title: \"Wiki Log\"\n3: tldr: \"Append-only timeline of all wiki operations\"\n4: date_created: {{date}}\n5: date_modified: {{date}}\n6: explored: false\n7: confidence: medium\n8: ---\n9: \n10: # Wiki Log\n11: \n12: | Date | Operation | Pages Touched | Notes |\n13: |------|-----------|---------------|-------|\n14: ",
              "uri": "qmd://my-wiki/log.md"
            },
            "type": "resource"
          }
        ]
      },
      "tool_result_checked": true,
      "tool_schema_bytes": 6510,
      "tools": [
        "query",
        "get",
        "multi_get",
        "status"
      ],
      "working": true
    },
    "evidence_strength": "readme_checked",
    "example_checks": [
      {
        "claim": "hybrid query with LLM re-ranking returns wiki pages",
        "command": "qmd query 'append-only timeline'",
        "deferred": false,
        "evidence": "fore, 66 after)\n---\ntitle: \"Wiki Dashboard\"\ntldr: \"Dataview dashboard for browsing wiki stats and recent activity\"\nExpanding query... (0ms)\n\u251c\u2500 append-only timeline\n\u251c\u2500 lex: definition of append-only\n\u251c\u2500 lex: importance of append-only\n\u251c\u2500 vec: definition of append-only and its applications\n\u251c\u2500 vec: importance of append-only for data integrity\n\u2514\u2500 hyde: Understanding append-only timeline is essential for modern developmen...\nSearching 6 queries...\nEmbedding 4 queries...QMD Warning: no GPU acceleration, running on CPU (slow). Run 'qmd doctor' for device diagnostics.\n (8.1s)\nReranking 5 chunks... (2ms)",
        "expected": "wiki pages are listed, including the Wiki Dashboard",
        "input": "append-only timeline",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md ## Search (qmd)",
        "verdict": "yes"
      },
      {
        "claim": "/wiki-ingest, /wiki-query, /wiki-lint and other slash commands run inside Claude Code",
        "command": "",
        "deferred": false,
        "evidence": "Missing prerequisite: the commands are Claude Code slash commands that need an interactive Claude Code agent with LLM credentials. Claude Code is not installed in this guest and no API credentials were supplied, so these were not run. Inspected .claude/commands/*.md instead.",
        "expected": "documented command completes successfully",
        "input": "",
        "kind": "example",
        "outcome": "Missing prerequisite: the commands are Claude Code slash commands that need an interactive Claude Code agent with LLM credentials. Claude Code is not installed in this guest and no API credentials were supplied, so these were not run. Inspected .claude/commands/*.md instead.",
        "source": "README.md ## Commands",
        "verdict": "blocked"
      },
      {
        "claim": "optional Obsidian and X API ingest tools",
        "command": "",
        "deferred": false,
        "evidence": "Missing prerequisites: yt-dlp, scrapling, summarize and X API OAuth keys are not installed or configured here; the ingest pipeline that uses them runs only inside the agent, so they were not run.",
        "expected": "documented command completes successfully",
        "input": "",
        "kind": "example",
        "outcome": "Missing prerequisites: yt-dlp, scrapling, summarize and X API OAuth keys are not installed or configured here; the ingest pipeline that uses them runs only inside the agent, so they were not run.",
        "source": "README.md ## Optional Tools",
        "verdict": "blocked"
      }
    ],
    "status": "PASS"
  },
  "diagnosis": null
}
