{
  "run_id": "aas-ee--open-websearch-claude-haiku-5-5-1793199152070992688",
  "checker": {
    "claims": [
      {
        "claim": "MCP search returns structured results with titles, URLs and descriptions",
        "command": "node build/index.js tools/call {\"tool\": \"search\", \"arguments\": {\"query\": \"open web search\", \"limit\": 3, \"engines\": [\"duckduckgo\"]}}",
        "evidence": "\u2026open-websearch</b> provides an MCP server, CLI, and local daemon, and can also be paired with skill-guided agent workflows for live <b>web</b> <b>search</b> and content retrieval without API keys. On first use, the skill typically follows this path: detect whether a usable <b>open-websearch</b> path already exists, guide ...\\\",\\n      \\\"source\\\": \\\"github.com\\\",\\n      \\\"engine\\\": \\\"duckduckgo\\\"\\n    },\\n    {\\n      \\\"title\\\": \\\"Google\\\",\\n      \\\"url\\\": \\\"https://www.google.com/xhtml/search\\\",\\n      \\\"description\\\": \\\"<b>Search</b> the world&#x27;s information, including webpages, images, v",
        "expected": "result text containing a result",
        "input": "{\"tool\": \"search\", \"arguments\": {\"query\": \"open web search\", \"limit\": 3, \"engines\": [\"duckduckgo\"]}}",
        "kind": "claim",
        "outcome": "Real input produced the expected result: open-websearch",
        "source": "README.md",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      },
      {
        "claim": "No API keys required",
        "command": "node build/index.js search 'open web search' --engine duckduckgo --limit 3 --json",
        "evidence": "\u2026\"status\": \"ok\",\n  \"data\": {\n    \"query\": \"open web search\",\n    \"engines\": [\n      \"duckduckgo\"\n    ],\n    \"totalResults\": 3,\n    \"results\": [\n      {\n        \"title\": \"Open-WebSearch - GitHub\",\n        \"url\": \"https://github.com/Aas-ee/open-webSearch\",\n        \"description\": \"<b>open-websearch</b> provides an MCP server, CLI, and local daemon, and can also be paired with skill-guided agent workflows for live <b>web</b> <b>search</b> and content retrieval without API keys. On first use, the skill typically follows this path: detect whether a usable <b>open-websearch</b> path already exists, gu",
        "expected": "ok status with results",
        "input": "CLI search with duckduckgo, no key",
        "kind": "claim",
        "outcome": "Real input produced the expected result: \"status\": \"ok\"",
        "returncode": 0,
        "source": "README.md",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      }
    ],
    "cycle_checks": [
      {
        "claim": "Scheduled or looping main behavior",
        "command": "",
        "evidence": "Inspected README.md and src/*.ts for cron, setInterval, webhook, --once or --now scheduler triggers; none found. The only long-running entrypoint is the local daemon (open-websearch serve), which is request-driven, not a scheduled cycle.",
        "expected": "identify the product trigger",
        "input": "source inspection",
        "kind": "cycle",
        "outcome": "Inspected README.md and src/*.ts for cron, setInterval, webhook, --once or --now scheduler triggers; none found. The only long-running entrypoint is the local daemon (open-websearch serve), which is request-driven, not a scheduled cycle.",
        "source": "repository entry points",
        "verdict": "yes"
      }
    ],
    "details": {
      "argv": [
        "node",
        "build/index.js"
      ],
      "kind": "mcp",
      "scope": "product operation",
      "serverInfo": {
        "name": "web-search",
        "version": "1.2.0"
      },
      "tool_result": {
        "content": [
          {
            "text": "{\n  \"query\": \"open web search\",\n  \"engines\": [\n    \"duckduckgo\"\n  ],\n  \"totalResults\": 3,\n  \"results\": [\n    {\n      \"title\": \"Open-WebSearch - GitHub\",\n      \"url\": \"https://github.com/Aas-ee/open-webSearch\",\n      \"description\": \"<b>open-websearch</b> provides an MCP server, CLI, and local daemon, and can also be paired with skill-guided agent workflows for live <b>web</b> <b>search</b> and content retrieval without API keys. On first use, the skill typically follows this path: detect whether a usable <b>open-websearch</b> path already exists, guide ...\",\n      \"source\": \"github.com\",\n      \"engine\": \"duckduckgo\"\n    },\n    {\n      \"title\": \"Open Web Search - Promoting Europe&#x27;s Independence in Web Search\",\n      \"url\": \"https://openwebsearch.eu/\",\n      \"description\": \"The <b>Open</b> <b>Web</b> Index serves as a basis for free and unbiased internet <b>search</b>, innovatives <b>search</b> engines and as a backbone for AI applications. Would you like to test the OWI? At www.openwebindex.eu you will find comprehensive information, data shards for download and statistics daily updated.\",\n      \"source\": \"openwebsearch.eu\",\n      \"engine\": \"duckduckgo\"\n    },\n    {\n      \"title\": \"Google\",\n      \"url\": \"https://www.google.com/xhtml/search\",\n      \"description\": \"<b>Search</b> the world&#x27;s information, including webpages, images, videos and more. Google has many special features to help you find exactly what you&#x27;re looking for.\",\n      \"source\": \"www.google.com\",\n      \"engine\": \"duckduckgo\"\n    }\n  ],\n  \"partialFailures\": []\n}",
            "type": "text"
          }
        ]
      },
      "tool_result_checked": true,
      "tool_schema_bytes": 2606,
      "tools": [
        "search",
        "fetchLinuxDoArticle",
        "fetchCsdnArticle",
        "fetchGithubReadme",
        "fetchWebContent",
        "fetchJuejinArticle"
      ],
      "working": true
    },
    "evidence_strength": "readme_checked",
    "example_checks": [
      {
        "claim": "Repository offline local daemon test suite runs (documented npm test script; not product behavior proof)",
        "command": "npm run test:local-daemon",
        "deferred": false,
        "evidence": "daemon health and status routes\n\u2705 local daemon operation routes\n\u2705 CLI status json success\n\u2705 CLI status unavailable path\n\u2705 CLI status error envelope\n\u2705 CLI serve waits for signal\n\nLocal daemon tests passed.\n\ud83d\udd0d Default search engine: duckduckgo\n\ud83d\udd0d No search engine restrictions, all available engines can be used\n\ud83d\udd0d Search mode: AUTO, effective: REQUEST (currently only affects Bing)\n\ud83c\udf10 No proxy configured (set USE_PROXY=true to enable)\n\ud83d\udd10 fetchWebContent TLS verification is enabled\n\ud83e\udded Playwright client source: auto\n\ud83e\udded Playwright headless: true\n\ud83e\udded Playwright navigation timeout: 20000ms\n\ud83d\udda5\ufe0f Server mode: STDIO",
        "expected": "Local daemon tests passed.",
        "input": "npm run test:local-daemon",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "package.json scripts test:local-daemon",
        "verdict": "yes"
      }
    ],
    "status": "PASS"
  },
  "diagnosis": null
}
