coldpass

Per-setup public labels: Linux / Haiku: Works · Linux / Luna: Works

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

data

Works

The recorded run passed on 2 setups.

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

Tested on Linux
PlatformHaikuLuna
Linuxyesyes

Linux / Haiku 5.5: yes · Oct 27, 2026 · 0d50681d7471 · claude-code / 2.1.310 (Claude Code)
Recorded operation: <guest-path> show 614 --json --no-image

Linux / Luna: yes · Oct 27, 2026 · 0d50681d7471 · codex / codex-cli 0.164.0
Recorded operation: <guest-path> show 614 --json

Does what it says
2 of 2 claims checked out
  • --json gives machine-readable output for show: Real input produced the expected result: "title": "Woodpecker"

    Source: Add `--json` to `show`, `latest`, `random`, `search` or `explain` for

    Input: xkcd show 614 --json --no-image

    Expected: JSON comic record with title Woodpecker

    Command: <guest-path> show 614 --json --no-image

    Observed: "title": "Woodpecker", "safe_title": "Woodpecker", "alt": "If you don't have an extension cord I can get that too. Because we're friends! Right?", "img": "https://imgs.xkcd.com/comics/woodpecker.png", "transcript": "[[A man with a beret and a woman are standing on a boardwalk, leaning on a handrail.]]\nMan: A woodpecker!\n<<Pop pop pop>>\nWoman: Yup.\n\n[[The woodpecker is banging its head against a tree.]]\nWoman: He hatched about this time last year.\n<<Pop pop pop pop>>\n\n[[The woman walks away. The man is still standing at the handrail.]]\n\nMan: ... woodpecker?\nMan: It's your

  • explain prints the explanation as plain text: Real input produced the expected result: Beret Guy observes a woodpecker

    Source: # just the explanation, as plain text

    Input: xkcd explain 614

    Expected: plain explanation text for comic 614

    Command: <guest-path> explain 614

    Observed: Beret Guy observes a woodpecker. A woodpecker is a type of bird known for using its bill to bore holes into trees to get access to and eat the insects living inside. Megan notes that the bird hatched approximately a year ago. Beret Guy seems touched by this fact, and attempts to explain to the woodpecker that it is the woodpecker's birthday. Beret Guy leaves a present by the foot of the tree where the woodpecker is nesting. The woodpecker opens the present which turns out to be a power drill, a mechanical tool that is used to bore holes into wood, much quicker than a bird normally could.

MCP
No
Local or hosted
both local and hosted
Both a local install and a hosted service
Needs keys or browser
None seen
Maintained
Maintained
actively maintained: last commit 0 days ago; 24 commits and 0 merged PRs in 90 days; 0 open issues, 0 open PRs; latest release 2026-10-27

Last commit Oct 27, 2026

