{
  "run_id": "kdsz001--OpenWiki-claude-haiku-5-5-1792786238565063931",
  "date": "2026-10-23T20:53:07.281505+00:00",
  "repo": "kdsz001/OpenWiki",
  "kind": "mcp",
  "source": "https://github.com/kdsz001/OpenWiki",
  "commit": "e182d9bf490c839c97f8627b4afd482689611429",
  "model": "claude-haiku-5-5",
  "model_version": "claude-haiku-5-5",
  "test_version": "readme-bdc1b9b3c0d2673aef87e076d14084a8123ddcf09d520c1ee2e364a37c3f4bb9",
  "pass": true,
  "outcome": "pass",
  "time_to_working_s": 2459.9409926170483,
  "total_s": 2548.7164113521576,
  "steps": [
    "cd <guest-path> && pwd && ls -la && git status 2>&1 | head -3; id -u; cat /etc/os-release | head -2; python3 --version",
    "cd <guest-path> && ls -la; find . -maxdepth 2 -iname 'README*' | head; ls /inputs 2>&1; ls <guest-path> 2>&1",
    "cd <guest-path> && cat README.md",
    "cd <guest-path> && git init -q && git remote add origin https://github.com/kdsz001/OpenWiki && git fetch --depth 1 origin e182d9bf490c839c97f8627b4afd482689611429 2>&1 | tail -3; git reset --mixed FETCH_HEAD 2>&1 | tail -2; git log --oneline -1; git status --short | head; echo ---; node -v 2>&1; npm -v 2>&1; cargo -V 2>&1; rustc -V 2>&1; cat package.json; ls src-tauri; ls src-tauri/scripts",
    "sudo -n true && echo SUDO_OK; (sudo apt-get update -qq 2>&1 | tail -2); apt-cache policy nodejs npm 2>/dev/null | head -6; which curl",
    "sudo DEBIAN_FRONTEND=noninteractive apt-get install -y -qq nodejs npm build-essential pkg-config libssl-dev libwebkit2gtk-4.1-dev libxdo-dev libayatana-appindicator3-dev librsvg2-dev libgtk-3-dev patchelf python3-venv >/tmp/apt.log 2>&1; echo rc=$?; tail -3 /tmp/apt.log; node -v; npm -v",
    "cd /tmp && curl -sSf https://sh.rustup.rs -o /tmp/rustup-init.sh && sh /tmp/rustup-init.sh -y --profile minimal --default-toolchain stable >/tmp/rustup.log 2>&1; echo rc=$?; tail -3 /tmp/rustup.log; . $HOME/.cargo/env && cargo -V && rustc -V",
    "cd <guest-path> && export NODE_USE_ENV_PROXY=1 && npm install > /tmp/npm-install.log 2>&1; echo rc=$?; tail -15 /tmp/npm-install.log",
    "cd <guest-path> && ls -R src | head -80; grep -rn -i \"mcp\" --include=*.rs . | head -30; grep -n \"\\[\\[bin\\]\\]\\|\\[features\\]\\|\\[dependencies\\]\" -A3 Cargo.toml | head -30",
    "cd <guest-path> && sed -n 1,80p src/mcp_server.rs; echo ----; cat scripts/setup_markitdown.sh | head -80",
    "cd <guest-path> && nohup ./src-tauri/scripts/setup_markitdown.sh > /tmp/markitdown.log 2>&1 &\nsleep 5; tail -3 /tmp/markitdown.log; grep -n '\"resources\"\\|\"targets\"\\|\"externalBin\"' -A4 <guest-path> | head -30",
    "sleep 240; tail -5 /tmp/markitdown.log; pgrep -fa setup_markitdown | head -2",
    "cd <guest-path> && . $HOME/.cargo/env && export NODE_USE_ENV_PROXY=1 && nohup npm run tauri build > /tmp/tauri-build.log 2>&1 &\nsleep 200; tail -4 /tmp/tauri-build.log",
    "sleep 230; tail -4 /tmp/tauri-build.log; pgrep -f \"tauri build\" >/dev/null && echo RUNNING || echo DONE",
    "sleep 240; tail -4 /tmp/tauri-build.log; pgrep -f \"tauri build\" >/dev/null && echo RUNNING || echo DONE",
    "sleep 120; tail -4 /tmp/tauri-build.log; pgrep -f \"tauri build\" >/dev/null && echo RUNNING || echo DONE; ls <guest-path> 2>/dev/null",
    "cd <guest-path> && grep -n \"fn get_db_path\" -A25 src/storage/database.rs | head -45; grep -n \"identifier\\|productName\" tauri.conf.json",
    "sleep 60; tail -2 /tmp/tauri-build.log; pgrep -f \"tauri build\" >/dev/null && echo RUNNING || echo DONE; ls -la ~/.local/share/com.openwiki.app 2>&1; echo HOME=$HOME; echo DISPLAY=$DISPLAY; which xvfb-run Xvfb 2>&1",
    "sudo DEBIAN_FRONTEND=noninteractive apt-get install -y -qq xvfb xauth >/tmp/xvfb.log 2>&1; echo rc=$?; which xvfb-run; sleep 100; tail -2 /tmp/tauri-build.log; pgrep -f \"tauri build\" >/dev/null && echo RUNNING || echo DONE",
    "sleep 180; tail -3 /tmp/tauri-build.log; pgrep -f \"tauri build\" >/dev/null && echo RUNNING || echo DONE; ls -la <guest-path>",
    "timeout 20 curl -sSI https://github.com/linuxdeploy/linuxdeploy-plugin-appimage/releases/download/continuous/linuxdeploy-plugin-appimage-x86_64.AppImage 2>&1 | head -3; echo rc=$?; env | grep -i proxy | sed 's/=.*@/=***@/' | head -3",
    "sleep 200; tail -2 /tmp/tauri-build.log; pgrep -f \"tauri build\" >/dev/null && echo RUNNING || echo DONE; ls <guest-path>",
    "sleep 30; tail -3 /tmp/tauri-build.log; pgrep -f \"tauri build\" >/dev/null && echo RUNNING || echo DONE",
    "sleep 20; pgrep -f \"tauri build\" >/dev/null && echo RUNNING || echo DONE; grep -i \"error\\|finished\" /tmp/tauri-build.log | tail -3; ls <guest-path> | head -20",
    "cd <guest-path> && grep -rln -i \"telemetry\\|analytics\" src src-tauri/src | head; (timeout 40 xvfb-run -a ./src-tauri/target/release/openwiki > /tmp/app-run.log 2>&1; echo \"exit=$?\" >> /tmp/app-run.log) ; tail -15 /tmp/app-run.log; ls -la ~/.local/share/com.openwiki.app 2>&1",
    "cd <guest-path> && grep -n \"fn tools()\" -A40 src/mcp_server.rs | head -60; grep -n \"fn initialize\" -A12 src/mcp_server.rs | head -20",
    "cd <guest-path> && grep -n \"MCP_ARG\\|\\\"args\\\"\\|--mcp\\|current_exe\" src/commands/mcp.rs | head; cd <guest-path> && printf '%s\\n' '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"initialize\",\"params\":{\"protocolVersion\":\"2025-06-18\"}}' '{\"jsonrpc\":\"2.0\",\"method\":\"notifications/initialized\"}' '{\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"tools/call\",\"params\":{\"name\":\"list_tables\",\"arguments\":{}}}' | timeout 20 ./src-tauri/target/release/openwiki --mcp; echo rc=$?",
    "cd <guest-path> && sed -n 1,60p scheduler/mod.rs; echo ----; grep -n \"pub fn\\|fn \" scheduler/weekly.rs | head -20; grep -n \"sleep\\|interval\\|Duration\" scheduler/mod.rs | head",
    "cd <guest-path> && sed -n 1,56p scheduler/weekly.rs; sed -n 110,135p scheduler/weekly.rs",
    "cd <guest-path> && printf '%s\\n' '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"initialize\",\"params\":{}}' '{\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"tools/call\",\"params\":{\"name\":\"describe_table\",\"arguments\":{\"table_name\":\"captured_content\"}}}' | timeout 20 ./src-tauri/target/release/openwiki --mcp | tail -1 | head -c 1200; echo; echo rc=$?; pgrep -fa \"release/openwiki|xvfb\" | grep -v pgrep | head -3",
    "cd <guest-path> && mkdir -p .coldpass && ls -la .coldpass && BIN=<guest-path> && cat > .coldpass/probe.json <<EOF\n{\"kind\":\"mcp\",\"argv\":[\"$BIN\",\"--mcp\"],\"cwd\":\"<guest-path>\",\"tool\":\"list_tables\",\"arguments\":{},\"expected_text\":\"captured_content\"}\nEOF\ncat > .coldpass/claims.json <<EOF\n[\n {\"kind\":\"claim\",\"claim\":\"OpenWiki exposes its local database to connected AI apps through a read-only MCP server\",\"source\":\"MCP protocol integration \u2014 connect to Claude Desktop\",\"input\":\"list_tables\",\"expected\":\"tables list includes captured_content\",\"probe_kind\":\"mcp\",\"argv\":[\"$BIN\",\"--mcp\"],\"tool\":\"list_tables\",\"arguments\":{},\"expected_text\":\"captured_content\",\"cwd\":\"<guest-path>\"},\n {\"kind\":\"claim\",\"claim\":\"All data is stored in a local SQLite database\",\"source\":\"Privacy first \u2014 all data stored in local SQLite database.\",\"input\":\"describe_table captured_content\",\"expected\":\"captured_content columns include source_bundle_id\",\"probe_kind\":\"mcp\",\"argv\":[\"$BIN\",\"--mcp\"],\"tool\":\"describe_table\",\"arguments\":{\"table_name\":\"captured_content\"},\"expected_text\":\"source_bundle_id\",\"cwd\":\"<guest-path>\"}\n]\nEOF\ncat > .coldpass/cycles.json <<'EOF'\n{\"detected\":true,\"checks\":[{\"claim\":\"Background insight scheduler re-checks and auto-generates the attention report every 6 hours\",\"source\":\"src-tauri/src/scheduler/weekly.rs\",\"quote\":\"tokio::time::sleep(Duration::from_secs(CHECK_INTERVAL_SECS)).await;\",\"schedule\":\"every 6 hours (CHECK_INTERVAL_SECS) after a 90 s startup delay\",\"testable\":false,\"reason\":\"Trigger requires a configured AI provider (API key, OAuth, or local model) and a live LLM call; none is available in this guest. The 6-hour loop cannot be triggered by hand, and no CLI entry point runs should_auto_trigger. Only the pure decision function is covered by the repo's offline unit tests, which do not count as a cycle.\"}]}\nEOF\ncat > .coldpass/examples.json <<'EOF'\n[{\"kind\":\"example\",\"claim\":\"Build the bundled MarkItDown document converter before release bundles\",\"source\":\"README.md Getting Started (Before creating release bundles, prepare the bundled document converter)\",\"reason\":\"Ran ./src-tauri/scripts/setup_markitdown.sh successfully; its built-in smoke test is setup, not a finite user example. The README documents no other runnable example, and no test command is documented in the README.\"}]\nEOF\npython3 -I -m json.tool .coldpass/probe.json >/dev/null && python3 -I -m json.tool .coldpass/claims.json >/dev/null && python3 -I -m json.tool .coldpass/cycles.json >/dev/null && python3 -I -m json.tool .coldpass/examples.json >/dev/null && echo JSON_OK",
    "cd <guest-path> && <env-var>=<guest-path> python3 -I <guest-path> --validate --replay 2>&1 | tail -40; echo rc=${PIPESTATUS[0]}",
    "cd <guest-path> && pgrep -fa \"target/release/openwiki|Xvfb|xvfb-run\" | grep -v pgrep | head; echo \"procs-checked\"; mkdir -p .coldpass && cat > .coldpass/report.json <<'EOF'\n{\"outcome\":\"working\",\"fault_owner\":null,\"operation\":\"Build OpenWiki with the README's npm/Tauri commands, launch the built app, and read the local knowledge-base database through its read-only MCP server (OpenWiki --mcp) using a real tool call (list_tables returned captured_content).\",\"operation_scope\":\"Linux Ubuntu 24.04 guest (README targets macOS/Windows). Covers build, GUI start under a virtual display, and the stdio MCP server. Not covered: the macOS/Windows installers, the Ask/wiki features that need an AI provider, and the 6-hour background insight scheduler, which needs a configured AI provider and was not triggered.\",\"steps\":[\"git init; git remote add origin https://github.com/kdsz001/OpenWiki; git fetch --depth 1 origin e182d9bf490c839c97f8627b4afd482689611429; git reset --mixed FETCH_HEAD\",\"sudo apt-get install nodejs npm (plus Tauri Linux packages: build-essential, libwebkit2gtk-4.1-dev, libayatana-appindicator3-dev, librsvg2-dev, libgtk-3-dev, patchelf, python3-venv)\",\"curl https://sh.rustup.rs | sh -s -- -y --profile minimal (Rust stable 1.99.1)\",\"npm install\",\"./src-tauri/scripts/setup_markitdown.sh\",\"npm run tauri build\",\"xvfb-run -a ./src-tauri/target/release/openwiki (GUI started, created ~/.local/share/com.openwiki.app/openwiki.db, stopped by timeout)\",\"./src-tauri/target/release/openwiki --mcp (JSON-RPC initialize + tools/call list_tables and describe_table over stdio)\"],\"deviations\":[\"README lists macOS and Windows only; ran on Linux. Installed Node 18.19.1 and npm 9.2.0 from Ubuntu apt (meets Node 18+), and Rust via rustup, plus Tauri Linux system packages via sudo apt-get.\",\"npm run tauri build finished the deb, rpm and AppImage bundles, but the AppImage step was slow (GitHub downloads of linuxdeploy plugins took several minutes); it completed.\",\"No display in the guest: GUI launched under xvfb-run (Xvfb installed via apt). dbus-launch warnings from the tray library were harmless.\",\"The MCP probe argv (openwiki --mcp) is not in the README. It was taken from src-tauri/src/mcp_server.rs and src-tauri/src/commands/mcp.rs, which writes that same command into AI-app configs when the user connects in Settings. The README only mentions 'MCP protocol integration'.\",\"Cycle check: the insight scheduler (src-tauri/src/scheduler/weekly.rs) runs every 6 hours and needs an AI provider (API key or OAuth), which is not available here, so it was recorded as untestable, not triggered.\",\"No documented runnable examples or test commands beyond the setup script; recorded as a reason entry in examples.json.\",\"Telemetry/consent: no prompt was encountered during the GUI first run; no option was chosen.\"],\"stuck_step\":null,\"main_blocker\":null,\"plain_failure\":null,\"suggested_fix\":\"None required for the product. For clearer docs: list Linux as a build-only platform, document the --mcp entry point in the README, and state that the scheduler requires an AI provider.\"}\nEOF\npython3 -I -m json.tool .coldpass/report.json >/dev/null && echo REPORT_OK && <env-var>=<guest-path> python3 -I <guest-path> --validate --replay 2>&1 | head -c 300; echo; echo rc=${PIPESTATUS[0]}"
  ],
  "stuck_step": null,
  "error_excerpt": null,
  "what_it_did": "Build OpenWiki with the README's npm/Tauri commands, launch the built app, and read the local knowledge-base database through its read-only MCP server (OpenWiki --mcp) using a real tool call (list_tables returned captured_content).",
  "suggested_fix": null,
  "tokens_in": 908601,
  "tokens_out": 16784,
  "cost_usd": 0.027161030000000003,
  "usage_complete": true,
  "checks": [
    {
      "check": "operation",
      "status": "PASS",
      "details": {
        "working": true,
        "argv": [
          "<guest-path>",
          "--mcp"
        ],
        "kind": "mcp",
        "serverInfo": {
          "name": "openwiki",
          "version": "0.3.28"
        },
        "tools": [
          "read_query",
          "list_tables",
          "describe_table"
        ],
        "tool_schema_bytes": 669,
        "tool_result": {
          "content": [
            {
              "text": "[\n  {\n    \"name\": \"app_settings\"\n  },\n  {\n    \"name\": \"attention_insights\"\n  },\n  {\n    \"name\": \"captured_content\"\n  },\n  {\n    \"name\": \"chat_messages\"\n  },\n  {\n    \"name\": \"report_sections\"\n  },\n  {\n    \"name\": \"sqlite_sequence\"\n  },\n  {\n    \"name\": \"user_feedback\"\n  },\n  {\n    \"name\": \"user_preferences\"\n  },\n  {\n    \"name\": \"weekly_reports\"\n  },\n  {\n    \"name\": \"wiki_chat_messages\"\n  },\n  {\n    \"name\": \"wiki_chat_sessions\"\n  },\n  {\n    \"name\": \"wiki_compile_log\"\n  },\n  {\n    \"name\": \"wiki_conversations\"\n  },\n  {\n    \"name\": \"wiki_edges\"\n  },\n  {\n    \"name\": \"wiki_lint_results\"\n  },\n  {\n    \"name\": \"wiki_page_sources\"\n  },\n  {\n    \"name\": \"wiki_pages\"\n  },\n  {\n    \"name\": \"wiki_pages_fts\"\n  },\n  {\n    \"name\": \"wiki_pages_fts_config\"\n  },\n  {\n    \"name\": \"wiki_pages_fts_content\"\n  },\n  {\n    \"name\": \"wiki_pages_fts_data\"\n  },\n  {\n    \"name\": \"wiki_pages_fts_docsize\"\n  },\n  {\n    \"name\": \"wiki_pages_fts_idx\"\n  }\n]",
              "type": "text"
            }
          ]
        },
        "tool_result_checked": true,
        "scope": "product operation"
      }
    }
  ],
  "safety": {
    "version": "z2x-1",
    "rules_version": "z2x-1",
    "summary": "Review signals: 1 connection review, 4 hardcoded secret, 120 known vulnerability, 1 outside write, 1 sensitive read.",
    "expected": "Reviewed as expected for a test run: a Python interpreter or package manager probed its own interpreter file under a system program folder; package managers (cargo) downloaded dependencies over HTTPS; resolver address lookups that send no data; wrote only to its own open file handles.",
    "findings": [
      {
        "kind": "connection-review",
        "count": 1,
        "note": "Repository processes attempted these non-loopback connections; proxies can hide the final hostname.",
        "location_count": 17,
        "process_count": 7
      },
      {
        "kind": "hardcoded-secret",
        "count": 4,
        "note": "Gitleaks found a possible hardcoded secret; value withheld.",
        "location_count": 2
      },
      {
        "kind": "known-vulnerability",
        "count": 120,
        "note": "OSV reports a known vulnerability in this dependency version.",
        "location_count": 48
      },
      {
        "kind": "outside-write",
        "count": 1,
        "note": "Repository processes attempted these writes outside documented output/cache paths.",
        "location_count": 2,
        "process_count": 3
      },
      {
        "kind": "sensitive-read",
        "count": 1,
        "note": "A repository process attempted to read this sensitive path.",
        "location_count": 1,
        "path": "<guest-path>",
        "process_count": 1,
        "processes": [
          {
            "created_in_run": false,
            "executable": "/usr/lib/x86_64-linux-gnu/webkit2gtk-4.1/WebKitNetworkProcess",
            "owner": "repo",
            "path": "<guest-path>",
            "pid": "25853",
            "source": "<guest-path>",
            "succeeded": false,
            "syscall": "openat",
            "trace": "25.trace"
          }
        ]
      }
    ],
    "context": [],
    "limitations": [
      "A short run cannot establish that code is safe.",
      "Connections show IP addresses; proxies can hide the final hostname.",
      "Tracing covers dispatched commands and their children, not the whole OS; guest root can interfere with tracing."
    ],
    "static": {
      "dependency_note": "OSV scanned supported lockfiles; unpinned dependencies and unsupported formats are outside this check."
    },
    "evidence_url": "/safety/?run=kdsz001--OpenWiki-claude-haiku-5-5-1792786238565063931",
    "evidence_file": "/data/safety/kdsz001--OpenWiki-claude-haiku-5-5-1792786238565063931.json.gz"
  },
  "agent_execution": "native_agent",
  "agent_runtime": "claude-code",
  "agent_runtime_version": "2.1.300 (Claude Code)",
  "tool_transport": "mcp-assigned-vm",
  "platform": "linux",
  "reasoning": "low",
  "service_tier": null,
  "resources": {
    "cpus": 2,
    "memory_mib": 4096,
    "disk_mib": 32768
  },
  "native_tool_calls": 33,
  "native_bundle": null,
  "architecture": null,
  "backend": "hyperv",
  "platform_details": {
    "backend": "hyperv",
    "os": "linux"
  },
  "platform_conflicts": null,
  "sandbox_source": null,
  "source_pin": {
    "commit": "e182d9bf490c839c97f8627b4afd482689611429",
    "url": "https://github.com/kdsz001/OpenWiki"
  },
  "purpose": "initial",
  "profile": {
    "model": "claude-haiku-5-5",
    "reasoning": "low"
  },
  "fault": {
    "owner": null,
    "status": "resolved",
    "reason": null
  },
  "fix_id": null,
  "verifies_run_id": null,
  "hosting": null,
  "operation_scope": "product operation",
  "tool_calls": 33,
  "guest_setup": null,
  "runtime": null,
  "runtime_version": null,
  "runtime_revision": null,
  "source_revision": null,
  "evidence_version": null,
  "failure_origin": null,
  "evidence_strength": "readme_checked",
  "works": "yes",
  "install_s": null,
  "first_use_s": null,
  "mcp": "local",
  "needs": [],
  "needs_which": null,
  "agent_interface": [
    "mcp"
  ],
  "license": "MIT",
  "repo_url": "https://github.com/kdsz001/OpenWiki",
  "cost_to_try": "free",
  "hardware": null,
  "what_failed": null,
  "local_or_hosted": "local",
  "cycle_checks": [
    {
      "kind": "cycle",
      "claim": "Background insight scheduler re-checks and auto-generates the attention report every 6 hours",
      "source": "src-tauri/src/scheduler/weekly.rs",
      "input": "",
      "expected": "",
      "command": "",
      "schedule": "every 6 hours (CHECK_INTERVAL_SECS) after a 90 s startup delay",
      "method": "",
      "verdict": "blocked",
      "outcome": "Trigger requires a configured AI provider (API key, OAuth, or local model) and a live LLM call; none is available in this guest. The 6-hour loop cannot be triggered by hand, and no CLI entry point runs should_auto_trigger. Only the pure decision function is covered by the repo's offline unit tests, which do not count as a cycle.",
      "evidence": "Trigger requires a configured AI provider (API key, OAuth, or local model) and a live LLM call; none is available in this guest. The 6-hour loop cannot be triggered by hand, and no CLI entry point runs should_auto_trigger. Only the pure decision function is covered by the repo's offline unit tests, which do not count as a cycle."
    }
  ],
  "claims": [
    {
      "kind": "claim",
      "claim": "OpenWiki exposes its local database to connected AI apps through a read-only MCP server",
      "source": "MCP protocol integration \u2014 connect to Claude Desktop",
      "input": "{\"tool\": \"list_tables\", \"arguments\": {}}",
      "expected": "tables list includes captured_content",
      "command": "<guest-path> --mcp tools/call {\"tool\": \"list_tables\", \"arguments\": {}}",
      "verdict": "yes",
      "outcome": "Real input produced the expected result: captured_content",
      "evidence": "captured_content\\\"\\n  },\\n  {\\n    \\\"name\\\": \\\"chat_messages\\\"\\n  },\\n  {\\n    \\\"name\\\": \\\"report_sections\\\"\\n  },\\n  {\\n    \\\"name\\\": \\\"sqlite_sequence\\\"\\n  },\\n  {\\n    \\\"name\\\": \\\"user_feedback\\\"\\n  },\\n  {\\n    \\\"name\\\": \\\"user_preferences\\\"\\n  },\\n  {\\n    \\\"name\\\": \\\"weekly_reports\\\"\\n  },\\n  {\\n    \\\"name\\\": \\\"wiki_chat_messages\\\"\\n  },\\n  {\\n    \\\"name\\\": \\\"wiki_chat_sessions\\\"\\n  },\\n  {\\n    \\\"name\\\": \\\"wiki_compile_log\\\"\\n  },\\n  {\\n    \\\"name\\\": \\\"wiki_conversations\\\"\\n  },\\n  {\\n    \\\"name\\\": \\\"wiki_edges\\\"\\n  },\\n  {\\n    \\\"name\\\": \\\"wiki_lint_results\\\"\\n  },\\n  {\\n    \\\"name\\\": ",
      "source_checked": true,
      "source_file": "README.md"
    },
    {
      "kind": "claim",
      "claim": "All data is stored in a local SQLite database",
      "source": "Privacy first \u2014 all data stored in local SQLite database.",
      "input": "{\"tool\": \"describe_table\", \"arguments\": {\"table_name\": \"captured_content\"}}",
      "expected": "captured_content columns include source_bundle_id",
      "command": "<guest-path> --mcp tools/call {\"tool\": \"describe_table\", \"arguments\": {\"table_name\": \"captured_content\"}}",
      "verdict": "yes",
      "outcome": "Real input produced the expected result: source_bundle_id",
      "evidence": "source_bundle_id\\\",\\n    \\\"notnull\\\": 0,\\n    \\\"pk\\\": 0,\\n    \\\"type\\\": \\\"TEXT\\\"\\n  },\\n  {\\n    \\\"cid\\\": 7,\\n    \\\"dflt_value\\\": null,\\n    \\\"name\\\": \\\"source_url\\\",\\n    \\\"notnull\\\": 0,\\n    \\\"pk\\\": 0,\\n    \\\"type\\\": \\\"TEXT\\\"\\n  },\\n  {\\n    \\\"cid\\\": 8,\\n    \\\"dflt_value\\\": null,\\n    \\\"name\\\": \\\"captured_at\\\",\\n    \\\"notnull\\\": 1,\\n    \\\"pk\\\": 0,\\n    \\\"type\\\": \\\"TEXT\\\"\\n  },\\n  {\\n    \\\"cid\\\": 9,\\n    \\\"dflt_value\\\": null,\\n    \\\"name\\\": \\\"content_hash\\\",\\n    \\\"notnull\\\": 1,\\n    \\\"pk\\\": 0,\\n    \\\"type\\\": \\\"TEXT\\\"\\n  },\\n  {\\n    \\\"cid\\\": 10,\\n    \\\"dflt_value\\\": \\\"0\\\",\\n    \\\"name\\\": \\\"b",
      "source_checked": true,
      "source_file": "README.md"
    }
  ],
  "claims_note": null,
  "example_checks": [
    {
      "kind": "example",
      "claim": "Build the bundled MarkItDown document converter before release bundles",
      "source": "README.md Getting Started (Before creating release bundles, prepare the bundled document converter)",
      "input": "",
      "command": "",
      "evidence": "Ran ./src-tauri/scripts/setup_markitdown.sh successfully; its built-in smoke test is setup, not a finite user example. The README documents no other runnable example, and no test command is documented in the README.",
      "deferred": false,
      "expected": "documented command completes successfully",
      "verdict": "blocked",
      "outcome": "Ran ./src-tauri/scripts/setup_markitdown.sh successfully; its built-in smoke test is setup, not a finite user example. The README documents no other runnable example, and no test command is documented in the README."
    }
  ],
  "does_what_it_says": "yes",
  "maintenance": {
    "last_commit_at": "2026-10-07T16:00:36Z",
    "commits_90d": 33,
    "merged_prs_90d": 0,
    "open_issues": 10,
    "open_prs": 9,
    "reply_share": 0.55,
    "reply_threads": 29,
    "median_reply_hours": 67.2,
    "last_release_at": "2026-10-07T16:14:13Z",
    "archived": false,
    "verdict": "maintained",
    "note": "actively maintained: last commit 16 days ago; 33 commits and 0 merged PRs in 90 days; 10 open issues, 9 open PRs; 16 of 29 recent threads got a maintainer reply, median first reply 67.2h; latest release 2026-10-07"
  },
  "maintenance_verdict": "maintained",
  "maintenance_note": "actively maintained: last commit 16 days ago; 33 commits and 0 merged PRs in 90 days; 10 open issues, 9 open PRs; 16 of 29 recent threads got a maintainer reply, median first reply 67.2h; latest release 2026-10-07",
  "maintained": "active",
  "maintained_note": "last commit 16 days ago; 8 open issues, 14 answered or closed",
  "last_commit_at": "2026-10-07T16:00:56Z",
  "last_release_at": "2026-10-07T16:14:13Z",
  "open_issues": 8,
  "answered_issues": 14,
  "platforms_claimed": [
    "linux",
    "mac",
    "windows"
  ],
  "topic": "mcp-server",
  "agent_interfaces": [
    {
      "interface": "mcp",
      "evidence": "independent checker",
      "observed": true,
      "operation_checked": true
    }
  ],
  "agent_interfaces_note": "README metadata is a discovery hint, not pinned documentation proof. Observed interfaces were exercised in this run. An empty list means unknown.",
  "mcp_context": {
    "tool_count": 3,
    "schema_bytes": 669,
    "tokens_approx": 168,
    "estimate_method": "ceil(compact UTF-8 tools/list JSON bytes / 4)",
    "scope": "returned tools/list page only; excludes client framing and tool results"
  },
  "tested_at": "2026-10-23T20:53:07.281505+00:00",
  "tested_commit": "e182d9bf490c839c97f8627b4afd482689611429",
  "tested_with": {
    "agent": "claude-code",
    "agent_version": "2.1.300 (Claude Code)",
    "model": "claude-haiku-5-5",
    "model_route": "claude-haiku-5-5",
    "reasoning": "low",
    "os": "linux",
    "backend": "hyperv",
    "transport": "mcp-assigned-vm"
  },
  "setup_identity": {
    "repo": "kdsz001/OpenWiki",
    "source": "https://github.com/kdsz001/OpenWiki",
    "commit": "e182d9bf490c839c97f8627b4afd482689611429",
    "source_revision": null,
    "os": "linux",
    "architecture": null,
    "backend": "hyperv",
    "model": "claude-haiku-5-5",
    "model_version": "claude-haiku-5-5",
    "agent_execution": "native_agent",
    "agent_runtime": "claude-code",
    "agent_runtime_version": "2.1.300 (Claude Code)",
    "tool_transport": "mcp-assigned-vm",
    "runtime": null,
    "runtime_version": null,
    "runtime_revision": null,
    "sandbox_source": null,
    "guest_setup": null,
    "source_pin": {
      "commit": "e182d9bf490c839c97f8627b4afd482689611429",
      "url": "https://github.com/kdsz001/OpenWiki"
    },
    "platform_details": {
      "os": "linux",
      "backend": "hyperv"
    },
    "platform_conflicts": null,
    "reasoning": "low",
    "service_tier": null,
    "resources": {
      "cpus": 2,
      "memory_mib": 4096,
      "disk_mib": 32768
    },
    "operation": "Build OpenWiki with the README's npm/Tauri commands, launch the built app, and read the local knowledge-base database through its read-only MCP server (OpenWiki --mcp) using a real tool call (list_tables returned captured_content).",
    "operation_scope": "product operation",
    "hosting": null,
    "kind": "mcp",
    "test_version": "readme-bdc1b9b3c0d2673aef87e076d14084a8123ddcf09d520c1ee2e364a37c3f4bb9",
    "evidence_version": null
  },
  "other_model": null,
  "other_run_id": null,
  "models_agree": null,
  "furthest_model": null,
  "transcript_url": null,
  "report_url": "/reports/kdsz001--OpenWiki-claude-haiku-5-5-1792786238565063931.json"
}
