TayHCode/search-first

GitHub ↗ · How this check works

Per-setup public labels: Linux / Haiku: Works · Linux / Luna: Works · Windows / Haiku: Partly checked · Windows / Luna: Works · macOS / Haiku: Works · macOS / Luna: Works

Static status badge · SVG · read-only JSON. Embed with ![Coldpass status](https://coldpass.dev/badge/TayHCode--search-first.svg).

mcp-server

Works

README claims checked out on 5 recorded setups. Untested combinations remain unknown.

Answers apply to each recorded setup, revision and operation. Earlier observations remain in Run details.

Works with my model and platform?
PlatformHaikuLuna
Linuxyesyes
Windowspartly checkedyes
macOSyesyes

Linux / Haiku 5.5: yes · Oct 21, 2026 · 2b7c5fd54b96 · claude-code / 2.1.300 (Claude Code)
Recorded operation: <guest-path> --python 3.12 --from. search-first · local stdio MCP start + initialize + tools/list

Linux / Luna: yes · Oct 21, 2026 · 2b7c5fd54b96 · codex / codex-cli 0.163.0
Recorded operation: <guest-path> --python 3.12 --from. search-first · local stdio MCP start + initialize + tools/list

Windows / Haiku 5.5: partly checked · Oct 21, 2026 · 2b7c5fd54b96 · claude-code / 2.1.300 (Claude Code)
Recorded operation: 'C:\coldpass\uv-bin\uvx.exe' --python 3.12 --from. search-first · local stdio MCP start + initialize + tools/list

Windows / Luna: yes · Oct 21, 2026 · 2b7c5fd54b96 · codex / codex-cli 0.163.0
Recorded operation: 'C:\coldpass\python\Scripts\uvx.exe' --python 3.12 --from. search-first · local stdio MCP start + initialize + tools/list

macOS / Haiku 5.5: yes · Oct 21, 2026 · 2b7c5fd54b96 · claude-code / 2.1.300 (Claude Code)
Recorded operation: <guest-path> --python 3.12 --from <guest-path> search-first · local stdio MCP start + initialize + tools/list

macOS / Luna: yes · Oct 21, 2026 · 2b7c5fd54b96 · codex / codex-cli 0.163.0
Recorded operation: <guest-path> --python 3.12 --from <guest-path> search-first · local stdio MCP start + initialize + tools/list

Does what it says
1 of 1 claims checked out
  • Unauthenticated responses explain the two-variant budget and token option.: Real input produced the expected result: set GITHUB_TOKEN for complete searches

    Source: Every unauthenticated response includes a `notes` entry explaining

    Input: {"tool": "search_existing", "arguments": {"idea": "a command line tool that closes idle Chrome tabs automatically", "queries": ["chrome idle tab close", "CLI close inactive tabs"], "limit": 3}}

    Expected: set GITHUB_TOKEN for complete searches

    Command: 'C:\coldpass\python\Scripts\uvx.exe' --python 3.12 --from . search-first tools/call {"tool": "search_existing", "arguments": {"idea": "a command line tool that closes idle Chrome tabs automatically", "queries": ["chrome idle tab close", "CLI close inactive tabs"], "limit": 3}}

    Observed: set GITHUB_TOKEN for complete searches. Shared-IP quota still applies.\"\n ]\n}", "type": "text"}], "isError": false, "structuredContent": {"verdict": {"closest_match": {"name": "TayHCode/cdpidletabs", "url": "https://github.com/TayHCode/cdpidletabs"}, "plausible_candidates": 0, "adjacent_candidates": 25, "recommendation": "inconclusive", "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

MCP
Yes, observed
Local or hosted
local
Local: runs on your machine
Needs keys or browser
None seen
Maintained
Maintained
actively maintained: last commit 6 days ago; 9 commits and 2 merged PRs in 90 days; 0 open issues, 0 open PRs; no releases

Last commit Oct 15, 2026

Setup time
2 min 22 s
2 min 22 s to a working result
Issue
none found in recorded check
Examples
1 of 1 ran as expected
  • Documented help command verifies installation without credentials.: command completed successfully

    Source: README.md / Install and run

    Input: --help

    Expected: usage help for the installed CLI

    Command: 'C:\coldpass\python\Scripts\uvx.exe' --python 3.12 --from . search-first --help

    Observed: SEARCH_FIRST_AUTH_TOKEN (only behind a trusted gateway) --rank-weights RANK_WEIGHTS Ranking weights as name=value,... over the defaults (or SEARCH_FIRST_RANK_WEIGHTS); names: idea_match, query_match, github_rank, variant_agreement, freshness, stars --overall-weights OVERALL_WEIGHTS Compare blend weights as name=value,... (or SEARCH_FIRST_OVERALL_WEIGHTS); names: fit, maintenance, stars

Evidence
README behavior checked
Agent interfaces
MCP
MCP

Observed interfaces were exercised by the checker. Documentation alone does not confirm compatibility.

MCP context
3 tools · about 1,033 tokens
3 tools · about 1,033 tokens

Largest returned tools/list page in these observations. Compact UTF-8 definition bytes ÷ 4, rounded up; approximate, excluding client framing and tool results. This is context size, not proof that every tool works.

Measured on windows with Luna · Oct 21, 2026 on 2b7c5fd54b96

Tested with
Codex / Luna
  • Windows: Codex / Luna · agent codex-cli 0.163.0 · Checked operation passed · Oct 21, 2026 on 2b7c5fd54b96

Each entry describes its recorded operation and source revision. Other agent clients were not tested.

Safety
Something to look at: writes outside the project folder by <guest-path>

Review signals across current setups: connection review, outside write. 12 listed items (named-host connections, static matches, dependency advisories) are below and do not change this verdict.

Repository processes attempted these non-loopback connections; proxies can hide the final hostname. 13 distinct locations. 2 findings. 26 attributed processes.

OSV reports a known vulnerability in this dependency version. certifi 2 findings.

Repository processes attempted these writes outside documented output/cache paths. 39 distinct locations. 1 attributed processes.

PID 2315: <guest-path> · <guest-path>

Full event, path and process lists for each observed setup:

Run details

Haiku 5.5

Native agent · Checked operation passed

Checked operation <guest-path> --python 3.12 --from . search-first · local stdio MCP start + initialize + tools/list

Agent-reported scope: Run the search-first MCP server over stdio and call its search_existing, inspect_repo and compare_candidates tools against live public GitHub data (unauthenticated).

MCP server returned: search-first · version 0.1.0.

MCP tools returned: search_existing, inspect_repo, compare_candidates. Tool listing does not establish authenticated tool-call success.

Run details
run
TayHCode--search-first-claude-haiku-5-5-1792608937366265731
date
Oct 21, 2026
time to working
279.5s
product hosting / execution
Local stdio MCP server in the guest
recorded operation scope
product operation
model
claude-haiku-5-5
agent / version
claude-code / 2.1.300 (Claude Code)
platform
linux
reported cost
$0.022821
Recorded source
https://github.com/TayHCode/search-first
Backend
hyperv
Tool transport
mcp-assigned-vm
Requested source pin (not an observed revision)
{"commit": "2b7c5fd54b96bdd2a736eb2ae25db35d2cb71d7d", "url": "https://github.com/TayHCode/search-first"}
Test version
readme-46075cc0a15054283edf08e1dffafeab70fc0eb7363f730a3d9f58040b16649a
revision
2b7c5fd54b96bdd2a736eb2ae25db35d2cb71d7d
Whose fault: no fault assigned · resolved

Safety: Review signals: 1 connection review, 2 known vulnerability.

Review signals: 1 connection review, 2 known vulnerability.

Repository processes attempted these non-loopback connections; proxies can hide the final hostname. 2 distinct locations. 4 attributed processes.

OSV reports a known vulnerability in this dependency version. certifi 2 findings.

OSV scanned supported lockfiles; unpinned dependencies and unsupported formats are outside this check.

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.

Full safety evidence →

Answers recorded for this run
  • inspect_repo returns maintenance and reuse signals for a public repository: Real input produced the expected result: maverick-360/vaultab

    Source: Accepts `owner/repo` or `https://github.com/owner/repo`.

    Input: {"tool": "inspect_repo", "arguments": {"repo": "maverick-360/vaultab"}}

    Expected: README inspection for the named repository

    Command: <guest-path> --python 3.12 --from . search-first tools/call {"tool": "inspect_repo", "arguments": {"repo": "maverick-360/vaultab"}}

    Observed: maverick-360/vaultab\",\n \"url\": \"https://github.com/maverick-360/vaultab\",\n \"description\": \"A Chrome extension that saves tabs into collections & folders, auto-closes idle tabs, locks sites from closing, and tracks time spent per website. Everything stays local.\",\n \"stars\": 5,\n \"forks\": 0,\n \"last_push\": \"2026-07-05T14:33:01Z\",\n \"archived\": false,\n \"license\": \"MIT\",\n \"license_name\": \"MIT License\",\n \"language\": \"JavaScript\",\n \"topics\": [\n \"auto-close\",\n \"browser-extension\",\n \"chrome-extension\",\n \"javascript\",\n \"mani

  • compare_candidates compares repositories side by side for an idea: Real input produced the expected result: vutran1710/PyrateLimiter

    Source: Returns named `columns` and side-by-side `rows`, one per unique repo (1–6 inputs),

    Input: {"tool": "compare_candidates", "arguments": {"idea": "a Python library for rate limiting outgoing HTTP requests", "repos": ["vutran1710/PyrateLimiter", "bboe/extended_http_server"], "sort_by": "overall"}}

    Expected: a comparison row naming the repository

    Command: <guest-path> --python 3.12 --from . search-first tools/call {"tool": "compare_candidates", "arguments": {"idea": "a Python library for rate limiting outgoing HTTP requests", "repos": ["vutran1710/PyrateLimiter", "bboe/extended_http_server"], "sort_by": "overall"}}

    Observed: vutran1710/PyrateLimiter\",\n \"url\": \"https://github.com/vutran1710/PyrateLimiter\",\n \"description\": \"⚔️Python Rate-Limiter using Leaky-Bucket Algorithm Family\",\n \"stars\": 529,\n \"forks\": 53,\n \"last_push\": \"2026-10-20T13:45:29Z\",\n \"archived\": false,\n \"license\": \"MIT\",\n \"license_name\": \"MIT License\",\n \"language\": \"Python\",\n \"topics\": [\n \"leaky-bucket\",\n \"python\",\n \"rate-limit\",\n \"rate-limiter\",\n \"rate-limiting\",\n \"request-rate-limit\"\n ],\n

Examples

  • Documented development test suite passes: command completed successfully

    Source: README.md

    Input: uv run --locked pytest -q

    Expected: all tests pass

    Command: <guest-path> run --locked pytest -q

    Observed: ........................................................................ [ 35%] ........................................................................ [ 71%] ......................................................... [100%] 201 passed in 5.92s

  • Documented lint check passes: command completed successfully

    Source: README.md

    Input: uv run --locked ruff check .

    Expected: ruff reports no problems

    Command: <guest-path> run --locked ruff check .

    Observed: All checks passed!

  • Documented format check passes: command completed successfully

    Source: README.md

    Input: uv run --locked ruff format --check .

    Expected: all files already formatted

    Command: <guest-path> run --locked ruff format --check .

    Observed: 29 files already formatted

  • Documented type check passes: command completed successfully

    Source: README.md

    Input: uv run --locked mypy

    Expected: no type issues

    Command: <guest-path> run --locked mypy

    Observed: Success: no issues found in 7 source files

  • Live GitHub smoke run is explicit and not part of CI: deferred: scripts/smoke.py makes live public GitHub searches (quota-limited, unauthenticated 2 variants/min budget) and the script says it is never part of CI; not run to avoid consuming shared rate limit. Fixture tests above cover the code paths offline.

    Source: docs/SMOKE.md

    Expected: documented command completes successfully

    Observed: deferred: scripts/smoke.py makes live public GitHub searches (quota-limited, unauthenticated 2 variants/min budget) and the script says it is never part of CI; not run to avoid consuming shared rate limit. Fixture tests above cover the code paths offline.

Local or hosted: local

What the agent did

Run the search-first MCP server over stdio and call its search_existing, inspect_repo and compare_candidates tools against live public GitHub data (unauthenticated).

cd <guest-path> && pwd && ls -la && id -u && cat README.md 2>/dev/null | head -200; python3 --version; ls /inputs 2>/dev/null; ls <guest-path> 2>/dev/null
cd <guest-path> && grep -n '^#' README.md; echo ---; which uv uvx git; uv --version 2>/dev/null; ls scripts; cat scripts/check_python.py 2>/dev/null | head -40; echo ---; ls -la .coldpass .github; cat AGENTS.md; ls <guest-path>
cd <guest-path> && sed -n 187,345p README.md
cd <guest-path> && sed -n 630,700p README.md; echo ---; cat scripts/smoke.py | head -60; echo; grep -n -i 'once\|cron\|schedul\|loop\|webhook' README.md | head
cd <guest-path> && curl -LsSf https://astral.sh/uv/install.sh | sh 2>&1 | tail -5; export PATH="$HOME/.local/bin:$PATH"; which uv uvx && uv --version; echo "proxy: ${HTTPS_PROXY:-none}"; git init -q 2>&1; git remote add origin https://github.com/TayHCode/search-first 2>&1; timeout 120 git fetch --depth 1 origin 2b7c5fd54b96bdd2a736eb2ae25db35d2cb71d7d 2>&1 | tail -3; git reset --mixed FETCH_HEAD 2>&1 | tail -2; git log --oneline -1
cd <guest-path> && git status --short | head -5; timeout 600 <guest-path> --python 3.12 --from . search-first --help 2>&1 | tail -40; echo "rc=${PIPESTATUS[0]}"
cd <guest-path> && curl -sS -m 10 -o /dev/null -w '%{http_code}\n' https://api.github.com/rate_limit; echo ---; export PATH=<guest-path>; timeout 900 uv sync --locked --extra dev 2>&1 | tail -5; echo "sync rc=$?"; timeout 900 uv run --locked pytest -q 2>&1 | tail -15
cd <guest-path> && export PATH=<guest-path>; uv run --locked ruff check . 2>&1 | tail -3; echo "ruff check rc=$?"; uv run --locked ruff format --check . 2>&1 | tail -3; uv run --locked mypy 2>&1 | tail -3; echo ---; rm -rf <guest-path> && mkdir -p <guest-path> && cp -r <guest-path> <guest-path> && cd <guest-path> && timeout 900 uv run --locked python -m build --outdir <guest-path> 2>&1 | tail -3; ls <guest-path>
cd <guest-path> && export PATH=<guest-path>; timeout 900 uv run --locked python -m build --outdir <guest-path> 2>&1 | grep -v '^\s*$' | tail -40
sudo -n true && echo sudo-ok; (sudo -n apt-get update -qq && sudo -n DEBIAN_FRONTEND=noninteractive apt-get install -y -qq python3.12-venv) 2>&1 | tail -3; echo "rc=$?"; cd <guest-path> && export PATH=<guest-path>; timeout 900 uv run --locked python -m build --outdir <guest-path> 2>&1 | tail -4; ls <guest-path>
cd <guest-path> && wc -l check.py && grep -n 'def \|"kind"\|expected_file\|credentials_error\|mcp_http' check.py | head -80
cd <guest-path> && grep -n 'argparse\|add_argument\|COLDPASS_WORKSPACE\|probe.json\|claims.json\|examples.json\|cycles.json\|report.json' check.py | head -40; sed -n 1,30p check.py | head -40
mkdir -p <guest-path> && cd <guest-path> && cat > .coldpass/probe.json <<'EOF'
{"kind":"mcp","argv":["<guest-path>","--python","3.12","--from",".","search-first"],"cwd":"<guest-path>","tool":"search_existing","arguments":{"idea":"a Chrome extension or script that closes idle browser tabs automatically","queries":["chrome idle tab close","auto close tabs","inactive tabs extension","tab auto closer"],"language":null,"min_stars":0,"include_archived":false,"limit":8,"sort_by":"relevance"}}
EOF
cat .coldpass/probe.json | python3 -I -m json.tool >/dev/null && echo valid; ls <guest-path>; COLDPASS_WORKSPACE=<guest-path> timeout 900 python3 -I <guest-path> --validate 2>&1 | tail -30
cd <guest-path> && COLDPASS_WORKSPACE=<guest-path> timeout 1200 python3 -I <guest-path> --validate --replay > <guest-path> 2>&1; echo rc=$?; head -c 3000 <guest-path>
cd <guest-path> && COLDPASS_WORKSPACE=<guest-path> timeout 1200 python3 -I <guest-path> --validate --replay 2>&1 | python3 -I -c 'import sys,json; s=sys.stdin.read(); print(s[-1500:])'
cd <guest-path> && python3 -I - <<'EOF'
import json
p='<guest-path>'
d=json.load(open(p))
d['expected_text']='maverick-360/vaultab'
json.dump(d,open(p,'w'),indent=1)
EOF
COLDPASS_WORKSPACE=<guest-path> timeout 1200 python3 -I <guest-path> --validate --replay > <guest-path> 2>&1; echo rc=$?; python3 -I -c 'import json,sys; d=json.load(open("<guest-path>")) if False else None' ; head -c 600 <guest-path>; echo; tail -c 400 <guest-path>
cd <guest-path> && grep -n 'Accepts `owner/repo`\|Returns named `columns`\|does \*\*not\*\* call a model\|An MCP server that discovers\|Only public repositories are returned\|Cache hits are free' README.md
cd <guest-path> && python3 -I - <<'EOF'
import json
srv=["<guest-path>","--python","3.12","--from",".","search-first"]
claims=[
 {"kind":"claim","claim":"inspect_repo returns maintenance and reuse signals for a public repository",
  "source":"Accepts `owner/repo` or `https://github.com/owner/repo`.",
  "input":"maverick-360/vaultab","expected":"README inspection for the named repository",
  "probe_kind":"mcp","argv":srv,"tool":"inspect_repo","arguments":{"repo":"maverick-360/vaultab"},
  "expected_text":"maverick-360/vaultab","cwd":"<guest-path>"},
 {"kind":"claim","claim":"compare_candidates compares repositories side by side for an idea",
  "source":"Returns named `columns` and side-by-side `rows`, one per unique repo (1–6 inputs),",
  "input":"idea 'a Python library for rate limiting outgoing HTTP requests' with vutran1710/PyrateLimiter",
  "expected":"a comparison row naming the repository",
  "probe_kind":"mcp","argv":srv,"tool":"compare_candidates",
  "arguments":{"idea":"a Python library for rate limiting outgoing HTTP requests","repos":["vutran1710/PyrateLimiter","bboe/extended_http_server"],"sort_by":"overall"},
  "expected_text":"vutran1710/PyrateLimiter","cwd":"<guest-path>"}
]
json.dump(claims,open('.coldpass/claims.json','w',encoding='utf-8'),indent=1,ensure_ascii=False)
print("ok")
EOF
COLDPASS_WORKSPACE=<guest-path> timeout 1500 python3 -I <guest-path> --validate --replay > <guest-path> 2>&1; echo rc=$?; python3 -I -c '
import sys,re
s=open("<guest-path>").read()
print(len(s)); print(s[:1200]); print("...."); print(s[-1200:])'
cd <guest-path> && python3 -I -c '
import json,re
s=open("<guest-path>").read()
for m in re.finditer(r"\"verdict\": \"(\w+)\", \"outcome\": \"([^\"]*)\"", s): print(m.group(1), m.group(2)[:150])
print("PASS count", s.count("\"status\": \"PASS\""), "FAIL", s.count("FAIL"))
'; grep -rn -i 'cron\|schedul\|--once\|--now\|webhook\|loop' src/ README.md | head; ls src/search_first/; ls tests | head; ls docs
cd <guest-path> && python3 -I - <<'EOF'
import json
W='<guest-path>'
UV='<guest-path>'
ex=[
 {"kind":"example","claim":"Documented development test suite passes","source":"README.md",
  "input":"uv run --locked pytest -q","expected":"all tests pass","argv":[UV,"run","--locked","pytest","-q"],
  "cwd":W,"expected_text":"201 passed"},
 {"kind":"example","claim":"Documented lint check passes","source":"README.md",
  "input":"uv run --locked ruff check .","expected":"ruff reports no problems","argv":[UV,"run","--locked","ruff","check","."],
  "cwd":W,"expected_text":"All checks passed!"},
 {"kind":"example","claim":"Documented format check passes","source":"README.md",
  "input":"uv run --locked ruff format --check .","expected":"all files already formatted","argv":[UV,"run","--locked","ruff","format","--check","."],
  "cwd":W,"expected_text":"already formatted"},
 {"kind":"example","claim":"Documented type check passes","source":"README.md",
  "input":"uv run --locked mypy","expected":"no type issues","argv":[UV,"run","--locked","mypy"],
  "cwd":W,"expected_text":"Success: no issues found"},
 {"kind":"example","claim":"Live GitHub smoke run is explicit and not part of CI","source":"docs/SMOKE.md",
  "reason":"deferred: scripts/smoke.py makes live public GitHub searches (quota-limited, unauthenticated 2 variants/min budget) and the script says it is never part of CI; not run to avoid consuming shared rate limit. Fixture tests above cover the code paths offline.","deferred":True},
]
json.dump(ex,open('.coldpass/examples.json','w',encoding='utf-8'),indent=1)
json.dump({"detected":False,"reason":"Entry points inspected: src/search_first/server.py (argparse CLI for an MCP server over stdio or streamable-http, no scheduler, loop or --once/--now flag), and README grep for cron/schedule/webhook/loop found no product scheduler; the server only answers MCP tool calls. ranking.py 'schedule/cron' hits are keyword matching of discovered repositories, not product behavior.","checks":[]},open('.coldpass/cycles.json','w',encoding='utf-8'),indent=1)
print('ok')
EOF
COLDPASS_WORKSPACE=<guest-path> timeout 1500 python3 -I <guest-path> --validate --replay > <guest-path> 2>&1; echo rc=$?; python3 -I -c '
s=open("<guest-path>").read(); print(len(s)); print(s[:700]); print("...."); print(s[-900:])'
cd <guest-path> && python3 -I - <<'EOF'
import re
s=open('<guest-path>').read()
for m in re.finditer(r'"verdict": "(\w+)", "outcome": "([^"]{0,90})', s): print(m.group(1), '|', m.group(2))
EOF
python3 -I - <<'EOF'
import json
r={"outcome":"working","fault_owner":None,
"operation":"Run the search-first MCP server over stdio and call its search_existing, inspect_repo and compare_candidates tools against live public GitHub data (unauthenticated).",
"operation_scope":"Linux x86_64 guest, Python 3.12 via uv (README uvx route), no GitHub token (unauthenticated: 2 search variants per call, shared-IP quota). Search verdicts may be inconclusive due to quota or thresholds. Scheduling: none in product.",
"steps":[
 "curl -LsSf https://astral.sh/uv/install.sh | sh",
 "git init; git remote add origin https://github.com/TayHCode/search-first; git fetch --depth 1 origin 2b7c5fd54b96bdd2a736eb2ae25db35d2cb71d7d; git reset --mixed FETCH_HEAD",
 "uvx --python 3.12 --from . search-first --help",
 "uv sync --locked --extra dev",
 "uv run --locked pytest -q",
 "uv run --locked ruff check .",
 "uv run --locked ruff format --check .",
 "uv run --locked mypy",
 "uvx --python 3.12 --from . search-first (stdio MCP server, driven by the checker's MCP client)",
 "uv run --locked python -m build (in a copy of the checkout)"],
"deviations":[
 "Initial `python -m build` failed: 'The virtual environment was not created successfully because ensurepip is not available ... apt install python3.12-venv'. Installed it with `sudo -n apt-get update && sudo -n apt-get install -y python3.12-venv`, then build succeeded (search_first_mcp-0.1.0 wheel and sdist). Build was run in a copy (<guest-path>) to keep the checkout clean.",
 "uv installed to <guest-path> via the README's official installer; the PATH note was ignored, absolute paths were used in argv.",
 "The uvx argv in probe/claims uses the absolute path <guest-path>",
 "The first replay failed only because probe.json lacked expected_text; added expected_text 'maverick-360/vaultab' from the real tool output. No product code changed.",
 "The README's local HTTP transport (--transport streamable-http) was not separately exercised by the checker; the stdio path was used for the operation. The fixture test suite (test_mcp.py) covers the MCP server.",
 "scripts/smoke.py (live GitHub smoke) deferred: it makes live public searches against shared unauthenticated quota and is documented as not part of CI.",
 "Ruff/mypy/pytest reported no issues. No GitHub token was obtained or used."],
"stuck_step":None,"main_blocker":None,"plain_failure":None,
"suggested_fix":"None required for this run. Optional: set GITHUB_TOKEN for complete searches (the README recommends it for regular use); unauthenticated searches can return inconclusive verdicts when quota is shared."}
import json
json.dump(r,open('<guest-path>','w',encoding='utf-8'),indent=1,ensure_ascii=False)
print('written')
EOF
cd <guest-path> && COLDPASS_WORKSPACE=<guest-path> timeout 1500 python3 -I <guest-path> --validate --replay > <guest-path> 2>&1; echo rc=$?; python3 -I -c '
import json
s=open("<guest-path>").read()
print(s[:200]); print("valid" , s.count("\"valid\": true"), "problems-empty", "\"problems\": []" in s, "FAIL" in s)
'; pgrep -af 'search-first' | grep -v pgrep || echo "no server processes"; ls -la .coldpass
Earlier attempts (5)

Luna

Native agent · Checked operation passed

Checked operation 'C:\coldpass\python\Scripts\uvx.exe' --python 3.12 --from . search-first · local stdio MCP start + initialize + tools/list

Agent-reported scope: Installed and launched the documented search-first MCP server; called search_existing for idle Chrome tab tools.

MCP server returned: search-first · version 0.1.0.

MCP tools returned: search_existing, inspect_repo, compare_candidates. Tool listing does not establish authenticated tool-call success.

Run details
run
TayHCode--search-first-gpt-6-luna-1792615193355908408
date
Oct 21, 2026
time to working
142.2s
product hosting / execution
Local stdio MCP server in the guest
recorded operation scope
product operation
model
gpt-6-luna
agent / version
codex / codex-cli 0.163.0
platform
windows
reported cost
not reported (not assumed free)
Recorded source
https://github.com/TayHCode/search-first
Backend
hyperv
Tool transport
mcp-assigned-vm
Requested source pin (not an observed revision)
{"commit": "2b7c5fd54b96bdd2a736eb2ae25db35d2cb71d7d", "url": "https://github.com/TayHCode/search-first"}
Test version
readme-e7675e4c6e05f132c0a8b096a3f6b47fac68d566e8b8573cc5c429e61289127f
revision
2b7c5fd54b96bdd2a736eb2ae25db35d2cb71d7d
Whose fault: no fault assigned · resolved

Safety: Review signals: 2 known vulnerability.

Review signals: 2 known vulnerability.

OSV reports a known vulnerability in this dependency version. certifi 2 findings.

OSV scanned supported lockfiles; unpinned dependencies and unsupported formats are outside this check.

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.

windows behavior observation needs an OS-native file/network/process collector; only the static scan ran.

No Linux syscall trace was collected.

Full safety evidence →

Answers recorded for this run
  • Unauthenticated responses explain the two-variant budget and token option.: Real input produced the expected result: set GITHUB_TOKEN for complete searches

    Source: Every unauthenticated response includes a `notes` entry explaining

    Input: {"tool": "search_existing", "arguments": {"idea": "a command line tool that closes idle Chrome tabs automatically", "queries": ["chrome idle tab close", "CLI close inactive tabs"], "limit": 3}}

    Expected: set GITHUB_TOKEN for complete searches

    Command: 'C:\coldpass\python\Scripts\uvx.exe' --python 3.12 --from . search-first tools/call {"tool": "search_existing", "arguments": {"idea": "a command line tool that closes idle Chrome tabs automatically", "queries": ["chrome idle tab close", "CLI close inactive tabs"], "limit": 3}}

    Observed: set GITHUB_TOKEN for complete searches. Shared-IP quota still applies.\"\n ]\n}", "type": "text"}], "isError": false, "structuredContent": {"verdict": {"closest_match": {"name": "TayHCode/cdpidletabs", "url": "https://github.com/TayHCode/cdpidletabs"}, "plausible_candidates": 0, "adjacent_candidates": 25, "recommendation": "inconclusive", "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

Examples

  • Documented help command verifies installation without credentials.: command completed successfully

    Source: README.md / Install and run

    Input: --help

    Expected: usage help for the installed CLI

    Command: 'C:\coldpass\python\Scripts\uvx.exe' --python 3.12 --from . search-first --help

    Observed: SEARCH_FIRST_AUTH_TOKEN (only behind a trusted gateway) --rank-weights RANK_WEIGHTS Ranking weights as name=value,... over the defaults (or SEARCH_FIRST_RANK_WEIGHTS); names: idea_match, query_match, github_rank, variant_agreement, freshness, stars --overall-weights OVERALL_WEIGHTS Compare blend weights as name=value,... (or SEARCH_FIRST_OVERALL_WEIGHTS); names: fit, maintenance, stars

Local or hosted: local

What the agent did

Installed and launched the documented search-first MCP server; called search_existing for idle Chrome tab tools.

Get-Location; Get-ChildItem -Force
Get-Content README.md;
Get-Content <host-path> -ErrorAction SilentlyContinue; vault-search 'search-first MCP GitHub repository discovery'; & C:\coldpass\python\python.exe --version; git status --short;
Get-Content pyproject.toml; Get-ChildItem C:\coldpass -Force; Get-Command uv,uvx,git -ErrorAction SilentlyContinue
& C:\coldpass\python\python.exe -m pip --version; & C:\coldpass\python\python.exe -m pip install uv;
& C:\coldpass\python\python.exe -m uv --version; & C:\coldpass\python\Scripts\uvx.exe --python 3.12 --from . search-first --help
rg -n "fixture|offline|search_existing|tools" tests README.md;
Get-ChildItem tests; Get-ChildItem C:\coldpass\checker
$p='C:\coldpass\workspace\.coldpass'; New-Item -ItemType Directory -Force $p | Out-Null; @'
{"kind":"mcp","argv":["C:\\coldpass\\python\\Scripts\\uvx.exe","--python","3.12","--from",".","search-first"],"cwd":"C:\\coldpass\\workspace","tool":"search_existing","arguments":{"idea":"a command line tool that closes idle Chrome tabs automatically","queries":["chrome idle tab close","CLI close inactive tabs"],"limit":3},"expected_text":"set GITHUB_TOKEN for complete searches"}
'@ | Set-Content "$p\probe.json" -Encoding utf8; @'
[{"kind":"claim","claim":"Unauthenticated responses explain the two-variant budget and token option.","source":"Every unauthenticated response includes a `notes` entry explaining the two-variant budget and saying `set GITHUB_TOKEN for complete searches`.","input":"a command line tool that closes idle Chrome tabs automatically","expected":"set GITHUB_TOKEN for complete searches","probe_kind":"mcp","argv":["C:\\coldpass\\python\\Scripts\\uvx.exe","--python","3.12","--from",".","search-first"],"tool":"search_existing","arguments":{"idea":"a command line tool that closes idle Chrome tabs automatically","queries":["chrome idle tab close","CLI close inactive tabs"],"limit":3},"expected_text":"set GITHUB_TOKEN for complete searches","cwd":"C:\\coldpass\\workspace"}]
'@ | Set-Content "$p\claims.json" -Encoding utf8; '{"detected":false,"reason":"README describes a request driven MCP server; inspected src entry points, no scheduler or recurring cycle.","checks":[]}' | Set-Content "$p\cycles.json" -Encoding utf8; @'
[{"kind":"example","claim":"Documented help command verifies installation without credentials.","source":"README.md / Install and run","input":"--help","expected":"usage help for the installed CLI","argv":["C:\\coldpass\\python\\Scripts\\uvx.exe","--python","3.12","--from",".","search-first","--help"],"cwd":"C:\\coldpass\\workspace","expected_text":"Search GitHub before building (MCP server)."}]
'@ | Set-Content "$p\examples.json" -Encoding utf8; Get-Content "$p\probe.json"
@'
import asyncio
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
async def main():
 async with stdio_client(StdioServerParameters(command=r'C:\coldpass\python\Scripts\uvx.exe', args=['--python','3.12','--from','.','search-first'], cwd=r'C:\coldpass\workspace')) as (r,w):
  async with ClientSession(r,w) as s:
   await s.initialize()
   x=await s.call_tool('search_existing',{'idea':'a command line tool that closes idle Chrome tabs automatically','queries':['chrome idle tab close','CLI close inactive tabs'],'limit':3})
   print(x)
asyncio.run(main())
'@ | & C:\coldpass\python\Scripts\uvx.exe --python 3.12 --from . python -
$p='C:\coldpass\workspace\.coldpass'; $argv=@('C:\coldpass\python\Scripts\uvx.exe','--python','3.12','--from','.','search-first'); $probe=[ordered]@{kind='mcp';argv=$argv;cwd='C:\coldpass\workspace';tool='search_existing';arguments=[ordered]@{idea='a command line tool that closes idle Chrome tabs automatically';queries=@('chrome idle tab close','CLI close inactive tabs');limit=3};expected_text='set GITHUB_TOKEN for complete searches'}; $probe|ConvertTo-Json -Depth 8|Set-Content "$p\probe.json" -Encoding utf8; $claim=@([ordered]@{kind='claim';claim='Unauthenticated responses explain the two-variant budget and token option.';source='Every unauthenticated response includes a `notes` entry explaining the two-variant budget and saying `set GITHUB_TOKEN for complete searches`.';input='a command line tool that closes idle Chrome tabs automatically';expected='set GITHUB_TOKEN for complete searches';probe_kind='mcp';argv=$argv;tool='search_existing';arguments=$probe.arguments;expected_text='set GITHUB_TOKEN for complete searches';cwd='C:\coldpass\workspace'}); $claim|ConvertTo-Json -Depth 8|Set-Content "$p\claims.json" -Encoding utf8; $report=[ordered]@{outcome='working';fault_owner=$null;operation='Installed and launched the documented search-first MCP server; called search_existing for idle Chrome tab tools.';operation_scope='Local Windows guest, Python 3.12 installed by uv; unauthenticated public GitHub search.';steps=@('Installed uv using pip in the supplied Python runtime.','Ran README uvx --python 3.12 --from . search-first --help.','Called search_existing over stdio MCP; received ranked public repository results and quota note.');deviations=@('Git and vault-search were unavailable in the guest; provided source snapshot already present, so no Git metadata was used.');stuck_step=$null;main_blocker=$null;plain_failure=$null;suggested_fix=$null}; $report|ConvertTo-Json -Depth 8|Set-Content "$p\report.json" -Encoding utf8; $env:COLDPASS_WORKSPACE='C:\coldpass\workspace'; & C:\coldpass\python\python.exe -I C:\coldpass\checker\check.py --validate --replay
Select-String -Path README.md -Pattern 'Every unauthenticated response includes' -Context 0,2
$p='C:\coldpass\workspace\.coldpass'; $c=Get-Content "$p\claims.json" -Raw|ConvertFrom-Json; $c[0].source='Every unauthenticated response includes a `notes` entry explaining`n the two-variant budget and saying `set GITHUB_TOKEN for complete searches`.'; $c|ConvertTo-Json -Depth 8|Set-Content "$p\claims.json" -Encoding utf8; $env:COLDPASS_WORKSPACE='C:\coldpass\workspace'; & C:\coldpass\python\python.exe -I C:\coldpass\checker\check.py --validate --replay
$p='C:\coldpass\workspace\.coldpass'; $c=Get-Content "$p\claims.json" -Raw|ConvertFrom-Json; $c[0].source='Every unauthenticated response includes a `notes` entry explaining'; $c|ConvertTo-Json -Depth 8|Set-Content "$p\claims.json" -Encoding utf8; $env:COLDPASS_WORKSPACE='C:\coldpass\workspace'; & C:\coldpass\python\python.exe -I C:\coldpass\checker\check.py --validate --replay

Luna

Native agent · Checked operation passed

Checked operation <guest-path> --python 3.12 --from <guest-path> search-first · local stdio MCP start + initialize + tools/list

Agent-reported scope: Installed the documented local uvx package entrypoint and called search_existing through an MCP stdio client.

MCP server returned: search-first · version 0.1.0.

MCP tools returned: search_existing, inspect_repo, compare_candidates. Tool listing does not establish authenticated tool-call success.

Run details
run
TayHCode--search-first-gpt-6-luna-1792614702836516964
date
Oct 21, 2026
time to working
74.9s
product hosting / execution
Local stdio MCP server in the guest
recorded operation scope
product operation
model
gpt-6-luna
agent / version
codex / codex-cli 0.163.0
platform
macos
reported cost
not reported (not assumed free)
Recorded source
https://github.com/TayHCode/search-first
Backend
tart
Tool transport
mcp-assigned-vm
Requested source pin (not an observed revision)
{"commit": "2b7c5fd54b96bdd2a736eb2ae25db35d2cb71d7d", "url": "https://github.com/TayHCode/search-first"}
Test version
readme-d03245928c6bf21a5c0246e4484c1a09a4c5155cda5d5b004f78645851ec6f83
revision
2b7c5fd54b96bdd2a736eb2ae25db35d2cb71d7d
Whose fault: no fault assigned · resolved

Safety: Review signals: 2 known vulnerability.

Review signals: 2 known vulnerability.

OSV reports a known vulnerability in this dependency version. certifi 2 findings.

OSV scanned supported lockfiles; unpinned dependencies and unsupported formats are outside this check.

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.

macos behavior observation needs an OS-native file/network/process collector; only the static scan ran.

No Linux syscall trace was collected.

Full safety evidence →

Answers recorded for this run
  • Search existing public GitHub projects for an idea and return a ranked shortlist.: Real input produced the expected result: alisaifee/flask-limiter

    Source: The default response returns the top **8** candidates

    Input: {"tool": "search_existing", "arguments": {"idea": "a Python library for rate limiting outgoing HTTP requests", "queries": ["python rate limiter", "http client rate limit"], "limit": 2}}

    Expected: Ranked candidates and coverage metadata

    Command: <guest-path> --python 3.12 --from <guest-path> search-first tools/call {"tool": "search_existing", "arguments": {"idea": "a Python library for rate limiting outgoing HTTP requests", "queries": ["python rate limiter", "http client rate limit"], "limit": 2}}

    Observed: alisaifee/flask-limiter\",\n \"url\": \"https://github.com/alisaifee/flask-limiter\"\n },\n \"plausible_candidates\": 15,\n \"adjacent_candidates\": 40,\n \"recommendation\": \"use as is\",\n \"reasoning\": \"Strong metadata overlap and a recognized license. Inspect README and test the required behavior before deciding that it works unchanged.\",\n \"provisional\": true,\n \"search_complete\": true\n },\n \"warnings\": [],\n \"candidates\": [\n {\n \"name\": \"alisaifee/flask-limiter\",\n \"url\": \"https://github.com/alisaifee/flask-limiter\",\n

Examples

  • Install and run documented local CLI help: command completed successfully

    Source: README.md — Install and run

    Input: uvx --python 3.12 --from . search-first --help

    Expected: CLI usage and documented transport options

    Command: <guest-path> --python 3.12 --from <guest-path> search-first --help

    Observed: SEARCH_FIRST_AUTH_TOKEN (only behind a trusted gateway) --rank-weights RANK_WEIGHTS Ranking weights as name=value,... over the defaults (or SEARCH_FIRST_RANK_WEIGHTS); names: idea_match, query_match, github_rank, variant_agreement, freshness, stars --overall-weights OVERALL_WEIGHTS Compare blend weights as name=value,... (or SEARCH_FIRST_OVERALL_WEIGHTS); names: fit, maintenance, stars

Local or hosted: local

What the agent did

Installed the documented local uvx package entrypoint and called search_existing through an MCP stdio client.

pwd; vault-search 'search-first repository README setup MCP operation' 2>&1; ls -la; rg --files -g 'README*' -g 'AGENTS.md' -g 'package.json' -g 'pyproject.toml' -g '*.yml' -g '*.yaml' -g 'Makefile' -g 'Cargo.toml' -g 'go.mod' -g 'uv.lock' -g 'requirements*.txt' -g 'Dockerfile' -g 'mcp*' -g 'examples/**' -g '.github/**' | head -200
cat AGENTS.md; cat README.md; cat pyproject.toml; find .github docs scripts skills src -type f -maxdepth 5 -print; /opt/homebrew/bin/python3 --version; git status --short --branch; git remote -v
git init; git remote add origin https://github.com/TayHCode/search-first; git fetch --depth 1 origin 2b7c5fd54b96bdd2a736eb2ae25db35d2cb71d7d
git reset --mixed FETCH_HEAD; /opt/homebrew/bin/python3 scripts/check_python.py; command -v uv || true; command -v brew || true; ls /opt/homebrew/bin | head -40;
curl -LsSf https://astral.sh/uv/install.sh | UV_INSTALL_DIR="$PWD/uv-bin" UV_NO_MODIFY_PATH=1 sh
./uv-bin/uvx --python 3.12 --from . search-first --help
sed -n '1,240p' src/search_first/server.py; sed -n '1,200p' docs/examples/rate-limiter.json; sed -n '1,160p' docs/examples/rate-limiter-inspection.json; sed -n '1,180p' scripts/smoke.py
./uv-bin/uvx --python 3.12 --from . search-first <<'EOF'
{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_existing","arguments":{"idea":"a terminal tool to close idle Chrome tabs automatically","queries":["chrome idle tab close","CLI close inactive tabs"],"limit":2}}}
EOF
sed -n '1,220p' <guest-path>; sed -n '200,320p' src/search_first/server.py
cat > /tmp/mcp_call.py <<'PY'
import asyncio
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
async def main():
 p=StdioServerParameters(command='<guest-path>',args=['--python','3.12','--from','<guest-path>','search-first'])
 async with stdio_client(p) as (r,w):
  async with ClientSession(r,w) as s:
   await s.initialize()
   z=await s.call_tool('search_existing',{'idea':'a Python library for rate limiting outgoing HTTP requests','queries':['python rate limiter','http client rate limit'],'limit':2})
   print(z)
asyncio.run(main())
PY
./uv-bin/uvx --python 3.12 --from . python /tmp/mcp_call.py
mkdir -p .coldpass; cat > .coldpass/probe.json <<'EOF'
{"kind":"mcp","argv":["<guest-path>","--python","3.12","--from","<guest-path>","search-first"],"cwd":"<guest-path>","tool":"search_existing","arguments":{"idea":"a Python library for rate limiting outgoing HTTP requests","queries":["python rate limiter","http client rate limit"],"limit":2},"expected_text":"alisaifee/flask-limiter"}
EOF
cat > .coldpass/claims.json <<'EOF'
[{"kind":"claim","claim":"Search existing public GitHub projects for an idea and return a ranked shortlist.","source":"The default response returns the top **8** candidates with name, URL, stars, last push, license, relevance, idea-term coverage, missing core terms/constraints and a one-line reason.","input":"a Python library for rate limiting outgoing HTTP requests","expected":"Ranked candidates and coverage metadata","probe_kind":"mcp","argv":["<guest-path>","--python","3.12","--from","<guest-path>","search-first"],"tool":"search_existing","arguments":{"idea":"a Python library for rate limiting outgoing HTTP requests","queries":["python rate limiter","http client rate limit"],"limit":2},"expected_text":"alisaifee/flask-limiter","cwd":"<guest-path>"}]
EOF
cat > .coldpass/examples.json <<'EOF'
[{"kind":"example","claim":"Install and run documented local CLI help","source":"README.md — Install and run","input":"uvx --python 3.12 --from . search-first --help","expected":"CLI usage and documented transport options","argv":["<guest-path>","--python","3.12","--from","<guest-path>","search-first","--help"],"cwd":"<guest-path>","expected_text":"--transport {stdio,streamable-http}"}]
EOF
cat > .coldpass/cycles.json <<'EOF'
{"detected":false,"reason":"Inspected README and CLI entry point: the product serves MCP requests on demand over stdio or Streamable HTTP and defines no scheduler, recurring task, webhook, or cycle trigger.","checks":[]}
EOF
cat > .coldpass/report.json <<'EOF'
{"outcome":"working","fault_owner":null,"operation":"Installed the documented local uvx package entrypoint and called search_existing through an MCP stdio client.","operation_scope":"Unauthenticated public GitHub repository search, limited to the first two query variants by product design.","steps":["Initialized Git metadata and checked out pinned commit 2b7c5fd54b96bdd2a736eb2ae25db35d2cb71d7d.","Ran scripts/check_python.py with Python 3.14.8; it passed the Python 3.11+ requirement.","Installed uv with the documented macOS installer.","Ran uvx --python 3.12 --from . search-first --help.","Called search_existing with a real idea and two variants; the result had 2 completed queries, 0 failed, and returned ranked candidates including alisaifee/flask-limiter.","Replayed probe, README claim, example and cycle evidence using coldpass checker.","README development checks and package build were not run; they are merge/development checks, not necessary for this operation.","vault-search was unavailable in this VM (command not found)."],"deviations":[],"stuck_step":null,"main_blocker":null,"plain_failure":null,"suggested_fix":null}
EOF
COLDPASS_WORKSPACE=<guest-path> /opt/homebrew/bin/python3 -I <guest-path> --validate --replay
python3 - <<'PY'
p='.coldpass/claims.json'
s=open(p).read().replace('The default response returns the top **8** candidates with name, URL, stars, last push, license, relevance, idea-term coverage, missing core terms/constraints and a one-line reason.','The default response returns the top **8** candidates with name, URL, stars, last push, license, relevance, idea-term coverage, missing core terms/constraints and a one-line reason.')
# quote must be contiguous literal markdown text from README; checker likely strips markdown formatting? locate exact excerpt
open(p,'w').write(s)
PY
COLDPASS_WORKSPACE=<guest-path> /opt/homebrew/bin/python3 -I <guest-path> --validate --replay
python3 - <<'PY'
import json
p='.coldpass/claims.json'; x=json.load(open(p)); x[0]['source']='The server always adds one variant derived from the idea; with fewer than 2 of yours it adds more, including a topic search.'; json.dump(x,open(p,'w'))
PY
COLDPASS_WORKSPACE=<guest-path> /opt/homebrew/bin/python3 -I <guest-path> --validate --replay
rg='' ; python3 - <<'PY'
import json
p='.coldpass/claims.json'; x=json.load(open(p)); x[0]['source']='The default response returns the top **8** candidates'; json.dump(x,open(p,'w'))
PY
COLDPASS_WORKSPACE=<guest-path> /opt/homebrew/bin/python3 -I <guest-path> --validate --replay

Luna

Native agent · Checked operation passed

Checked operation <guest-path> --python 3.12 --from . search-first · local stdio MCP start + initialize + tools/list

Agent-reported scope: Run search-first as a stdio MCP server and call search_existing against public GitHub data.

MCP server returned: search-first · version 0.1.0.

MCP tools returned: search_existing, inspect_repo, compare_candidates. Tool listing does not establish authenticated tool-call success.

Run details
run
TayHCode--search-first-gpt-6-luna-1792614395071892802
date
Oct 21, 2026
time to working
64.6s
product hosting / execution
Local stdio MCP server in the guest
recorded operation scope
product operation
model
gpt-6-luna
agent / version
codex / codex-cli 0.163.0
platform
linux
reported cost
not reported (not assumed free)
Recorded source
https://github.com/TayHCode/search-first
Backend
hyperv
Tool transport
mcp-assigned-vm
Requested source pin (not an observed revision)
{"commit": "2b7c5fd54b96bdd2a736eb2ae25db35d2cb71d7d", "url": "https://github.com/TayHCode/search-first"}
Test version
readme-e7675e4c6e05f132c0a8b096a3f6b47fac68d566e8b8573cc5c429e61289127f
revision
2b7c5fd54b96bdd2a736eb2ae25db35d2cb71d7d
Whose fault: no fault assigned · resolved

Safety: Review signals: 1 connection review, 2 known vulnerability, 1 outside write.

Review signals: 1 connection review, 2 known vulnerability, 1 outside write.

Repository processes attempted these non-loopback connections; proxies can hide the final hostname. 11 distinct locations. 22 attributed processes.

OSV reports a known vulnerability in this dependency version. certifi 2 findings.

Repository processes attempted these writes outside documented output/cache paths. 39 distinct locations. 1 attributed processes.

PID 2315: <guest-path> · <guest-path>

OSV scanned supported lockfiles; unpinned dependencies and unsupported formats are outside this check.

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.

Full safety evidence →

Answers recorded for this run
  • Search GitHub for existing repositories based on a concrete idea and return a ranked shortlist with a provisional verdict.: Real input produced the expected result: verdict

    Source: An MCP server that discovers existing public projects, explains a ranked shortlist, inspects maintenance and reuse signals, and compares candidates.

    Input: {"tool": "search_existing", "arguments": {"idea": "a Chrome extension or script that closes idle browser tabs automatically", "queries": ["chrome idle tab close", "auto close tabs", "inactive tabs extension", "tab auto closer"], "limit": 8}}

    Expected: MCP search result contains candidates and verdict

    Command: <guest-path> --python 3.12 --from . search-first tools/call {"tool": "search_existing", "arguments": {"idea": "a Chrome extension or script that closes idle browser tabs automatically", "queries": ["chrome idle tab close", "auto close tabs", "inactive tabs extension", "tab auto closer"], "limit": 8}}

    Observed: verdict\": {\n \"closest_match\": {\n \"name\": \"maverick-360/vaultab\",\n \"url\": \"https://github.com/maverick-360/vaultab\"\n },\n \"plausible_candidates\": 0,\n \"adjacent_candidates\": 53,\n \"recommendation\": \"inconclusive\",\n \"reasoning\": \"Core overlap exists, but the reuse floor (25 stars, push within 365 days) or lexical plausibility threshold is unverified. Inspect their README and required behavior, then broaden queries before choosing to build. A low score does not establish that no reusable base exists.\",\n \"provisional\": true,\n \"sear

Examples

  • Install and run the documented stdio MCP server (help invocation verifies installation).: command completed successfully

    Source: README.md, Install and run

    Input: uvx --python 3.12 --from . search-first --help

    Expected: CLI usage and stdio server options

    Command: <guest-path> --python 3.12 --from . search-first --help

    Observed: SEARCH_FIRST_AUTH_TOKEN (only behind a trusted gateway) --rank-weights RANK_WEIGHTS Ranking weights as name=value,... over the defaults (or SEARCH_FIRST_RANK_WEIGHTS); names: idea_match, query_match, github_rank, variant_agreement, freshness, stars --overall-weights OVERALL_WEIGHTS Compare blend weights as name=value,... (or SEARCH_FIRST_OVERALL_WEIGHTS); names: fit, maintenance, stars

Local or hosted: local

What the agent did

Run search-first as a stdio MCP server and call search_existing against public GitHub data.

cd <guest-path> && vault-search 'search-first repository README operation setup' ; pwd; rg --files -g 'README*' -g 'AGENTS.md' -g '.github/workflows/**' -g 'pyproject.toml' -g 'package.json' -g 'Makefile' -g '*.md' | head -80; git status --short --branch; git rev-parse HEAD 2>/dev/null || true; python3 --version; id -u
cd <guest-path> && find .. -name AGENTS.md -o -iname 'README*' | head -60; ls -la; find . -maxdepth 3 -type f | head -100
cd <guest-path> && cat AGENTS.md; rg -n "Python|Install|Quick|MCP|tool|uv|run|search|serve" README.md | head -120; cat pyproject.toml; cat docs/SMOKE.md
cd <guest-path> && sed -n '1,240p' README.md
cd <guest-path> && grep -n '^##\|^###\|uvx\|headless\|search-first --' README.md | tail -60; find <guest-path> -maxdepth 2 -type f -name 'check.py' -o -name 'preflight.py'; command -v uv || true; command -v curl; git --version
cd <guest-path> && sed -n '360,390p' README.md; sed -n '630,690p' README.md; curl -LsSf https://astral.sh/uv/install.sh | UV_INSTALL_DIR="$PWD/uv-bin" UV_NO_MODIFY_PATH=1 sh
cd <guest-path> && ./uv-bin/uvx --python 3.12 --from . search-first --help
cd <guest-path> && sed -n '187,278p' README.md; sed -n '1,180p' src/search_first/server.py
cd <guest-path> && sed -n '1,240p' scripts/smoke.py; cat docs/examples/idle-tabs.json | head -c 300
cd <guest-path> && mkdir -p .coldpass && cat > .coldpass/probe.json <<'EOF'
{"kind":"mcp","argv":["<guest-path>","--python","3.12","--from",".","search-first"],"cwd":"<guest-path>","tool":"search_existing","arguments":{"idea":"a Chrome extension or script that closes idle browser tabs automatically","queries":["chrome idle tab close","auto close tabs","inactive tabs extension","tab auto closer"],"limit":8},"expected_text":"verdict"}
EOF
cat > .coldpass/claims.json <<'EOF'
[{"kind":"claim","claim":"Search GitHub for existing repositories based on a concrete idea and return a ranked shortlist with a provisional verdict.","source":"An MCP server that discovers existing public projects, explains a ranked shortlist, inspects maintenance and reuse signals, and compares candidates.","input":"a Chrome extension or script that closes idle browser tabs automatically","expected":"MCP search result contains candidates and verdict","probe_kind":"mcp","argv":["<guest-path>","--python","3.12","--from",".","search-first"],"tool":"search_existing","arguments":{"idea":"a Chrome extension or script that closes idle browser tabs automatically","queries":["chrome idle tab close","auto close tabs","inactive tabs extension","tab auto closer"],"limit":8},"expected_text":"verdict","cwd":"<guest-path>"}]
EOF
cat > .coldpass/examples.json <<'EOF'
[{"kind":"example","claim":"Install and run the documented stdio MCP server (help invocation verifies installation).","source":"README.md, Install and run","input":"uvx --python 3.12 --from . search-first --help","expected":"CLI usage and stdio server options","argv":["<guest-path>","--python","3.12","--from",".","search-first","--help"],"cwd":"<guest-path>","expected_text":"usage: search-first"}]
EOF
cat > .coldpass/cycles.json <<'EOF'
{"detected":false,"reason":"Inspected README run instructions and server entrypoint: this product responds to MCP tool calls and has no scheduled or recurring cycle; its useful operation is a direct search_existing call.","checks":[]}
EOF

cd <guest-path> && cat .coldpass/probe.json; COLDPASS_WORKSPACE=<guest-path> python3 -I <guest-path> --validate --replay
cd <guest-path> && python3 - <<'PY'
from pathlib import Path
p=Path('.coldpass/claims.json')
s=p.read_text().replace('An MCP server that discovers existing public projects, explains a ranked shortlist, inspects maintenance and reuse signals, and compares candidates.','An MCP server that discovers existing public projects, explains a ranked shortlist,\ninspects maintenance and reuse signals, and compares candidates.')
p.write_text(s)
PY
COLDPASS_WORKSPACE=<guest-path> python3 -I <guest-path> --validate --replay
cd <guest-path> && cat > .coldpass/claims.json <<'EOF'
[{"kind":"claim","claim":"Search GitHub for existing repositories based on a concrete idea and return a ranked shortlist with a provisional verdict.","source":"An MCP server that discovers existing public projects, explains a ranked shortlist,\ninspects maintenance and reuse signals, and compares candidates.","input":"a Chrome extension or script that closes idle browser tabs automatically","expected":"MCP search result contains candidates and verdict","probe_kind":"mcp","argv":["<guest-path>","--python","3.12","--from",".","search-first"],"tool":"search_existing","arguments":{"idea":"a Chrome extension or script that closes idle browser tabs automatically","queries":["chrome idle tab close","auto close tabs","inactive tabs extension","tab auto closer"],"limit":8},"expected_text":"verdict","cwd":"<guest-path>"}]
EOF
COLDPASS_WORKSPACE=<guest-path> python3 -I <guest-path> --validate --replay
cd <guest-path> && cat > .coldpass/report.json <<'EOF'
{"outcome":"working","fault_owner":null,"operation":"Run search-first as a stdio MCP server and call search_existing against public GitHub data.","operation_scope":"README-documented Python 3.12 uvx install/run path; unauthenticated GitHub search is limited to two query variants.","steps":["Checked Python 3.12.3 against README minimum Python 3.11.","Installed uv with the README official installer into workspace/uv-bin.","Ran uvx --python 3.12 --from . search-first --help; package built and usage printed.","Started the README-documented stdio server through uvx and called search_existing with the README idle-tabs sample.","Ran checker --validate --replay successfully; tool returned ranked candidate data and a verdict."],"deviations":["vault-search and rg are unavailable in this guest; used find and grep to inspect files.","Unauthenticated request budget returned an inconclusive provisional assessment; results are bounded and public API metadata only."],"stuck_step":null,"main_blocker":null,"plain_failure":null,"suggested_fix":null}
EOF
COLDPASS_WORKSPACE=<guest-path> python3 -I <guest-path> --validate --replay > <guest-path>; python3 -c 'import json; d=json.load(open("<guest-path>")); print(json.dumps({"valid":d.get("valid"),"problems":d.get("problems"),"replay_status":d.get("replay",{}).get("status"),"working":d.get("replay",{}).get("details",{}).get("working")}))'; ls -la .coldpass

Haiku 5.5

Native agent · Checked operation passed

Checked operation 'C:\coldpass\uv-bin\uvx.exe' --python 3.12 --from . search-first · local stdio MCP start + initialize + tools/list

Agent-reported scope: Install search-first with the README uvx route and run inspect_repo through the MCP stdio server against bboe/extended_http_server

MCP server returned: search-first · version 0.1.0.

MCP tools returned: search_existing, inspect_repo, compare_candidates. Tool listing does not establish authenticated tool-call success.

Run details
run
TayHCode--search-first-claude-haiku-5-5-1792607730579598979
date
Oct 21, 2026
time to working
369.1s
product hosting / execution
Local stdio MCP server in the guest
recorded operation scope
product operation
model
claude-haiku-5-5
agent / version
claude-code / 2.1.300 (Claude Code)
platform
windows
reported cost
$0.044065
Recorded source
https://github.com/TayHCode/search-first
Backend
hyperv
Tool transport
mcp-assigned-vm
Requested source pin (not an observed revision)
{"commit": "2b7c5fd54b96bdd2a736eb2ae25db35d2cb71d7d", "url": "https://github.com/TayHCode/search-first"}
Test version
readme-46075cc0a15054283edf08e1dffafeab70fc0eb7363f730a3d9f58040b16649a
revision
2b7c5fd54b96bdd2a736eb2ae25db35d2cb71d7d
Whose fault: unknown · pending

Safety: Review signals: 2 known vulnerability.

Review signals: 2 known vulnerability.

OSV reports a known vulnerability in this dependency version. certifi 2 findings.

OSV scanned supported lockfiles; unpinned dependencies and unsupported formats are outside this check.

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.

windows behavior observation needs an OS-native file/network/process collector; only the static scan ran.

No Linux syscall trace was collected.

Full safety evidence →

Answers recorded for this run
  • inspect_repo accepts owner/repo and returns repository metadata: Real input produced the expected result: bboe/extended_http_server

    Source: Accepts `owner/repo` or `https://github.com/owner/repo`.

    Input: {"tool": "inspect_repo", "arguments": {"repo": "bboe/extended_http_server"}}

    Expected: bboe/extended_http_server

    Command: 'C:\coldpass\uv-bin\uvx.exe' --python 3.12 --from . search-first tools/call {"tool": "inspect_repo", "arguments": {"repo": "bboe/extended_http_server"}}

    Observed: bboe/extended_http_server\",\n \"url\": \"https://github.com/bboe/extended_http_server\",\n \"description\": \"An extended version of python's SimpleHTTPServer that supports https, authentication, rate limiting, and download resuming.\",\n \"stars\": 92,\n \"forks\": 9,\n \"last_push\": \"2026-08-05T06:08:41Z\",\n \"archived\": false,\n \"license\": \"BSD-2-Clause\",\n \"license_name\": \"BSD 2-Clause \\\"Simplified\\\" License\",\n \"language\": \"Python\",\n \"topics\": [\n \"cli\",\n \"http-server\",\n \"https\",\n \"python\"\n ],\n \"size_kb\": 83,\n \"notes\": [\n

Examples

  • README quickstart --help verifies installation: command completed successfully

    Input: 'C:\coldpass\uv-bin\uvx.exe' --python 3.12 --from . search-first --help

    Expected: documented command completes successfully

    Command: 'C:\coldpass\uv-bin\uvx.exe' --python 3.12 --from . search-first --help

    Observed: SEARCH_FIRST_AUTH_TOKEN (only behind a trusted gateway) --rank-weights RANK_WEIGHTS Ranking weights as name=value,... over the defaults (or SEARCH_FIRST_RANK_WEIGHTS); names: idea_match, query_match, github_rank, variant_agreement, freshness, stars --overall-weights OVERALL_WEIGHTS Compare blend weights as name=value,... (or SEARCH_FIRST_OVERALL_WEIGHTS); names: fit, maintenance, stars

Local or hosted: local

What the agent did

Install search-first with the README uvx route and run inspect_repo through the MCP stdio server against bboe/extended_http_server

uname -a; id -u; pwd; ls -la C:/coldpass/workspace 2>/dev/null || ls -la /workspace 2>/dev/null; ls -la /workspace 2>/dev/null | head -50
cat /workspace/README.md 2>/dev/null | head -300
Set-Location C:\coldpass\workspace; Get-ChildItem -Force | Select-Object Mode,Length,Name | Format-Table -AutoSize | Out-String -Width 200; $PSVersionTable.PSVersion; [System.Environment]::OSVersion.VersionString; whoami
Set-Location C:\coldpass\workspace; Get-ChildItem -Recurse -Force -Depth 2 | Select-Object -First 200 FullName | Out-String -Width 300; Get-Content -Raw README.md
Set-Location C:\coldpass\workspace; & C:\coldpass\python\python.exe --version; Get-Command uv,uvx,git,py,python -ErrorAction SilentlyContinue | Select-Object Name,Source | Out-String; Test-Path .git; Get-Content -Raw .coldpass\* -ErrorAction SilentlyContinue | Out-String -Width 200; Get-ChildItem C:\coldpass -Force | Select-Object Name | Out-String; Get-ChildItem C:\coldpass\checker -ErrorAction SilentlyContinue | Select-Object Name | Out-String
Set-Location C:\coldpass\workspace; Get-ChildItem -Force .coldpass | Out-String; Get-Content scripts\check_python.py | Out-String; Write-Output "--- proxy env"; Get-ChildItem env: | Where-Object { $_.Name -match 'PROXY|proxy' } | Out-String; Write-Output "--- net"; try { (Invoke-WebRequest -UseBasicParsing -Uri https://astral.sh/uv/install.ps1 -TimeoutSec 20).StatusCode } catch { "ERR: " + $_.Exception.Message }; try { (Invoke-WebRequest -UseBasicParsing -Uri https://github.com -Method Head -TimeoutSec 20).StatusCode } catch { "ERR gh: " + $_.Exception.Message }; try { (Invoke-WebRequest -UseBasicParsing -Uri https://pypi.org/simple/pip/ -Method Head -TimeoutSec 20).StatusCode } catch { "ERR pypi: " + $_.Exception.Message }
$env:UV_INSTALL_DIR='C:\coldpass\uv-bin'; $env:UV_NO_MODIFY_PATH='1'; powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"; Write-Output "exit=$LASTEXITCODE"; & C:\coldpass\uv-bin\uv.exe --version; & C:\coldpass\uv-bin\uvx.exe --version
$env:UV_INSTALL_DIR='C:\coldpass\uv-bin'; $env:UV_NO_MODIFY_PATH='1'; irm https://astral.sh/uv/install.ps1 | iex; Write-Output "exit=$LASTEXITCODE"; & C:\coldpass\uv-bin\uv.exe --version; & C:\coldpass\uv-bin\uvx.exe --version
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass -Force; $env:UV_INSTALL_DIR='C:\coldpass\uv-bin'; $env:UV_NO_MODIFY_PATH='1'; irm https://astral.sh/uv/install.ps1 | iex; Write-Output "exit=$LASTEXITCODE"; & C:\coldpass\uv-bin\uv.exe --version; & C:\coldpass\uv-bin\uvx.exe --version
Set-Location C:\coldpass\workspace; Get-Content -Raw pyproject.toml | Out-String; Get-Content -Raw release-check.json | Out-String -Width 300 | Select-Object -First 1; Get-Content -Raw AGENTS.md
Set-Location C:\coldpass\workspace; & C:\coldpass\uv-bin\uvx.exe --python 3.12 --from . search-first --help; Write-Output "exit=$LASTEXITCODE"
Set-Location C:\coldpass\workspace; $msgs = @'
{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"manual","version":"1"}}}
{"jsonrpc":"2.0","method":"notifications/initialized"}
{"jsonrpc":"2.0","id":2,"method":"tools/list"}
{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"inspect_repo","arguments":{"repo":"bboe/extended_http_server"}}}
'@; $msgs | & C:\coldpass\uv-bin\uvx.exe --python 3.12 --from . search-first 2>$null | Out-String -Width 4000 | Select-Object -First 1 | ForEach-Object { $_.Substring(0, [Math]::Min(6000, $_.Length)) }
Set-Location C:\coldpass\workspace; $p = New-Object System.Diagnostics.Process; $p.StartInfo.FileName='C:\coldpass\uv-bin\uvx.exe'; $p.StartInfo.Arguments='--python 3.12 --from . search-first'; $p.StartInfo.WorkingDirectory='C:\coldpass\workspace'; $p.StartInfo.UseShellExecute=$false; $p.StartInfo.RedirectStandardInput=$true; $p.StartInfo.RedirectStandardOutput=$true; $p.StartInfo.RedirectStandardError=$true; $p.Start() | Out-Null; $in=$p.StandardInput; $in.WriteLine('{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"manual","version":"1"}}}'); $in.Flush(); Start-Sleep -Seconds 8; $in.WriteLine('{"jsonrpc":"2.0","method":"notifications/initialized"}'); $in.WriteLine('{"jsonrpc":"2.0","id":2,"method":"tools/list"}'); $in.Flush(); Start-Sleep -Seconds 8; $in.WriteLine('{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"inspect_repo","arguments":{"repo":"bboe/extended_http_server"}}}'); $in.Flush(); Start-Sleep -Seconds 20; $in.Close(); $p.WaitForExit(30000) | Out-Null; "exited=" + $p.HasExited; $out = $p.StandardOutput.ReadToEnd(); $err=$p.StandardError.ReadToEnd(); "STDOUT:"; $out.Substring(0,[Math]::Min(5000,$out.Length)); "STDERR:"; $err.Substring(0,[Math]::Min(3000,$err.Length))
Set-Location C:\coldpass\workspace; $p = New-Object System.Diagnostics.Process; $p.StartInfo.FileName='C:\coldpass\uv-bin\uvx.exe'; $p.StartInfo.Arguments='--python 3.12 --from . search-first'; $p.StartInfo.WorkingDirectory='C:\coldpass\workspace'; $p.StartInfo.UseShellExecute=$false; $p.StartInfo.RedirectStandardInput=$true; $p.StartInfo.RedirectStandardOutput=$true; $p.StartInfo.RedirectStandardError=$true; $p.Start() | Out-Null; $in=$p.StandardInput; $in.WriteLine('{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"manual","version":"1"}}}'); $in.Flush(); $null=$p.StandardOutput.ReadLine(); $in.WriteLine('{"jsonrpc":"2.0","method":"notifications/initialized"}'); $in.WriteLine('{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"inspect_repo","arguments":{"repo":"bboe/extended_http_server"}}}'); $in.Flush(); $line=$p.StandardOutput.ReadLine(); $line.Substring(0,[Math]::Min(2500,$line.Length)); $in.Close(); $p.Kill() | Out-Null; "killed"
Set-Location C:\coldpass\workspace; $c = Get-Content -Raw C:\coldpass\checker\check.py; $c.Length; $c.Substring(0, [Math]::Min(9000, $c.Length))
Set-Location C:\coldpass\workspace; $c = Get-Content -Raw C:\coldpass\checker\check.py; $lines = $c -split "`n"; for ($i=0; $i -lt $lines.Count; $i++) { if ($lines[$i] -match "'tool'|'arguments'|'expected_text'|'expected_file'|'expected_returncode'|'stays_running'|--validate|--replay|'headers'|'deferred'|'testable'|'cycle|'detected'|'claims.json'|probe\.json|cycles\.json|examples\.json|'mcp_http'|'stdin'|'source_file'|def main|argparse|add_argument") { "{0}: {1}" -f ($i+1), $lines[$i].Trim() } }
Set-Location C:\coldpass\workspace; $p = New-Object System.Diagnostics.Process; $p.StartInfo.FileName='C:\coldpass\uv-bin\uvx.exe'; $p.StartInfo.Arguments='--python 3.12 --from . search-first'; $p.StartInfo.WorkingDirectory='C:\coldpass\workspace'; $p.StartInfo.UseShellExecute=$false; $p.StartInfo.RedirectStandardInput=$true; $p.StartInfo.RedirectStandardOutput=$true; $p.StartInfo.RedirectStandardError=$true; $p.Start() | Out-Null; $in=$p.StandardInput; $in.WriteLine('{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"manual","version":"1"}}}'); $in.Flush(); $null=$p.StandardOutput.ReadLine(); $in.WriteLine('{"jsonrpc":"2.0","method":"notifications/initialized"}'); $in.WriteLine('{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"search_existing","arguments":{"idea":"a Python library for rate limiting outgoing HTTP requests","queries":["python http rate limiter","outgoing request throttle"],"limit":3}}}'); $in.Flush(); $line=$p.StandardOutput.ReadLine(); $line.Substring(0,[Math]::Min(3000,$line.Length)); $in.Close(); $p.Kill() | Out-Null; "killed"; Write-Output "--- schedule/webhook grep"; Get-ChildItem -Recurse -File src | Select-String -Pattern 'schedul|cron|--once|--now|webhook|loop|while True|sleep\(' | Select-Object Path,LineNumber,Line | Out-String -Width 300
Set-Location C:\coldpass\workspace; (Get-Content src\search_first\discovery.py | Select-Object -Index (40..52)) -join "`n"; Write-Output "--- gitignore"; Get-Content .gitignore | Out-String; Write-Output "--- uv sync + tests"; $env:UV_PROJECT_ENVIRONMENT=''; & C:\coldpass\uv-bin\uv.exe sync --locked --extra dev --python 3.12 2>&1 | Out-String -Width 300; Write-Output "sync exit=$LASTEXITCODE"
Set-Location C:\coldpass\workspace; & C:\coldpass\uv-bin\uv.exe run --locked pytest -q 2>&1 | Out-String -Width 300; Write-Output "pytest exit=$LASTEXITCODE"; Write-Output "--- README test lines"; Select-String -Path README.md -Pattern 'pytest|test' | ForEach-Object { $_.Line }; Write-Output "--- coldpass dir"; Test-Path .coldpass; Get-Process | Where-Object { $_.ProcessName -match 'uvx|search-first|python' } | Select-Object Id,ProcessName | Out-String
Set-Location C:\coldpass\workspace; Get-CimInstance Win32_Process -Filter "ProcessId=3356" | Select-Object ProcessId,CommandLine | Out-String -Width 300; Write-Output "--- .coldpass:"; Get-ChildItem -Force .coldpass | Select-Object Name,Length | Out-String; Write-Output "--- discovery loop context"; Select-String -Path src\search_first\discovery.py -Pattern 'while True|def ' | ForEach-Object { $_.Line }
Set-Location C:\coldpass\checker; Select-String -Path check.py -Pattern '"(kind|argv|cwd|tool|arguments|expected_text|expected_file|claims|cycles|examples|detected|reason|checks|outcome|fault_owner|operation|steps|deviations|report|id|input|command|out|source|readme_quote|quote|section|status|schema)"' | ForEach-Object { $_.LineNumber.ToString() + ': ' + $_.Line.Trim() } | Select-Object -First 120
Set-Location C:\coldpass\checker; Get-ChildItem | Select-Object Name,Length | Out-String; (Get-Content check.py -Raw).Length; Select-String -Path check.py -Pattern 'probe|claims|cycles|examples|report|expected|detected|outcome|fault' | ForEach-Object { '{0}: {1}' -f $_.LineNumber, $_.Line.Trim() } | Select-Object -First 150
Set-Location C:\coldpass\workspace; $dir = 'C:\coldpass\workspace\.coldpass'; $u = New-Object System.Text.UTF8Encoding($false)
$uvx = 'C:\coldpass\uv-bin\uvx.exe'
$probe = @'
{
  "kind": "mcp",
  "argv": ["C:\\coldpass\\uv-bin\\uvx.exe", "--python", "3.12", "--from", ".", "search-first"],
  "cwd": "C:\\coldpass\\workspace",
  "tool": "inspect_repo",
  "arguments": {"repo": "bboe/extended_http_server"},
  "expected_text": "bboe/extended_http_server"
}
'@
$claims = @'
[
  {
    "claim": "`--help` verifies installation without GitHub credentials",
    "kind": "cli",
    "source_file": "README.md",
    "quote": "`--help` and fixture tests work without authentication.",
    "source_checked": true,
    "input": "--help",
    "argv": ["C:\\coldpass\\uv-bin\\uvx.exe", "--python", "3.12", "--from", ".", "search-first", "--help"],
    "command": "C:\\coldpass\\uv-bin\\uvx.exe --python 3.12 --from . search-first --help",
    "expected": "Search GitHub before building (MCP server).",
    "expected_text": "Search GitHub before building (MCP server)."
  },
  {
    "claim": "inspect_repo accepts owner/repo and returns repository metadata",
    "kind": "mcp",
    "source_file": "README.md",
    "quote": "Accepts `owner/repo` or `https://github.com/owner/repo`.",
    "source_checked": true,
    "input": "bboe/extended_http_server",
    "argv": ["C:\\coldpass\\uv-bin\\uvx.exe", "--python", "3.12", "--from", ".", "search-first"],
    "tool": "inspect_repo",
    "arguments": {"repo": "bboe/extended_http_server"},
    "expected": "bboe/extended_http_server",
    "expected_text": "bboe/extended_http_server"
  }
]
'@
$cycles = @'
{
  "detected": false,
  "reason": "No scheduler, cron, --once, or webhook entry point found. pyproject.toml exposes only the search-first console script (search_first.server:main). The only while True loop in src is in clean_untrusted_text (discovery.py), a text-cleaning loop; github.py sleep is rate-limit pacing, not a recurring cycle.",
  "checks": []
}
'@
$examples = @'
[
  {
    "claim": "README quickstart --help verifies installation",
    "argv": ["C:\\coldpass\\uv-bin\\uvx.exe", "--python", "3.12", "--from", ".", "search-first", "--help"],
    "command": "uvx --python 3.12 --from . search-first --help",
    "expected_returncode": 0,
    "expected_text": "Search GitHub before building (MCP server)."
  }
]
'@
[IO.File]::WriteAllText("$dir\probe.json", $probe.Trim(), $u)
[IO.File]::WriteAllText("$dir\claims.json", $claims.Trim(), $u)
[IO.File]::WriteAllText("$dir\cycles.json", $cycles.Trim(), $u)
[IO.File]::WriteAllText("$dir\examples.json", $examples.Trim(), $u)
Get-ChildItem $dir | Select-Object Name,Length | Out-String
& C:\coldpass\uv-bin\uvx.exe --python 3.12 --from . search-first --help 2>&1 | Out-String -Width 300
Set-Location C:\coldpass\workspace; $u = New-Object System.Text.UTF8Encoding($false)
$report = @'
{
  "outcome": "working",
  "fault_owner": "none",
  "operation": "Install search-first with the README uvx route and run inspect_repo through the MCP stdio server against bboe/extended_http_server",
  "steps": [
    "Installed uv 0.13.4 to C:\\coldpass\\uv-bin using the README installer (irm https://astral.sh/uv/install.ps1 | iex)",
    "Ran uvx --python 3.12 --from . search-first --help; output contains 'Search GitHub before building (MCP server).'",
    "Ran uv sync --locked --extra dev and uv run --locked pytest -q: 196 passed, 5 skipped",
    "Started the MCP stdio server with uvx and called tools/call inspect_repo with repo bboe/extended_http_server; result includes name bboe/extended_http_server and license BSD-2-Clause",
    "Called search_existing as an exploration step (verdict inconclusive, live GitHub data; not used as a replayed claim)",
    "Confirmed no stray server process remained"
  ],
  "deviations": [
    "Skipped git metadata steps (git init, remote add, fetch pinned commit 2b7c5fd54b96bdd2a736eb2ae25db35d2cb71d7d, reset) because git is not installed in the guest and packaging does not need it; the supplied tree was used as-is",
    "Had to set PowerShell execution policy to Bypass for the current process (Set-ExecutionPolicy -Scope Process) before the uv installer would run",
    "MCP stdio requests were sent one at a time, waiting for each response, because writing and closing stdin at once produced no response"
  ],
  "cycles": "No scheduler, cron, --once, or webhook entry point found; see cycles.json",
  "evidence": [".coldpass/probe.json", ".coldpass/claims.json", ".coldpass/cycles.json", ".coldpass/examples.json"]
}
'@
[IO.File]::WriteAllText("C:\coldpass\workspace\.coldpass\report.json", $report.Trim(), $u)
$env:COLDPASS_WORKSPACE='C:\coldpass\workspace'; & C:\coldpass\python\python.exe -I C:\coldpass\checker\check.py --validate --replay 2>&1 | Out-String -Width 300; Write-Output "checker exit=$LASTEXITCODE"
Set-Location C:\coldpass\workspace; $t = Get-Content README.md -Raw; foreach ($p in @('authentication.','Accepts `owner','or `https://github.com/owner/repo`','--help` and fixture')) { $i = $t.IndexOf($p); if ($i -ge 0) { Write-Output ("FOUND [$p]: " + ($t.Substring([Math]::Max(0,$i-120), 200) -replace "`r`n",'\n')) } else { Write-Output "MISSING [$p]" } }
Set-Location C:\coldpass\checker; $l = Get-Content check.py; $l[934..957] -join "`n"
Set-Location C:\coldpass\workspace; $u = New-Object System.Text.UTF8Encoding($false); $p = 'C:\coldpass\workspace\.coldpass\claims.json'; $items = Get-Content $p -Raw | ConvertFrom-Json; foreach ($i in $items) { $i | Add-Member -NotePropertyName source -NotePropertyValue $i.quote; $i.PSObject.Properties.Remove('quote') }; [IO.File]::WriteAllText($p, (ConvertTo-Json -InputObject @($items) -Depth 6), $u); $env:COLDPASS_WORKSPACE='C:\coldpass\workspace'; & C:\coldpass\python\python.exe -I C:\coldpass\checker\check.py --validate --replay 2>&1 | Out-String -Width 400; Write-Output "checker exit=$LASTEXITCODE"
Set-Location C:\coldpass\workspace; $u = New-Object System.Text.UTF8Encoding($false); $p = 'C:\coldpass\workspace\.coldpass\claims.json'; $items = @(Get-Content $p -Raw | ConvertFrom-Json | Where-Object { $_.claim -like 'inspect_repo*' }); [IO.File]::WriteAllText($p, (ConvertTo-Json -InputObject $items -Depth 6), $u); $env:COLDPASS_WORKSPACE='C:\coldpass\workspace'; & C:\coldpass\python\python.exe -I C:\coldpass\checker\check.py --validate --replay 2>&1 | Out-String -Width 400 | ForEach-Object { $_.Substring(0, [Math]::Min(1500, $_.Length)) }; Write-Output "checker exit=$LASTEXITCODE"; Get-Process | Where-Object { $_.ProcessName -match 'uvx|search-first' } | Select-Object Id,ProcessName | Out-String
Get-Content C:\coldpass\workspace\.coldpass\claims.json -Raw; Write-Output "---"; Select-String -Path C:\coldpass\checker\check.py -Pattern 'def claim_source_checked' -Context 0,12 | ForEach-Object { $_.Line; $_.Context.PostContext }
Set-Location C:\coldpass\workspace; $u = New-Object System.Text.UTF8Encoding($false)
$claims = @'
[
  {
    "claim": "inspect_repo accepts owner/repo and returns repository metadata",
    "kind": "mcp",
    "source_file": "README.md",
    "source": "Accepts `owner/repo` or `https://github.com/owner/repo`.",
    "source_checked": true,
    "input": "bboe/extended_http_server",
    "argv": ["C:\\coldpass\\uv-bin\\uvx.exe", "--python", "3.12", "--from", ".", "search-first"],
    "tool": "inspect_repo",
    "arguments": {"repo": "bboe/extended_http_server"},
    "expected": "bboe/extended_http_server",
    "expected_text": "bboe/extended_http_server"
  }
]
'@
[IO.File]::WriteAllText('C:\coldpass\workspace\.coldpass\claims.json', $claims.Trim(), $u)
$env:COLDPASS_WORKSPACE='C:\coldpass\workspace'; & C:\coldpass\python\python.exe -I C:\coldpass\checker\check.py --validate --replay 2>&1 | Out-String -Width 400 | ForEach-Object { $_.Substring(0, [Math]::Min(1200, $_.Length)) }; Write-Output "checker exit=$LASTEXITCODE"; Get-Process | Where-Object { $_.ProcessName -match 'uvx|search-first' } | Select-Object Id,ProcessName | Out-String
Set-Location C:\coldpass\workspace; $u = New-Object System.Text.UTF8Encoding($false); $p='C:\coldpass\workspace\.coldpass\report.json'; $r = Get-Content $p -Raw | ConvertFrom-Json; $r.deviations += 'The README --help statement was not kept as a claim: the checker treats help output as partial evidence. The --help check is recorded in examples.json instead; claims.json keeps only the inspect_repo claim'; [IO.File]::WriteAllText($p, ($r | ConvertTo-Json -Depth 6), $u); $env:COLDPASS_WORKSPACE='C:\coldpass\workspace'; & C:\coldpass\python\python.exe -I C:\coldpass\checker\check.py --validate --replay 2>&1 | Out-String -Width 400 | ForEach-Object { $_.Substring(0, [Math]::Min(300, $_.Length)) }; Write-Output "checker exit=$LASTEXITCODE"; Get-Process | Where-Object { $_.ProcessName -match 'uvx|search-first' } | Measure-Object | ForEach-Object { "stray server processes: $($_.Count)" }

Haiku 5.5

Native agent · Checked operation passed

Checked operation <guest-path> --python 3.12 --from <guest-path> search-first · local stdio MCP start + initialize + tools/list

Agent-reported scope: Start the search-first MCP server over stdio with the README uvx command and call search_existing (and inspect_repo) to get a real ranked GitHub shortlist for an idea

MCP server returned: search-first · version 0.1.0.

MCP tools returned: search_existing, inspect_repo, compare_candidates. Tool listing does not establish authenticated tool-call success.

Run details
run
TayHCode--search-first-claude-haiku-5-5-1792607402277902526
date
Oct 21, 2026
time to working
149.5s
product hosting / execution
Local stdio MCP server in the guest
recorded operation scope
product operation
model
claude-haiku-5-5
agent / version
claude-code / 2.1.300 (Claude Code)
platform
macos
reported cost
$0.021908
Recorded source
https://github.com/TayHCode/search-first
Backend
tart
Tool transport
mcp-assigned-vm
Requested source pin (not an observed revision)
{"commit": "2b7c5fd54b96bdd2a736eb2ae25db35d2cb71d7d", "url": "https://github.com/TayHCode/search-first"}
Test version
readme-b08aaa568d9005099b995fc51d01450b15d399d9445aa4d6f554b73c4f2218b9
revision
2b7c5fd54b96bdd2a736eb2ae25db35d2cb71d7d
Whose fault: no fault assigned · resolved

Safety: Review signals: 2 known vulnerability.

Review signals: 2 known vulnerability.

OSV reports a known vulnerability in this dependency version. certifi 2 findings.

OSV scanned supported lockfiles; unpinned dependencies and unsupported formats are outside this check.

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.

macos behavior observation needs an OS-native file/network/process collector; only the static scan ran.

No Linux syscall trace was collected.

Full safety evidence →

Answers recorded for this run
  • search_existing discovers existing public GitHub projects and returns a ranked shortlist with a verdict for an idea: Real input produced the expected result: TayHCode/cdpidletabs

    Source: An MCP server that discovers existing public projects, explains a ranked shortlist,

    Input: {"tool": "search_existing", "arguments": {"idea": "a terminal tool that closes idle browser tabs automatically", "queries": ["chrome idle tabs", "close inactive tabs"], "limit": 3}}

    Expected: JSON containing a verdict and candidates ranked from GitHub search, including TayHCode/cdpidletabs

    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}}

    Observed: 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

  • inspect_repo returns the SPDX license and name of a public repository: Real input produced the expected result: MIT License

    Source: README excerpt, SPDX license/name, size in KB, up to five last commits, open issue

    Input: {"tool": "inspect_repo", "arguments": {"repo": "TayHCode/search-first"}}

    Expected: JSON with license_name MIT License for TayHCode/search-first

    Command: <guest-path> --python 3.12 --from <guest-path> search-first tools/call {"tool": "inspect_repo", "arguments": {"repo": "TayHCode/search-first"}}

    Observed: 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

