coldpass

storytold/wordcraft

GitHub ↗ · How this check works

Per-setup public labels: Linux / Haiku: Works

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

Works

Only older checks are saved; no current product test.

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

Tested on Linux
PlatformHaikuLuna
Linuxyes

Linux / Haiku 5.5: yes · Oct 18, 2026 · 7333a302f560 · claude-code / 2.1.300 (Claude Code)
Recorded operation: <host-path> mcp · local stdio MCP start + initialize + tools/list

MCP
yes, local
Yes, runs locally
Needs keys or browser
None seen
Issue
none found in recorded check

Safety: no observations were recorded for the selected revision. Functional results do not establish a safety result.

Run details

Haiku 5.5

Native agent · Checked operation passed

Checked operation <host-path> mcp · local stdio MCP start + initialize + tools/list

Agent-reported scope: Started the headless MCP server (wordcraft-cli mcp) over stdio and listed its tools: 16 tools returned (list_commands, execute, batch, new_document, open_document, save_document, type_text, select_text, get_text, inspect_document, render_page, parity, screenshot, click, key, ui_inspect). Also verified the README CLI operation `wordcraft-cli run --template sample --cmd ... --save` writes a .docx that reads back via `wordcraft-cli text`.

MCP server returned: wordcraft · version 0.8.0.

MCP tools returned: list_commands, execute, batch, new_document, open_document, save_document, type_text, select_text, get_text, inspect_document, render_page, parity, screenshot, click, key, ui_inspect. Tool listing does not establish authenticated tool-call success.

Run details
run
storytold--wordcraft-claude-haiku-5-5-1792338755832053184
date
Oct 18, 2026
time to working
not recorded
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.008370
Recorded source
https://github.com/storytold/wordcraft
Tool transport
mcp-assigned-vm
Test version
readme-03aea4c41d53955e3723c330e9927d2a9df627f6642624cc0078a97c73a53c8a
revision
7333a302f560d594c75a4008a4ffe1b9d9072d52
What the agent did

Started the headless MCP server (wordcraft-cli mcp) over stdio and listed its tools: 16 tools returned (list_commands, execute, batch, new_document, open_document, save_document, type_text, select_text, get_text, inspect_document, render_page, parity, screenshot, click, key, ui_inspect). Also verified the README CLI operation `wordcraft-cli run --template sample --cmd ... --save` writes a .docx that reads back via `wordcraft-cli text`.