Setup time
1 min 41 s
1 min 41 s to a working result
Issue
none found in recorded check
Examples
1 of 1 ran as expected
  • search over cached data with JSON output: command completed successfully

    Source: README.md Command line section

    Input: search woodpecker --json

    Expected: JSON list including comic 614

    Command: <guest-path> search woodpecker --json

    Observed: cker flies away, with clouds at the left and right of the panel, holding onto the cord of a power drill.]\n\n==Trivia==\nThis comic used to be [https://web.archive.org/web/20211215150653/https://store.xkcd.com/products/woodpecker available as a T-shirt] in the xkcd store before it was [[Store|shut down]].\n\n{{comic discussion}}\n\n[[Category:Comics featuring Megan]]\n[[Category:Comics featuring Beret Guy]]\n[[Category:Comics with xkcd store products]]\n[[Category:Animals]]", "explanation_revid": 216714, "explanation_missing": false, "synced_at": "2026-10-27T20:23:30.735898Z" } ]

Evidence
README behavior checked
Agent interfaces
CLI
CLI

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

Tested with
Claude Code / Haiku 5.5
  • Linux: Claude Code / Haiku 5.5 · agent 2.1.310 (Claude Code) · Checked operation passed · Oct 27, 2026 on 0d50681d7471

Each entry describes its recorded operation and source revision.

Safety
Made outbound HTTPS connections: yes (hosts not recorded) by xkcd

Review signals across current setups: connection review.

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

Reviewed as expected for a test run: attempted writes that failed, so nothing was written.

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

Repair history and test corrections
Run details

Haiku 5.5

Native agent · Checked operation passed

Checked operation <guest-path> show 614 --json --no-image

Agent-reported scope: Fetch and print xkcd comic 614 (plus its explanation and search) from the local xkcdkit CLI, with JSON output, backed by the local SQLite cache

Run details
run
eivl--xkcdkit-claude-haiku-5-5-1793132394176760797
date
Oct 27, 2026
time to working
101.3s
product hosting / execution
Local command in the guest
recorded operation scope
product operation
model
claude-haiku-5-5
agent / version
claude-code / 2.1.310 (Claude Code)
platform
linux
reported cost
$0.010741
Recorded source
https://github.com/eivl/xkcdkit
Backend
hyperv
Tool transport
mcp-assigned-vm
Requested source pin (not an observed revision)
{"commit": "0d50681d747154f683fc1388849326a63ff8e972", "url": "https://github.com/eivl/xkcdkit"}
Test version
readme-d5b140d3c0f8b95c2dd6fe6fc381a303cacb92679582c22317d8e78b572f0cf2
revision
0d50681d747154f683fc1388849326a63ff8e972
Whose fault: not assigned · resolved

Double-checks failed run: eivl/xkcdkit · Oct 27, 2026.

Safety: Review signals: 1 connection review.

Review signals: 1 connection review.

Reviewed as expected for a test run: attempted writes that failed, so nothing was written.

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

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
  • --json gives machine-readable output for show: Real input produced the expected result: "title": "Woodpecker"

    Source: Add `--json` to `show`, `latest`, `random`, `search` or `explain` for

    Input: xkcd show 614 --json --no-image

    Expected: JSON comic record with title Woodpecker

    Command: <guest-path> show 614 --json --no-image

    Observed: "title": "Woodpecker", "safe_title": "Woodpecker", "alt": "If you don't have an extension cord I can get that too. Because we're friends! Right?", "img": "https://imgs.xkcd.com/comics/woodpecker.png", "transcript": "[[A man with a beret and a woman are standing on a boardwalk, leaning on a handrail.]]\nMan: A woodpecker!\n<<Pop pop pop>>\nWoman: Yup.\n\n[[The woodpecker is banging its head against a tree.]]\nWoman: He hatched about this time last year.\n<<Pop pop pop pop>>\n\n[[The woman walks away. The man is still standing at the handrail.]]\n\nMan: ... woodpecker?\nMan: It's your

  • explain prints the explanation as plain text: Real input produced the expected result: Beret Guy observes a woodpecker

    Source: # just the explanation, as plain text

    Input: xkcd explain 614

    Expected: plain explanation text for comic 614

    Command: <guest-path> explain 614

    Observed: Beret Guy observes a woodpecker. A woodpecker is a type of bird known for using its bill to bore holes into trees to get access to and eat the insects living inside. Megan notes that the bird hatched approximately a year ago. Beret Guy seems touched by this fact, and attempts to explain to the woodpecker that it is the woodpecker's birthday. Beret Guy leaves a present by the foot of the tree where the woodpecker is nesting. The woodpecker opens the present which turns out to be a power drill, a mechanical tool that is used to bore holes into wood, much quicker than a bird normally could.

Examples

  • search over cached data with JSON output: command completed successfully

    Source: README.md Command line section

    Input: search woodpecker --json

    Expected: JSON list including comic 614

    Command: <guest-path> search woodpecker --json

    Observed: cker flies away, with clouds at the left and right of the panel, holding onto the cord of a power drill.]\n\n==Trivia==\nThis comic used to be [https://web.archive.org/web/20211215150653/https://store.xkcd.com/products/woodpecker available as a T-shirt] in the xkcd store before it was [[Store|shut down]].\n\n{{comic discussion}}\n\n[[Category:Comics featuring Megan]]\n[[Category:Comics featuring Beret Guy]]\n[[Category:Comics with xkcd store products]]\n[[Category:Animals]]", "explanation_revid": 216714, "explanation_missing": false, "synced_at": "2026-10-27T20:23:30.735898Z" } ]

Local or hosted: both

What the agent did

Fetch and print xkcd comic 614 (plus its explanation and search) from the local xkcdkit CLI, with JSON output, backed by the local SQLite cache

cd <guest-path> && ls -la && cat README.md 2>/dev/null | head -c 6000; id -u; python3 --version
cd <guest-path> && tail -c 6200 README.md; echo ---; cat .python-version; grep -n requires-python pyproject.toml; ls .coldpass; git status 2>&1 | head -2
cd <guest-path> && cat pyproject.toml | head -60; which uv pipx pip3; ls docs src/*; cat tox.ini
cd <guest-path> && uv --version && timeout 900 uv sync --all-groups 2>&1 | tail -15
cd <guest-path> && timeout 900 uv run pytest 2>&1 | tail -15
cd <guest-path> && export XKCDKIT_DB=/tmp/xkcd-data/xkcd.sqlite3 && mkdir -p /tmp/xkcd-data && timeout 600 uv run xkcd show 614 --no-image --json 2>&1 | head -c 1500; echo; echo "rc=${PIPESTATUS[0]}"
cd <guest-path> && timeout 900 uv tool install --force <guest-path> 2>&1 | tail -5; ls -l ~/.local/bin/xkcd 2>/dev/null; uv tool dir --bin 2>/dev/null; grep -rniE "schedul|cron|while True|--once|--now|webhook|sleep\(" src | head
cd <guest-path> && export XKCDKIT_DB=/tmp/xkcd-data/xkcd.sqlite3 && X=<guest-path> && $X search "woodpecker" --json | head -c 400; echo; echo ---; timeout 600 $X explain 614 | head -c 400; echo; echo "rc=$?"
cd <guest-path> && cat > probe.json <<'EOF'
{"kind":"cli","argv":["<guest-path>","show","614","--json","--no-image"],"cwd":"<guest-path>","env":{"XKCDKIT_DB":"/tmp/xkcd-data/xkcd.sqlite3"},"expected_text":"\"title\": \"Woodpecker\""}
EOF
cat > claims.json <<'EOF'
[{"kind":"claim","claim":"--json gives machine-readable output for show","source":"Add `--json` to `show`, `latest`, `random`, `search` or `explain` for","input":"xkcd show 614 --json --no-image","expected":"JSON comic record with title Woodpecker","probe_kind":"cli","argv":["<guest-path>","show","614","--json","--no-image"],"stdin":"","expected_text":"\"title\": \"Woodpecker\"","cwd":"<guest-path>","env":{"XKCDKIT_DB":"/tmp/xkcd-data/xkcd.sqlite3"}},
{"kind":"claim","claim":"explain prints the explanation as plain text","source":"# just the explanation, as plain text","input":"xkcd explain 614","expected":"plain explanation text for comic 614","probe_kind":"cli","argv":["<guest-path>","explain","614"],"stdin":"","expected_text":"Beret Guy observes a woodpecker","cwd":"<guest-path>","env":{"XKCDKIT_DB":"/tmp/xkcd-data/xkcd.sqlite3"}}]
EOF
python3 -m json.tool probe.json >/dev/null && python3 -m json.tool claims.json >/dev/null && echo ok
cd <guest-path> && cat > examples.json <<'EOF'
[{"kind":"example","claim":"search over cached data with JSON output","source":"README.md Command line section","input":"search woodpecker --json","expected":"JSON list including comic 614","argv":["<guest-path>","search","woodpecker","--json"],"cwd":"<guest-path>","env":{"XKCDKIT_DB":"/tmp/xkcd-data/xkcd.sqlite3"},"expected_text":"\"num\": 614"}]
EOF
cat > cycles.json <<'EOF'
{"detected":false,"reason":"Entry points inspected: src/xkcdkit/cli.py and tui.py are one-shot Typer commands or an interactive Textual browser started by the user; README documents no cron, --once, --now or webhook scheduling. The only sleep in src is the rate limiter in client.py (asyncio.sleep before explainxkcd requests), which is not a product cycle.","checks":[]}
EOF
python3 -m json.tool examples.json >/dev/null && python3 -m json.tool cycles.json >/dev/null && echo ok && cd <guest-path> && <env-var>=<guest-path> timeout 900 python3 -I /inputs/coldpass-preflight.py --validate --replay 2>&1 | tail -40
ls <guest-path> 2>&1; cd <guest-path> && <env-var>=<guest-path> timeout 900 python3 -I <guest-path> --validate --replay 2>&1 | tail -60
cd <guest-path> && cat > report.json <<'EOF'
{"outcome":"working","fault_owner":null,"operation":"Fetch and print xkcd comic 614 (plus its explanation and search) from the local xkcdkit CLI, with JSON output, backed by the local SQLite cache","operation_scope":"Linux guest, Python 3.12.3 (README requires >=3.12), uv 0.13.5, outbound network to xkcd.com and explainxkcd.com; CLI and library from the pinned snapshot; TUI not exercised","steps":["uv sync --all-groups","uv run pytest (124 passed)","uv tool install --force <guest-path> (local-source equivalent of 'uv tool install xkcdkit')","XKCDKIT_DB=/tmp/xkcd-data/xkcd.sqlite3 xkcd show 614 --no-image --json","xkcd explain 614","xkcd search woodpecker --json","python3 -I <guest-path> --validate --replay"],"deviations":["Installed from the local snapshot with uv tool install <path> instead of PyPI xkcdkit, so the tested code is the pinned source.","Preflight path /inputs/coldpass-preflight.py does not exist in this guest; ran <guest-path> with the same flags instead.","Workspace is not a git repository; no git metadata was needed for uv sync or the build.","Used XKCDKIT_DB=/tmp/xkcd-data/xkcd.sqlite3 for all probes so replay reads the same cache.","Cycle detection: no product scheduler or loop found, so detected=false."],"stuck_step":null,"main_blocker":null,"plain_failure":null,"suggested_fix":null}
EOF
python3 -m json.tool report.json >/dev/null && echo ok; ls -la <guest-path> | grep -c report.json
Earlier attempts (1)

Luna

Native agent · Checked operation passed

Checked operation <guest-path> show 614 --json

Agent-reported scope: Show xkcd comic 614 in JSON

Run details
run
eivl--xkcdkit-gpt-6-luna-1793126419742212113
date
Oct 27, 2026
time to working
50.0s
product hosting / execution
Local command in the guest
recorded operation scope
product operation
model
gpt-6-luna
agent / version
codex / codex-cli 0.164.0
platform
linux
reported cost
not reported (not assumed free)
Recorded source
https://github.com/eivl/xkcdkit
Backend
hyperv
Tool transport
mcp-assigned-vm
Requested source pin (not an observed revision)
{"commit": "0d50681d747154f683fc1388849326a63ff8e972", "url": "https://github.com/eivl/xkcdkit"}
Test version
readme-38e6b13f3b13804effb95797e3466b1a1334da7a232d897cbc8965867f802605
revision
0d50681d747154f683fc1388849326a63ff8e972
Whose fault: not assigned · resolved

Safety: Review signals: 1 connection review.

Review signals: 1 connection review.

Reviewed as expected for a test run: attempted writes that failed, so nothing was written.

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

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
  • Add --json to show for machine-readable output.: Real input produced the expected result: "title": "Woodpecker"

    Source: Add `--json` to `show`, `latest`, `random`, `search` or `explain` for

    Input: comic number 614

    Expected: JSON identifies comic 614 as Woodpecker

    Command: <guest-path> show 614 --json

    Observed: "title": "Woodpecker", "safe_title": "Woodpecker", "alt": "If you don't have an extension cord I can get that too. Because we're friends! Right?", "img": "https://imgs.xkcd.com/comics/woodpecker.png", "transcript": "[[A man with a beret and a woman are standing on a boardwalk, leaning on a handrail.]]\nMan: A woodpecker!\n<<Pop pop pop>>\nWoman: Yup.\n\n[[The woodpecker is banging its head against a tree.]]\nWoman: He hatched about this time last year.\n<<Pop pop pop pop>>\n\n[[The woman walks away. The man is still standing at the handrail.]]\n\nMan: ... woodpecker?\nMan: It's your

Examples

  • Show comic 614 in JSON: command completed successfully

    Source: README.md, Command line

    Input: 614

    Expected: Woodpecker JSON

    Command: <guest-path> show 614 --json

    Observed: The woodpecker flies away, with clouds at the left and right of the panel, holding onto the cord of a power drill.]\n\n==Trivia==\nThis comic used to be [https://web.archive.org/web/20211215150653/https://store.xkcd.com/products/woodpecker available as a T-shirt] in the xkcd store before it was [[Store|shut down]].\n\n{{comic discussion}}\n\n[[Category:Comics featuring Megan]]\n[[Category:Comics featuring Beret Guy]]\n[[Category:Comics with xkcd store products]]\n[[Category:Animals]]", "explanation_revid": 216714, "explanation_missing": false, "synced_at": "2026-10-27T18:41:18.469977Z" }

Local or hosted: both

What the agent did

Show xkcd comic 614 in JSON

pwd && ls -la && sed -n '1,240p' README.md
sed -n '240,480p' README.md; python3 --version; cat .python-version; rg --files
python3 -m pip --version; command -v uv || true; id -u; ls .coldpass; cat pyproject.toml
uv sync --all-groups
uv run xkcd show 614 --json
mkdir -p .coldpass && python3 - <<'PY'
import json, pathlib
p=pathlib.Path('.coldpass')
probe={"kind":"cli","argv":["<guest-path>","show","614","--json","--db","<guest-path>"],"cwd":"<guest-path>","expected_text":"\"title\": \"Woodpecker\""}
claim={"kind":"claim","claim":"Show a comic by number as machine-readable JSON.","source":"Add `--json` to `show`, `latest`, `random`, `search` or `explain` for","input":"comic number 614","expected":"JSON identifies comic 614 as Woodpecker","probe_kind":"cli","argv":probe['argv'],"expected_text":probe['expected_text'],"cwd":"<guest-path>"}
(p/'probe.json').write_text(json.dumps(probe,indent=2)+'\n')
(p/'claims.json').write_text(json.dumps([claim],indent=2)+'\n')
(p/'examples.json').write_text(json.dumps([{"kind":"example","claim":"Show comic 614 in JSON","source":"README.md, Command line","input":"614","expected":"Woodpecker JSON","argv":probe['argv'],"cwd":"<guest-path>","expected_text":probe['expected_text']}],indent=2)+'\n')
(p/'cycles.json').write_text(json.dumps({"detected":False,"reason":"Inspected README command line and development entry points; xkcdkit offers interactive TUI and explicit CLI commands, with no scheduled cycle or webhook trigger.","checks":[]},indent=2)+'\n')
PY
<env-var>=<guest-path> python3 -I <guest-path> --validate --replay
python3 - <<'PY'
import json,pathlib
p=pathlib.Path('.coldpass')
a=["<guest-path>","show","614","--json"]
e='"title": "Woodpecker"'
probe={"kind":"cli","argv":a,"cwd":"<guest-path>","env":{"XKCDKIT_DB":"<guest-path>"},"expected_text":e}
claim={"kind":"claim","claim":"Add --json to show for machine-readable output.","source":"Add `--json` to `show`, `latest`, `random`, `search` or `explain` for","input":"comic number 614","expected":"JSON identifies comic 614 as Woodpecker","probe_kind":"cli","argv":a,"env":{"XKCDKIT_DB":"<guest-path>"},"expected_text":e,"cwd":"<guest-path>"}
(p/'probe.json').write_text(json.dumps(probe,indent=2)+'\n')
(p/'claims.json').write_text(json.dumps([claim],indent=2)+'\n')
(p/'examples.json').write_text(json.dumps([{"kind":"example","claim":"Show comic 614 in JSON","source":"README.md, Command line","input":"614","expected":"Woodpecker JSON","argv":a,"env":{"XKCDKIT_DB":"<guest-path>"},"cwd":"<guest-path>","expected_text":e}],indent=2)+'\n')
PY
<env-var>=<guest-path> python3 -I <guest-path> --validate --replay
python3 - <<'PY'
import json,pathlib
p=pathlib.Path('.coldpass/report.json')
r={"outcome":"working","fault_owner":None,"operation":"Show xkcd comic 614 in JSON","operation_scope":"Installed the documented development environment using Python 3.12 and uv; ran the documented xkcd CLI operation.","steps":["uv sync --all-groups","uv run xkcd show 614 --json","Checker validation and replay passed."],"deviations":["The README says the CLI accepts --db, but the documented show command rejects that option. Replay instead uses the documented XKCDKIT_DB environment variable."],"stuck_step":None,"main_blocker":None,"plain_failure":None,"suggested_fix":None}
p.write_text(json.dumps(r,indent=2)+'\n')
PY

No product verdict. Run record.

No product verdict. Run record.