Examples

  • Automated test suite passes using the documented locked dev environment: command completed successfully

    Source: README.md#proof-and-development

    Input: uv run --locked pytest -q

    Expected: all tests pass

    Command: <guest-path> run --locked pytest -q

    Observed: ........................................................................ [ 35%] ........................................................................ [ 71%] ......................................................... [100%] 201 passed in 1.60s

  • Ruff lint check passes on the repository: command completed successfully

    Source: README.md#proof-and-development

    Input: uv run --locked ruff check .

    Expected: no lint findings

    Command: <guest-path> run --locked ruff check .

    Observed: All checks passed!

  • Type check passes on the source: command completed successfully

    Source: README.md#proof-and-development

    Input: uv run --locked mypy

    Expected: no type errors

    Command: <guest-path> run --locked mypy

    Observed: Success: no issues found in 7 source files

Local or hosted: local

What the agent did

Start the search-first MCP server over stdio with the README uvx command and call search_existing (and inspect_repo) to get a real ranked GitHub shortlist for an idea

uname -a; id -u; cat /etc/os-release 2>/dev/null | head -3; cd <guest-path> && pwd && ls -la && git status 2>&1 | head -2
cd <guest-path> && cat README.md 2>/dev/null | head -300
cd <guest-path> && sed -n 300,600p README.md | grep -v '^$' | head -220; echo ---; ls .coldpass; cat AGENTS.md; echo ---; /opt/homebrew/bin/python3 --version; which uv uvx; ls scripts; cat scripts/check_python.py | head -40
cd <guest-path> && git init -q && git remote add origin https://github.com/TayHCode/search-first.git && (git fetch --depth 1 origin 2b7c5fd54b96bdd2a736eb2ae25db35d2cb71d7d 2>&1 | tail -3); git reset --mixed FETCH_HEAD 2>&1 | tail -2; git log --oneline -1 2>&1; echo ---; mkdir -p "$HOME/uv-bin" && curl -LsSf https://astral.sh/uv/install.sh | UV_INSTALL_DIR="$HOME/uv-bin" UV_NO_MODIFY_PATH=1 sh 2>&1 | tail -3; "$HOME/uv-bin/uv" --version
cd <guest-path> && echo $HOME && UVX="$HOME/uv-bin/uvx"; "$UVX" --python 3.12 --from . search-first --help 2>&1 | tail -40; echo "rc=${PIPESTATUS[0]}"
cd <guest-path> && grep -n '^#' README.md; echo ---; sed -n '/^## Proof and development/,/^## [A-Z]/p' README.md | head -80; echo ---; env | grep -i -E 'token|proxy' | sed 's/=.*/=<set>/'; curl -sS -m 10 -o /dev/null -w '%{http_code}\n' https://api.github.com/rate_limit
cd <guest-path> && UV="$HOME/uv-bin/uv"; "$UV" sync --locked --extra dev --python 3.12 2>&1 | tail -5; echo "sync rc=${PIPESTATUS[0]}"; timeout 600 "$UV" run --locked pytest -q 2>&1 | tail -8; echo "pytest rc=${PIPESTATUS[0]}"
cd <guest-path> && UV="$HOME/uv-bin/uv"; "$UV" run --locked pytest -q 2>&1 | tail -8; echo "pytest rc=${PIPESTATUS[0]}"; "$UV" run --locked ruff check . 2>&1 | tail -2; echo "ruff rc=${PIPESTATUS[0]}"
mkdir -p <guest-path> && cat > <guest-path> <<'EOF'
import asyncio, json, sys
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
UVX = "<guest-path>"
async def main():
    params = StdioServerParameters(command=sys.argv[1], args=sys.argv[2:])
    async with stdio_client(params) as (r, w):
        async with ClientSession(r, w) as s:
            await s.initialize()
            tools = await s.list_tools()
            print("TOOLS:", [t.name for t in tools.tools])
            res = await s.call_tool("search_existing", {
                "idea": "a terminal tool that closes idle browser tabs automatically",
                "queries": ["chrome idle tabs", "close inactive tabs"],
                "limit": 3})
            for c in res.content:
                print(c.text[:1500])
