{
  "run_id": "TayHCode--search-first-claude-haiku-5-5-1792607402277902526",
  "checker": {
    "claims": [
      {
        "claim": "search_existing discovers existing public GitHub projects and returns a ranked shortlist with a verdict for an idea",
        "command": "<guest-path> --python 3.12 --from <guest-path> search-first tools/call {\"tool\": \"search_existing\", \"arguments\": {\"idea\": \"a terminal tool that closes idle browser tabs automatically\", \"queries\": [\"chrome idle tabs\", \"close inactive tabs\"], \"limit\": 3}}",
        "evidence": "TayHCode/cdpidletabs\\\",\\n      \\\"url\\\": \\\"https://github.com/TayHCode/cdpidletabs\\\"\\n    },\\n    \\\"plausible_candidates\\\": 0,\\n    \\\"adjacent_candidates\\\": 60,\\n    \\\"recommendation\\\": \\\"inconclusive\\\",\\n    \\\"reasoning\\\": \\\"Required behavior or constraints are unverified: terminal. Inspect README and test those requirements; broaden queries before choosing a base. None of these is a terminal tool according to retrieved metadata in the top relevance group; terminal/CLI support is unverified. tied with 18 <email>; TayHCode/cdpidletabs wins by more recent push.\\\",\\n    \\\"provisional\\\": t",
        "expected": "JSON containing a verdict and candidates ranked from GitHub search, including TayHCode/cdpidletabs",
        "input": "{\"tool\": \"search_existing\", \"arguments\": {\"idea\": \"a terminal tool that closes idle browser tabs automatically\", \"queries\": [\"chrome idle tabs\", \"close inactive tabs\"], \"limit\": 3}}",
        "kind": "claim",
        "outcome": "Real input produced the expected result: TayHCode/cdpidletabs",
        "source": "An MCP server that discovers existing public projects, explains a ranked shortlist,",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      },
      {
        "claim": "inspect_repo returns the SPDX license and name of a public repository",
        "command": "<guest-path> --python 3.12 --from <guest-path> search-first tools/call {\"tool\": \"inspect_repo\", \"arguments\": {\"repo\": \"TayHCode/search-first\"}}",
        "evidence": "MIT License\\\",\\n  \\\"language\\\": \\\"Python\\\",\\n  \\\"topics\\\": [\\n    \\\"mcp\\\",\\n    \\\"python\\\"\\n  ],\\n  \\\"size_kb\\\": 222,\\n  \\\"notes\\\": [\\n    \\\"Unauthenticated mode: at most 2 search variants per call; set GITHUB_TOKEN for complete searches. Shared-IP quota still applies.\\\"\\n  ],\\n  \\\"readme_excerpt\\\": \\\"# search-first\\\\n\\\\n**Before you build this, here is what already exists on GitHub.**\\\\n\\\\nAn MCP server that discovers existing public projects, explains a ranked shortlist,\\\\ninspects maintenance and reuse signals, and compares candidates. Search first,\\\\ninspect and test a candidate, then use ",
        "expected": "JSON with license_name MIT License for TayHCode/search-first",
        "input": "{\"tool\": \"inspect_repo\", \"arguments\": {\"repo\": \"TayHCode/search-first\"}}",
        "kind": "claim",
        "outcome": "Real input produced the expected result: MIT License",
        "source": "README excerpt, SPDX license/name, size in KB, up to five last commits, open issue",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      }
    ],
    "cycle_checks": [
      {
        "claim": "Scheduled or looping main behavior",
        "command": "",
        "evidence": "Entry points inspected: src/search_first/server.py main() runs a stdio or streamable-http MCP server on demand with no cron, scheduler, --once/--now, or webhook; the only while True loop (discovery.py clean_untrusted_text) strips HTML comments; ranking.py mentions 'schedule' only as a search keyword. The product runs as a request-driven MCP server, so there is no product cycle.",
        "expected": "identify the product trigger",
        "input": "source inspection",
        "kind": "cycle",
        "outcome": "Entry points inspected: src/search_first/server.py main() runs a stdio or streamable-http MCP server on demand with no cron, scheduler, --once/--now, or webhook; the only while True loop (discovery.py clean_untrusted_text) strips HTML comments; ranking.py mentions 'schedule' only as a search keyword. The product runs as a request-driven MCP server, so there is no product cycle.",
        "source": "repository entry points",
        "verdict": "yes"
      }
    ],
    "details": {
      "argv": [
        "<guest-path>",
        "--python",
        "3.12",
        "--from",
        "<guest-path>",
        "search-first"
      ],
      "kind": "mcp",
      "scope": "product operation",
      "serverInfo": {
        "name": "search-first",
        "version": "0.1.0"
      },
      "tool_result": {
        "content": [
          {
            "text": "{\n  \"verdict\": {\n    \"closest_match\": {\n      \"name\": \"TayHCode/cdpidletabs\",\n      \"url\": \"https://github.com/TayHCode/cdpidletabs\"\n    },\n    \"plausible_candidates\": 0,\n    \"adjacent_candidates\": 60,\n    \"recommendation\": \"inconclusive\",\n    \"reasoning\": \"Required behavior or constraints are unverified: terminal. Inspect README and test those requirements; broaden queries before choosing a base. None of these is a terminal tool according to retrieved metadata in the top relevance group; terminal/CLI support is unverified. tied with 18 <email>; TayHCode/cdpidletabs wins by more recent push.\",\n    \"provisional\": true,\n    \"search_complete\": true\n  },\n  \"warnings\": [],\n  \"candidates\": [\n    {\n      \"name\": \"TayHCode/cdpidletabs\",\n      \"url\": \"https://github.com/TayHCode/cdpidletabs\",\n      \"stars\": 0,\n      \"last_push\": \"2026-10-15T16:44:40Z\",\n      \"license\": \"MIT\",\n      \"relevance_score\": 0.54,\n      \"idea_term_coverage\": 1.0,\n      \"missing_key_terms\": [],\n      \"missing_constraints\": [\n        \"terminal\"\n      ],\n      \"why_it_matched\": \"Strong core match; Core terms: 4/4 (browser, close, idle, tab); 0 stars, push 6 days ago; returned by 1 query variant(s), best GitHub rank 27. Cautions: reuse floor unverified: needs at least 25 stars and a push within 365 days; hard constraints unverified: terminal. tied with 18 <email>; Ta\"\n    },\n    {\n      \"name\": \"RealUnfazed/Chrome-TabTidy\",\n      \"url\": \"https://github.com/RealUnfazed/Chrome-TabTidy\",\n      \"stars\": 0,\n      \"last_push\": \"2026-09-28T10:41:29Z\",\n      \"license\": \"MIT\",\n      \"relevance_score\": 0.54,\n      \"idea_term_coverage\": 1.0,\n      \"missing_key_terms\": [],\n      \"missing_constraints\": [\n        \"terminal\"\n      ],\n      \"why_it_matched\": \"Strong core match; Core terms: 4/4 (browser, close, idle, tab); 0 stars, push 23 days ago; returned by 1 query variant(s), best GitHub rank 20. Cautions: reuse floor unverified: needs at least 25 stars and a push within 365 days; hard constraints unverified: terminal. tied with 18 <email>; T\"\n    },\n    {\n      \"name\": \"vladbulyukhin/tab-reaper\",\n      \"url\": \"https://github.com/vladbulyukhin/tab-reaper\",\n      \"stars\": 2,\n      \"last_push\": \"2026-09-06T19:31:45Z\",\n      \"license\": \"MPL-2.0\",\n      \"relevance_score\": 0.54,\n      \"idea_term_coverage\": 1.0,\n      \"missing_key_terms\": [],\n      \"missing_constraints\": [\n        \"terminal\"\n      ],\n      \"why_it_matched\": \"Strong core match; Core terms: 4/4 (browser, close, idle, tab); 2 stars, push 44 days ago; returned by 1 query variant(s), best GitHub rank 24. Cautions: reuse floor unverified: needs at least 25 stars and a push within 365 days; hard constraints unverified: terminal. tied with 18 <email>; T\"\n    }\n  ],\n  \"unique_candidates_evaluated\": 60,\n  \"errors\": [],\n  \"message\": null,\n  \"retry_after_seconds\": null,\n  \"coverage\": {\n    \"bounded\": true,\n    \"truncated\": true,\n    \"repositories_per_query\": 30,\n    \"queries_completed\": 2,\n    \"queries_failed\": 0,\n    \"queries_skipped\": 1,\n    \"query_budget\": 2,\n    \"bounded_plan_complete\": true,\n    \"results_skipped\": 57,\n    \"unretrieved_results\": null,\n    \"note\": \"Counts refer to deduplicated retrieved projects, not all of GitHub. Metadata-only lexical ranking; no candidate has been run or tested.\"\n  },\n  \"notes\": [\n    \"Unauthenticated mode: at most 2 search variants per call; set GITHUB_TOKEN for complete searches. Shared-IP quota still applies.\"\n  ]\n}",
            "type": "text"
          }
        ],
        "isError": false,
        "structuredContent": {
          "candidates": [
            {
              "idea_term_coverage": 1.0,
              "last_push": "2026-10-15T16:44:40Z",
              "license": "MIT",
              "missing_constraints": [
                "terminal"
              ],
              "missing_key_terms": [],
              "name": "TayHCode/cdpidletabs",
              "relevance_score": 0.54,
              "stars": 0,
              "url": "https://github.com/TayHCode/cdpidletabs",
              "why_it_matched": "Strong core match; Core terms: 4/4 (browser, close, idle, tab); 0 stars, push 6 days ago; returned by 1 query variant(s), best GitHub rank 27. Cautions: reuse floor unverified: needs at least 25 stars and a push within 365 days; hard constraints unverified: terminal. tied with 18 <email>; Ta"
            },
            {
              "idea_term_coverage": 1.0,
              "last_push": "2026-09-28T10:41:29Z",
              "license": "MIT",
              "missing_constraints": [
                "terminal"
              ],
              "missing_key_terms": [],
              "name": "RealUnfazed/Chrome-TabTidy",
              "relevance_score": 0.54,
              "stars": 0,
              "url": "https://github.com/RealUnfazed/Chrome-TabTidy",
              "why_it_matched": "Strong core match; Core terms: 4/4 (browser, close, idle, tab); 0 stars, push 23 days ago; returned by 1 query variant(s), best GitHub rank 20. Cautions: reuse floor unverified: needs at least 25 stars and a push within 365 days; hard constraints unverified: terminal. tied with 18 <email>; T"
            },
            {
              "idea_term_coverage": 1.0,
              "last_push": "2026-09-06T19:31:45Z",
              "license": "MPL-2.0",
              "missing_constraints": [
                "terminal"
              ],
              "missing_key_terms": [],
              "name": "vladbulyukhin/tab-reaper",
              "relevance_score": 0.54,
              "stars": 2,
              "url": "https://github.com/vladbulyukhin/tab-reaper",
              "why_it_matched": "Strong core match; Core terms: 4/4 (browser, close, idle, tab); 2 stars, push 44 days ago; returned by 1 query variant(s), best GitHub rank 24. Cautions: reuse floor unverified: needs at least 25 stars and a push within 365 days; hard constraints unverified: terminal. tied with 18 <email>; T"
            }
          ],
          "coverage": {
            "bounded": true,
            "bounded_plan_complete": true,
            "note": "Counts refer to deduplicated retrieved projects, not all of GitHub. Metadata-only lexical ranking; no candidate has been run or tested.",
            "queries_completed": 2,
            "queries_failed": 0,
            "queries_skipped": 1,
            "query_budget": 2,
            "repositories_per_query": 30,
            "results_skipped": 57,
            "truncated": true,
            "unretrieved_results": null
          },
          "errors": [],
          "message": null,
          "notes": [
            "Unauthenticated mode: at most 2 search variants per call; set GITHUB_TOKEN for complete searches. Shared-IP quota still applies."
          ],
          "retry_after_seconds": null,
          "unique_candidates_evaluated": 60,
          "verdict": {
            "adjacent_candidates": 60,
            "closest_match": {
              "name": "TayHCode/cdpidletabs",
              "url": "https://github.com/TayHCode/cdpidletabs"
            },
            "plausible_candidates": 0,
            "provisional": true,
            "reasoning": "Required behavior or constraints are unverified: terminal. Inspect README and test those requirements; broaden queries before choosing a base. None of these is a terminal tool according to retrieved metadata in the top relevance group; terminal/CLI support is unverified. tied with 18 <email>; TayHCode/cdpidletabs wins by more recent push.",
            "recommendation": "inconclusive",
            "search_complete": true
          },
          "warnings": []
        }
      },
      "tool_result_checked": true,
      "tool_schema_bytes": 4129,
      "tools": [
        "search_existing",
        "inspect_repo",
        "compare_candidates"
      ],
      "working": true
    },
    "evidence_strength": "readme_checked",
    "example_checks": [
      {
        "claim": "Automated test suite passes using the documented locked dev environment",
        "command": "<guest-path> run --locked pytest -q",
        "deferred": false,
        "evidence": "........................................................................ [ 35%]\n........................................................................ [ 71%]\n.........................................................                [100%]\n201 passed in 1.60s",
        "expected": "all tests pass",
        "input": "uv run --locked pytest -q",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md#proof-and-development",
        "verdict": "yes"
      },
      {
        "claim": "Ruff lint check passes on the repository",
        "command": "<guest-path> run --locked ruff check .",
        "deferred": false,
        "evidence": "All checks passed!",
        "expected": "no lint findings",
        "input": "uv run --locked ruff check .",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md#proof-and-development",
        "verdict": "yes"
      },
      {
        "claim": "Type check passes on the source",
        "command": "<guest-path> run --locked mypy",
        "deferred": false,
        "evidence": "Success: no issues found in 7 source files",
        "expected": "no type errors",
        "input": "uv run --locked mypy",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md#proof-and-development",
        "verdict": "yes"
      }
    ],
    "status": "PASS"
  },
  "diagnosis": null
}