cd <host-path> && ls -la && cat README.md 2>/dev/null | head -200
ls -la <host-path> 2>/dev/null; echo "CDP=$CDP_URL $<env-var>"; which node npm python3 pip3 2>&1; cat /etc/os-release | head -2
cd <host-path> && which cargo rustc curl apt-get; grep -n -i "install\|rustup\|cargo install\|apt" README.md | head -40; ls docs | head -50
cd <host-path> && (curl -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal > /tmp/rustup.log 2>&1; echo "rustup rc=$?"; tail -3 /tmp/rustup.log) ; cat docs/mcp.md | head -80; ls .github/workflows; grep -n "apt\|sudo\|run:" .github/workflows/*.yml | head -40
export PATH=$HOME/.cargo/bin:$PATH; (sudo -n apt-get update -qq && sudo -n DEBIAN_FRONTEND=noninteractive apt-get install -y -qq build-essential pkg-config > /tmp/apt.log 2>&1; echo "apt rc=$?"); cd <host-path> && timeout 280 cargo build --release -p wordcraft-cli --locked > /tmp/build.log 2>&1; echo "build rc=$?"; tail -5 /tmp/build.log
tail -5 /tmp/apt.log; sudo -n true && echo SUDO_OK; id -u; which cc gcc
for i in $(seq 1 25); do sudo -n fuser /var/lib/dpkg/lock-frontend >/dev/null 2>&1 || break; sleep 10; done; sudo -n DEBIAN_FRONTEND=noninteractive apt-get install -y -qq build-essential pkg-config > /tmp/apt.log 2>&1; echo "apt rc=$?"; tail -3 /tmp/apt.log; which cc
export PATH=$HOME/.cargo/bin:$PATH; cd <host-path> && timeout 290 cargo build --release -p wordcraft-cli --locked > /tmp/build.log 2>&1; echo "build rc=$?"; tail -5 /tmp/build.log
cd <host-path> && B=$PWD/target/release/wordcraft-cli; $B --version; rm -f $PWD/smoke-out.docx; WORDCRAFT_NO_PREFS=1 timeout 120 $B run --template sample --cmd 'select.text={"text":"Membership"}' --cmd format.bold --save $PWD/smoke-out.docx; echo "rc=$?"; ls -la smoke-out.docx && $B text smoke-out.docx | head -5; printf '%s\n' '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"smoke","version":"0"}}}' '{"jsonrpc":"2.0","method":"notifications/initialized"}' '{"jsonrpc":"2.0","id":2,"method":"tools/list"}' | WORDCRAFT_NO_PREFS=1 timeout 20 $B mcp | python3 -c 'import sys,json; [print(len(json.loads(l)["result"]["tools"]), "tools") for l in sys.stdin if "tools" in l]'
cd <host-path> && B=$PWD/target/release/wordcraft-cli; printf '%s\n' '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"smoke","version":"0"}}}' '{"jsonrpc":"2.0","method":"notifications/initialized"}' '{"jsonrpc":"2.0","id":2,"method":"tools/list"}' | WORDCRAFT_NO_PREFS=1 timeout 20 $B mcp > /tmp/mcp.out 2>/tmp/mcp.err; echo rc=$?; python3 -c 'import json; [print(len(json.loads(l)["result"]["tools"]),"tools") for l in open("/tmp/mcp.out") if "\"tools\"" in l]'; head -c 300 /tmp/mcp.out; echo; head -3 /tmp/mcp.err
cd /tmp && python3 -c 'import json
for l in open("/tmp/mcp.out"):
    d=json.loads(l)
    if d.get("id")==2: print(len(d["result"]["tools"]),"tools:", [t["name"] for t in d["result"]["tools"]])'
cd <host-path> && mkdir -p .coldpass && rm -f .coldpass/probe.json .coldpass/report.json && cat > .coldpass/probe.json <<'EOF'
{"kind":"mcp","argv":["<host-path>","env":{"WORDCRAFT_NO_PREFS":"1"}}
EOF
cat > .coldpass/report.json <<'EOF'
{"outcome":"working","operation":"Started the headless MCP server (wordcraft-cli mcp) over stdio and listed its tools: 16 tools returned (list_commands, execute, batch, new_document, open_document, save_document, type_text, select_text, get_text, inspect_document, render_page, parity, screenshot, click, key, ui_inspect). Also verified the README CLI operation `wordcraft-cli run --template sample --cmd ... --save` writes a .docx that reads back via `wordcraft-cli text`.","operation_scope":"Headless MCP and CLI document operations only. Desktop GUI app, web build (trunk), and the --connect app bridge were not built or run. screenshot/click/key tools need a running app and are not exercised. No browser was needed.","steps":["Installed rustup (curl https://sh.rustup.rs | sh -s -- -y --profile minimal)","Installed build-essential and pkg-config via apt-get (needed for a C linker)","cargo build --release -p wordcraft-cli --locked (finished in 3m27s)","wordcraft-cli --version -> wordcraft-cli 0.8.0","wordcraft-cli run --template sample --cmd 'select.text={\"text\":\"Membership\"}' --cmd format.bold --save smoke-out.docx (rc=0, 10608 bytes)","wordcraft-cli text smoke-out.docx (read back the sample text)","wordcraft-cli mcp: initialize + tools/list over stdio (16 tools)"],"deviations":["Rust toolchain was not present in the guest; installed via rustup before the README's cargo command.","cargo build failed first with 'linker cc not found' (proc-macro2/quote build scripts); installed build-essential and retried. The first apt-get attempt hit a dpkg lock held by unattended-upgr; waited and retried successfully.","Did not run cargo xtask ci, cargo test, or clippy (smoke scope excludes unit/lint suites)."],"stuck_step":null,"main_blocker":null,"suggested_fix":null}
EOF
python3 -m json.tool .coldpass/probe.json >/dev/null && python3 -m json.tool .coldpass/report.json >/dev/null && echo JSON_OK; <env-var>=<host-path> python3 -I <host-path> --validate; echo rc=$?