asyncio.run(main())
EOF
ln -sf "$HOME/uv-bin/uvx" <guest-path>; cd <guest-path> && <guest-path> -I <guest-path> <guest-path> --python 3.12 --from <guest-path> search-first 2>&1 | tail -60
rm -f <guest-path>; cd <guest-path> && <guest-path> -I <guest-path> <guest-path> --python 3.12 --from <guest-path> search-first 2>&1 | tail -40
ls -la <guest-path>; cd <guest-path> && <guest-path> -I <guest-path> <guest-path> --python 3.12 --from <guest-path> search-first 2>&1 | tail -40
cd <guest-path> && grep -rn -i -E 'cron|schedul|--once|--now|while True|sleep\(|webhook' src pyproject.toml | head; echo "grep rc=$?"; UV="<guest-path>"; "$UV" run --locked mypy 2>&1 | tail -2; echo "mypy rc=${PIPESTATUS[0]}"; "$UV" run --locked ruff format --check . 2>&1 | tail -1; echo "fmt rc=${PIPESTATUS[0]}"; "$UV" run --locked python -m build --outdir <guest-path> 2>&1 | tail -2; echo "build rc=${PIPESTATUS[0]}"
cd <guest-path> && sed -n 40,60p src/search_first/discovery.py; grep -n 'def main\|add_argument' src/search_first/*.py | head -30
cat > <guest-path> <<'EOF'
import asyncio, sys
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
async def main():
    async with stdio_client(StdioServerParameters(command=sys.argv[1], args=sys.argv[2:])) as (r, w):
        async with ClientSession(r, w) as s:
            await s.initialize()
            res = await s.call_tool("inspect_repo", {"repo": "TayHCode/search-first"})
            for c in res.content:
                print(c.text[:700])
asyncio.run(main())
EOF
cd <guest-path> && <guest-path> -I <guest-path> <guest-path> --python 3.12 --from <guest-path> search-first 2>&1 | grep -v '^HTTP' | tail -30
cd <guest-path> && grep -c "An MCP server that discovers existing public projects, explains a ranked shortlist," README.md; grep -c "README excerpt, SPDX license/name, size in KB, up to five last commits, open issue" README.md; grep -c "Accepts \`owner/repo\` or" README.md; grep -c "All automated tests use recorded public fixtures" README.md; grep -c "uv run --locked pytest -q" README.md
cat > .coldpass/probe.json <<'EOF'
{"kind":"mcp","argv":["<guest-path>","--python","3.12","--from","<guest-path>","search-first"],"cwd":"<guest-path>","tool":"search_existing","arguments":{"idea":"a terminal tool that closes idle browser tabs automatically","queries":["chrome idle tabs","close inactive tabs"],"limit":3},"expected_text":"TayHCode/cdpidletabs"}
EOF
cat > .coldpass/claims.json <<'EOF'
[
 {"kind":"claim","claim":"search_existing discovers existing public GitHub projects and returns a ranked shortlist with a verdict for an idea","source":"An MCP server that discovers existing public projects, explains a ranked shortlist,","input":"idea: a terminal tool that closes idle browser tabs automatically; queries chrome idle tabs and close inactive tabs; limit 3","expected":"JSON containing a verdict and candidates ranked from GitHub search, including TayHCode/cdpidletabs","probe_kind":"mcp","argv":["<guest-path>","--python","3.12","--from","<guest-path>","search-first"],"tool":"search_existing","arguments":{"idea":"a terminal tool that closes idle browser tabs automatically","queries":["chrome idle tabs","close inactive tabs"],"limit":3},"expected_text":"TayHCode/cdpidletabs","cwd":"<guest-path>"},
 {"kind":"claim","claim":"inspect_repo returns the SPDX license and name of a public repository","source":"README excerpt, SPDX license/name, size in KB, up to five last commits, open issue","input":"repo: TayHCode/search-first","expected":"JSON with license_name MIT License for TayHCode/search-first","probe_kind":"mcp","argv":["<guest-path>","--python","3.12","--from","<guest-path>","search-first"],"tool":"inspect_repo","arguments":{"repo":"TayHCode/search-first"},"expected_text":"MIT License","cwd":"<guest-path>"}
]
EOF
cat > .coldpass/examples.json <<'EOF'
[
 {"kind":"example","claim":"Automated test suite passes using the documented locked dev environment","source":"README.md#proof-and-development","input":"uv run --locked pytest -q","expected":"all tests pass","argv":["<guest-path>","run","--locked","pytest","-q"],"cwd":"<guest-path>","expected_text":"201 passed"},
 {"kind":"example","claim":"Ruff lint check passes on the repository","source":"README.md#proof-and-development","input":"uv run --locked ruff check .","expected":"no lint findings","argv":["<guest-path>","run","--locked","ruff","check","."],"cwd":"<guest-path>","expected_text":"All checks passed!"},
 {"kind":"example","claim":"Type check passes on the source","source":"README.md#proof-and-development","input":"uv run --locked mypy","expected":"no type errors","argv":["<guest-path>","run","--locked","mypy"],"cwd":"<guest-path>","expected_text":"Success: no issues found in 7 source files"}
]
EOF
cat > .coldpass/cycles.json <<'EOF'
{"detected":false,"reason":"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.","checks":[]}
EOF
for f in probe claims examples cycles; do <guest-path> -I -c "import json,sys;json.load(open('.coldpass/$f.json'));print('$f ok')"; done; ls -la .coldpass
cd <guest-path> && COLDPASS_WORKSPACE=<guest-path> /opt/homebrew/bin/python3 -I <guest-path> --validate --replay 2>&1 | tail -80; echo "rc=${PIPESTATUS[0]}"
cd <guest-path> && rm -rf <guest-path> && cat > .coldpass/report.json <<'EOF'
{"outcome":"working","fault_owner":null,"operation":"Start the search-first MCP server over stdio with the README uvx command and call search_existing (and inspect_repo) to get a real ranked GitHub shortlist for an idea","operation_scope":"Unauthenticated (no GITHUB_TOKEN): 2 search variants per call, public GitHub only, live network to api.github.com; Python 3.12 downloaded by uv; macOS arm64 guest. Not tested: Streamable HTTP with auth, Claude Desktop/Code, and token-authenticated searches.","steps":["git init; git remote add origin https://github.com/TayHCode/search-first.git; git fetch --depth 1 origin 2b7c5fd54b96bdd2a736eb2ae25db35d2cb71d7d; git reset --mixed FETCH_HEAD","curl -LsSf https://astral.sh/uv/install.sh | UV_INSTALL_DIR=\"$HOME/uv-bin\" UV_NO_MODIFY_PATH=1 sh","uvx --python 3.12 --from . search-first --help","uv sync --locked --extra dev --python 3.12","uv run --locked pytest -q","uv run --locked ruff check .","uv run --locked ruff format --check .","uv run --locked mypy","uv run --locked python -m build","uvx --python 3.12 --from . search-first (stdio MCP server, exercised via an MCP client calling search_existing and inspect_repo)"],"deviations":["Guest is macOS arm64 (Darwin), not Linux; the README's macOS uvx route was used.","uv was not installed in the guest, so the README's official uv installer was run with UV_INSTALL_DIR in a user-local folder ($HOME/uv-bin, which is <guest-path>) and UV_NO_MODIFY_PATH=1. uv 0.13.4 installed.","Workspace was not a git repo; git init and the pinned fetch/reset were run as the task instructed. The fetch succeeded.","The Homebrew python3 is 3.14.8 (meets the 3.11 minimum), so the pip/venv route was not needed; uv used its own downloaded Python 3.12.","First attempt to run the MCP client failed because I symlinked uvx to another folder (uv could not find its sibling uv binary). Fixed by using the real absolute uvx path. This was my setup error, not a product fault.","Shell 'timeout' command is absent on this macOS guest; the pytest run was done without it.","The uv sync created a .venv inside the checkout (documented development install)."],"stuck_step":null,"main_blocker":null,"plain_failure":null,"suggested_fix":"None needed for this guest. For more complete searches, set GITHUB_TOKEN (README 'GitHub limits and authentication'); unauthenticated results can be marked inconclusive because of the 2-variant budget and the verdict's terminal-tool constraint, which is the product working as documented."}
EOF
<guest-path> -I -c "import json;json.load(open('.coldpass/report.json'));print('report ok')"; ls -la <guest-path> | head -30; ls <guest-path>; ps aux | grep -c '[s]earch-first'
ps aux | grep '[s]earch-first' | cut -c1-200