iAmCorey/Wake

GitHub ↗ · How this check works

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/iAmCorey--Wake.svg).

mcp-server

Works

README claims checked out on 2 recorded setups. Combinations not listed here were not tested.

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 24, 2026 · c8ee9b88b8e1 · claude-code / 2.1.300 (Claude Code)
Recorded operation: <guest-path> · local stdio MCP start + initialize + tools/list

Linux / Luna: yes · Oct 23, 2026 · c8ee9b88b8e1 · codex / codex-cli 0.163.0
Recorded operation: <guest-path> call wake_search '{"query":"retry","limit":3}'

Does what it says
2 of 2 claims checked out
  • The wake-mcp server exposes a search tool that finds sessions by text: Real input produced the expected result: 068f4ced-a156-4781-ad94-c83ef5097a5f

    Source: Search every session and memory file

    Input: {"tool": "wake_search", "arguments": {"query": "useEffect("}}

    Expected: the matching Claude Code session key is returned

    Command: <guest-path> tools/call {"tool": "wake_search", "arguments": {"query": "useEffect("}}

    Observed: 068f4ced-a156-4781-ad94-c83ef5097a5f` · Claude Code · \"中文短词比如两个字的怎么办?\"\n <host-path> · updated 2026-10-24 03:40:15 · 5 messages · claude-fable-5\n - seq 1 (assistant, 2026-10-24 03:38:35): …exes every 3-char window, so `二维码` and `**useEffect(**` both match without language-specific tokenizers. Queries under 3 chars fall ba…\n ref: wake://session/claude-code:068f4ced-a156-4781-ad94-c83ef5097a5f#1\n\nRead a session with wake_get_session (pass the key, or a ref to start at that message).\nIndex covers activity up to 2026-10-24 04:01:35 (local time); Wake keeps it fresh whil

  • wake-cli answers the same search questions from a terminal: Real input produced the expected result: 068f4ced-a156-4781-ad94-c83ef5097a5f

    Source: `wake-cli` gives the same answers in a terminal

    Input: search useEffect(

    Expected: the matching session key is printed

    Command: <guest-path> search 'useEffect('

    Observed: 068f4ced-a156-4781-ad94-c83ef5097a5f` · Claude Code · "中文短词比如两个字的怎么办?" <host-path> · updated 2026-10-24 03:40:15 · 5 messages · claude-fable-5 - seq 1 (assistant, 2026-10-24 03:38:35): …exes every 3-char window, so `二维码` and `**useEffect(**` both match without language-specific tokenizers. Queries under 3 chars fall ba… ref: wake://session/claude-code:068f4ced-a156-4781-ad94-c83ef5097a5f#1 Read a session with wake_get_session (pass the key, or a ref to start at that message). Index covers activity up to 2026-10-24 04:01:35 (local time); Wake keeps it fresh while it is

MCP
Yes, observed
Local or hosted
local
Local: runs on your machine
Needs keys or browser
None seen
Maintained
Maintained
actively maintained: last commit 0 days ago; 278 commits and 18 merged PRs in 90 days; 1 open issues, 2 open PRs; 21 of 38 recent threads got a maintainer reply, median first reply 45.7h; latest release 2026-10-23

Last commit Oct 23, 2026

Setup time
40 min 17 s
40 min 17 s to a working result
Issue
none found in recorded check
Examples
2 of 2 ran as expected
  • Data-layer tests run with cargo: command completed successfully

    Source: README.md Development section: data-layer tests only (adapter contracts, FTS, scanner)

    Input: cargo test -p wake-core

    Expected: all test suites report ok

    Command: <guest-path> test -p wake-core

    Observed: oundtrip.rs (target/debug/deps/db_roundtrip-ee5de68cb77ec280) Running tests/devin_default_root.rs (target/debug/deps/devin_default_root-cfa0dafceaf63e7f) Running tests/mcp_stdio.rs (target/debug/deps/mcp_stdio-8b462d5b49f14a73) Running tests/remote_sync.rs (target/debug/deps/remote_sync-29d6529df81d61ae) Running tests/remote_sync_paths.rs (target/debug/deps/remote_sync_paths-d5285f22086ea84e) Running tests/scanner_finale.rs (target/debug/deps/scanner_finale-b82fe3d8fc82747b) Running tests/skills.rs (target/debug/deps/skills-b80c8f4ccf7b8229) Doc-tests wake_core

  • Refresh the index while Wake is closed: command completed successfully

    Source: README.md shell commands: wake-cli refresh

    Input: no arguments

    Expected: index is refreshed with the synthetic demo sessions

    Command: <guest-path> refresh

    Observed: Refreshed the index at /tmp/wake-demo-home/.local/share/wake/wake.db: 424 sessions from 16 agents.

Evidence
README behavior checked
Agent interfaces
MCP
MCP

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

MCP context
5 tools · about 2,096 tokens
5 tools · about 2,096 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 linux with Haiku 5.5 · Oct 24, 2026 on c8ee9b88b8e1

Tested with
Claude Code / Haiku 5.5
  • Linux: Claude Code / Haiku 5.5 · agent 2.1.300 (Claude Code) · Checked operation passed · Oct 24, 2026 on c8ee9b88b8e1

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

Safety
Writes outside the project folder: yes by <guest-path>; made outbound HTTPS connections: yes (hosts not recorded)

Review signals across current setups: connection review, outside write. 58 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. 8 distinct locations. 2 attributed processes.

OSV reports a known vulnerability in this dependency version. 16 distinct locations. 29 findings.

Repository processes attempted these writes outside documented output/cache paths. /LICENSE-APACHE 2 findings. 2 attributed processes.

Reviewed as expected for a test run: package managers (cargo) downloaded dependencies over HTTPS; package managers (rustup-init) downloaded dependencies over HTTPS; resolver address lookups that send no data; wrote only to its own open file handles.

Reviewed as expected for a test run: package managers (cargo) downloaded dependencies over HTTPS; wrote only to its own open file handles.

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

Run details

Haiku 5.5

Native agent · Checked operation passed

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

Agent-reported scope: Build Wake for Linux with the README's make-linux.sh, index a synthetic agent-session home with wake-cli, and search it through the wake-mcp stdio server (wake_search tool) and wake-cli search.

MCP server returned: wake · version 0.10.1.

MCP tools returned: wake_search, wake_list_sessions, wake_get_session, wake_list_projects, wake_list_memories. Tool listing does not establish authenticated tool-call success.

Run details
run
iAmCorey--Wake-claude-haiku-5-5-1792812702611530293
date
Oct 24, 2026
time to working
2416.7s
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.026457
Recorded source
https://github.com/iAmCorey/Wake
Backend
hyperv
Tool transport
mcp-assigned-vm
Requested source pin (not an observed revision)
{"commit": "c8ee9b88b8e1c2281da1f3b6268d36bbfb58fb0b", "url": "https://github.com/iAmCorey/Wake"}
Test version
readme-bdc1b9b3c0d2673aef87e076d14084a8123ddcf09d520c1ee2e364a37c3f4bb9
revision
c8ee9b88b8e1c2281da1f3b6268d36bbfb58fb0b
Whose fault: not assigned · resolved

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

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

Reviewed as expected for a test run: package managers (cargo) downloaded dependencies over HTTPS; package managers (rustup-init) downloaded dependencies over HTTPS; resolver address lookups that send no data; wrote only to its own open file handles.

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

OSV reports a known vulnerability in this dependency version. 16 distinct locations. 29 findings.

Repository processes attempted these writes outside documented output/cache paths. /LICENSE-APACHE 1 attributed processes.

PID 4142: <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
  • The wake-mcp server exposes a search tool that finds sessions by text: Real input produced the expected result: 068f4ced-a156-4781-ad94-c83ef5097a5f

    Source: Search every session and memory file

    Input: {"tool": "wake_search", "arguments": {"query": "useEffect("}}

    Expected: the matching Claude Code session key is returned

    Command: <guest-path> tools/call {"tool": "wake_search", "arguments": {"query": "useEffect("}}

    Observed: 068f4ced-a156-4781-ad94-c83ef5097a5f` · Claude Code · \"中文短词比如两个字的怎么办?\"\n <host-path> · updated 2026-10-24 03:40:15 · 5 messages · claude-fable-5\n - seq 1 (assistant, 2026-10-24 03:38:35): …exes every 3-char window, so `二维码` and `**useEffect(**` both match without language-specific tokenizers. Queries under 3 chars fall ba…\n ref: wake://session/claude-code:068f4ced-a156-4781-ad94-c83ef5097a5f#1\n\nRead a session with wake_get_session (pass the key, or a ref to start at that message).\nIndex covers activity up to 2026-10-24 04:01:35 (local time); Wake keeps it fresh whil

  • wake-cli answers the same search questions from a terminal: Real input produced the expected result: 068f4ced-a156-4781-ad94-c83ef5097a5f

    Source: `wake-cli` gives the same answers in a terminal

    Input: search useEffect(

    Expected: the matching session key is printed

    Command: <guest-path> search 'useEffect('

    Observed: 068f4ced-a156-4781-ad94-c83ef5097a5f` · Claude Code · "中文短词比如两个字的怎么办?" <host-path> · updated 2026-10-24 03:40:15 · 5 messages · claude-fable-5 - seq 1 (assistant, 2026-10-24 03:38:35): …exes every 3-char window, so `二维码` and `**useEffect(**` both match without language-specific tokenizers. Queries under 3 chars fall ba… ref: wake://session/claude-code:068f4ced-a156-4781-ad94-c83ef5097a5f#1 Read a session with wake_get_session (pass the key, or a ref to start at that message). Index covers activity up to 2026-10-24 04:01:35 (local time); Wake keeps it fresh while it is

Examples

  • Data-layer tests run with cargo: command completed successfully

    Source: README.md Development section: data-layer tests only (adapter contracts, FTS, scanner)

    Input: cargo test -p wake-core

    Expected: all test suites report ok

    Command: <guest-path> test -p wake-core

    Observed: oundtrip.rs (target/debug/deps/db_roundtrip-ee5de68cb77ec280) Running tests/devin_default_root.rs (target/debug/deps/devin_default_root-cfa0dafceaf63e7f) Running tests/mcp_stdio.rs (target/debug/deps/mcp_stdio-8b462d5b49f14a73) Running tests/remote_sync.rs (target/debug/deps/remote_sync-29d6529df81d61ae) Running tests/remote_sync_paths.rs (target/debug/deps/remote_sync_paths-d5285f22086ea84e) Running tests/scanner_finale.rs (target/debug/deps/scanner_finale-b82fe3d8fc82747b) Running tests/skills.rs (target/debug/deps/skills-b80c8f4ccf7b8229) Doc-tests wake_core

  • Refresh the index while Wake is closed: command completed successfully

    Source: README.md shell commands: wake-cli refresh

    Input: no arguments

    Expected: index is refreshed with the synthetic demo sessions

    Command: <guest-path> refresh

    Observed: Refreshed the index at /tmp/wake-demo-home/.local/share/wake/wake.db: 424 sessions from 16 agents.

Local or hosted: local

What the agent did

Build Wake for Linux with the README's make-linux.sh, index a synthetic agent-session home with wake-cli, and search it through the wake-mcp stdio server (wake_search tool) and wake-cli search.

cd <guest-path> && ls -la && id -u && python3 --version && cat README.md 2>/dev/null | head -200
cd <guest-path> && tail -n +200 README.md; echo ---; ls -la .coldpass; echo ---; git status 2>&1 | head -3; echo ---; which cargo rustc node npm uv 2>&1; cargo --version 2>&1; rustc --version 2>&1; cat /etc/os-release | head -3; ls scripts; cat scripts/test.sh 2>/dev/null | head -60
cd <guest-path> && cat Cargo.toml; grep -rn "rust-version\|edition" crates/*/Cargo.toml | head; sudo -n true && echo SUDO_OK
sudo DEBIAN_FRONTEND=noninteractive apt-get update -qq 2>&1 | tail -3; sudo DEBIAN_FRONTEND=noninteractive apt-get install -y -qq libasound2-dev libfontconfig1-dev libwayland-dev libxkbcommon-dev libxkbcommon-x11-dev libssl-dev libzstd-dev pkg-config cmake clang curl build-essential > /tmp/apt.log 2>&1; echo "apt rc=$?"; tail -5 /tmp/apt.log
export NODE_USE_ENV_PROXY=1; curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain stable > /tmp/rustup.log 2>&1; echo "rc=$?"; tail -3 /tmp/rustup.log; source $HOME/.cargo/env && cargo --version && rustc --version
cd <guest-path> && cat scripts/make-linux.sh
cd <guest-path> && source $HOME/.cargo/env && nohup bash -c 'scripts/make-linux.sh' > /tmp/make-linux.log 2>&1 &
echo started
sleep 600; tail -3 /tmp/make-linux.log; pgrep -f make-linux.sh >/dev/null && echo RUNNING || echo DONE
sleep 900; grep -E "Compiling (wake|wake-core)|Finished|error" /tmp/make-linux.log | tail -5; pgrep -f make-linux.sh >/dev/null && echo RUNNING || echo DONE
sleep 60; pgrep -f make-linux.sh >/dev/null && echo RUNNING || echo DONE; tail -4 /tmp/make-linux.log; cd <guest-path> && ls -la dist 2>&1
cd <guest-path> && pgrep -f make-linux.sh >/dev/null && echo STILL || echo DONE; ls -la target/release/ | grep -E "^-.*(Wake|wake-mcp|wake-cli)$"; head -40 scripts/demo-home.py; grep -n "argv\|argparse\|add_argument\|WAKE_HOME" scripts/demo-home.py | head -30
ps aux | grep -c "[m]ake-linux.sh" ; cd <guest-path> && python3 scripts/demo-home.py /tmp/wake-demo-home 2>&1 | tail -5; echo rc=$?; ls /tmp/wake-demo-home; export HOME=/tmp/wake-demo-home; ./target/release/wake-cli --help 2>&1 | head -30
cd <guest-path> && export HOME=/tmp/wake-demo-home && ./target/release/wake-cli index 2>&1 | tail -5; echo "rc=$?"; ./target/release/wake-cli search "useEffect(" 2>&1 | head -15; echo ---; ./target/release/wake-cli sessions --limit 3 2>&1 | head
cd <guest-path> && export HOME=/tmp/wake-demo-home && ./target/release/wake-mcp call wake_search '{"query":"useEffect("}' 2>&1 | head -12; echo "rc=$?"; echo ---; printf '%s\n' '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"t","version":"0"}}}' '{"jsonrpc":"2.0","method":"notifications/initialized"}' '{"jsonrpc":"2.0","id":2,"method":"tools/list"}' | timeout 10 ./target/release/wake-mcp 2>&1 | head -c 600; echo
ls -la <guest-path> /inputs/ 2>&1; grep -n "source_file\|def \|expected_file\|quote" <guest-path> | head -80
cd <guest-path> && grep -rn "interval\|Interval\|sleep(\|thread::sleep\|from_secs\|tick\|periodic\|--once\|--now\|cron\|schedul" crates --include=*.rs | grep -v "test" | head -40; echo ---; grep -rn "fn main" crates/wake-core/src/bin/*.rs | head
cd <guest-path> && export HOME=/tmp/wake-demo-home && ./target/release/wake-cli refresh 2>&1 | tail -3; echo "refresh rc=$?"; ./target/release/wake-cli show 'claude-code:068f4ced-a156-4781-ad94-c83ef5097a5f' 2>&1 | head -8; echo "show rc=$?"; ./target/release/wake-cli search "useEffect(" --project <host-path> 2>&1 | head -3
cd <guest-path> && nohup bash -c 'export PATH=$HOME/.cargo/bin:$PATH; cargo test -p wake-core' > /tmp/cargo-test.log 2>&1 &
sleep 420; grep -E "test result|error\[|FAILED|panicked" /tmp/cargo-test.log | tail -8; tail -2 /tmp/cargo-test.log
sed -n 1009,1030p <guest-path>; echo; echo "HOME=$HOME"; ls -la $HOME/.cargo/bin/cargo
cd <guest-path> && mkdir -p .coldpass && W=<guest-path> && ID=068f4ced-a156-4781-ad94-c83ef5097a5f && cat > .coldpass/probe.json <<EOF
{"kind":"mcp","argv":["$W/target/release/wake-mcp"],"cwd":"$W","tool":"wake_search","arguments":{"query":"useEffect("},"expected_text":"$ID","env":{"HOME":"/tmp/wake-demo-home"}}
EOF
cat > .coldpass/claims.json <<EOF
[
{"kind":"claim","claim":"The wake-mcp server exposes a search tool that finds sessions by text","source":"Search every session and memory file","input":"query useEffect(","expected":"the matching Claude Code session key is returned","probe_kind":"mcp","argv":["$W/target/release/wake-mcp"],"tool":"wake_search","arguments":{"query":"useEffect("},"expected_text":"$ID","env":{"HOME":"/tmp/wake-demo-home"},"cwd":"$W"},
{"kind":"claim","claim":"wake-cli answers the same search questions from a terminal","source":"\`wake-cli\` gives the same answers in a terminal","input":"search useEffect(","expected":"the matching session key is printed","probe_kind":"cli","argv":["$W/target/release/wake-cli","search","useEffect("],"expected_text":"$ID","env":{"HOME":"/tmp/wake-demo-home"},"cwd":"$W"}
]
EOF
cat > .coldpass/examples.json <<EOF
[
{"kind":"example","claim":"Data-layer tests run with cargo","source":"README.md Development section: data-layer tests only (adapter contracts, FTS, scanner)","input":"cargo test -p wake-core","expected":"all test suites report ok","argv":["<guest-path>","test","-p","wake-core"],"cwd":"$W","env":{},"expected_text":"test result: ok"},
{"kind":"example","claim":"Refresh the index while Wake is closed","source":"README.md shell commands: wake-cli refresh","input":"no arguments","expected":"index is refreshed with the synthetic demo sessions","argv":["$W/target/release/wake-cli","refresh"],"cwd":"$W","env":{"HOME":"/tmp/wake-demo-home"},"expected_text":"Refreshed the index"}
]
EOF
cat > .coldpass/cycles.json <<'EOF'
{"detected":false,"reason":"Inspected README and entry points (wake-cli, wake-mcp, wake GUI). No cron, --once or --now scheduler. The only loop is the GUI file watcher (crates/wake-core/src/watcher.rs, recv_timeout) which runs inside the desktop app; the README's manual one-shot is 'wake-cli refresh' (covered as an example). Desktop GUI could not be run headless here, so no cycle was triggered.","checks":[]}
EOF
for f in probe claims examples cycles; do python3 -I -m json.tool .coldpass/$f.json >/dev/null && echo "$f ok"; done; cat .coldpass/probe.json
cd <guest-path> && <env-var>=<guest-path> python3 -I <guest-path> --validate --replay 2>&1 | tail -60; echo "rc=${PIPESTATUS[0]}"
cd <guest-path> && ls <guest-path> && cat <guest-path> && python3 -I - <<'PY'
import json
p='<guest-path>'
d=json.load(open(p))
d[0]['env']={"HOME":"<guest-path>","RUSTUP_HOME":"<guest-path>","CARGO_HOME":"<guest-path>","PATH":"<guest-path>"}
json.dump(d,open(p,'w'),indent=1,ensure_ascii=False)
print("updated")
PY
<env-var>=<guest-path> python3 -I <guest-path> --validate --replay > /tmp/validate1.json 2>&1; echo "rc=$?"; python3 -I -c "
import json,sys
t=open('/tmp/validate1.json').read()
i=t.find('{')
d=json.loads(t[i:])
print('valid:',d.get('valid')); print('problems:',d.get('problems'))
print('replay:',d.get('replay',{}).get('status'))
for e in d.get('replay',{}).get('details',{}).get('example_checks',[]): print('example',e.get('verdict'),e.get('outcome'),e.get('evidence','')[:150])
"
ps aux | grep -E "[w]ake-mcp|[w]ake-cli|[t]arget/release/Wake" | head; echo "procs-checked"; cd <guest-path> && cat > .coldpass/report.json <<'EOF'
{
  "outcome": "working",
  "fault_owner": null,
  "operation": "Build Wake for Linux with the README's make-linux.sh, index a synthetic agent-session home with wake-cli, and search it through the wake-mcp stdio server (wake_search tool) and wake-cli search.",
  "operation_scope": "Ubuntu 24.04 x86_64 VM, non-root user with passwordless sudo. Linux is marked experimental in the README. Data is the synthetic demo home from scripts/demo-home.py at /tmp/wake-demo-home (424 sessions). The desktop GUI was not launched because it needs a display. No real agent data was read.",
  "steps": [
    "sudo apt-get install -y libasound2-dev libfontconfig1-dev libwayland-dev libxkbcommon-dev libxkbcommon-x11-dev libssl-dev libzstd-dev pkg-config cmake clang (plus curl, build-essential)",
    "curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain stable  (Rust 1.99.1)",
    "scripts/make-linux.sh  (release build; produced dist/wake-0.10.1-linux-amd64.tar.gz and dist/wake_0.10.1_amd64.deb)",
    "python3 scripts/demo-home.py /tmp/wake-demo-home",
    "HOME=/tmp/wake-demo-home wake-cli index",
    "HOME=/tmp/wake-demo-home wake-cli search \"useEffect(\"",
    "HOME=/tmp/wake-demo-home wake-mcp call wake_search '{\"query\":\"useEffect(\"}'  (and an MCP initialize/tools/list over stdio)",
    "HOME=/tmp/wake-demo-home wake-cli refresh",
    "cargo test -p wake-core  (documented data-layer tests: all suites ok)"
  ],
  "deviations": [
    "Installed system packages and rustup with the README's install commands. The Ubuntu package list came from the README's Linux section; rustup was the README's Rust toolchain requirement, installed with the rustup.rs installer.",
    "The source snapshot is not a git repository, so I did not run git init / git fetch of the pinned commit. make-linux.sh and the tests need no git metadata, so the pin could not be checked against the snapshot.",
    "Did not run scripts/test.sh (it is a zsh script). Ran the documented 'cargo test -p wake-core' instead.",
    "Did not run the install.sh step of the tar.gz or the .deb; those write to the user's home and system paths. Used the built binaries from target/release directly.",
    "Probes and claims use absolute binary paths and set HOME=/tmp/wake-demo-home. The checker's replay environment did not find the rustup default toolchain for the cargo example, so that example sets RUSTUP_HOME and CARGO_HOME explicitly. The first validation run failed on that, and the second passed.",
    "Cycle detection: no scheduler, cron, --once or --now trigger was found. The only loop is the GUI file watcher, which runs inside the desktop app and was not started. The manual one-shot 'wake-cli refresh' was run as an example. cycles.json records detected=false with that reason.",
    "The GUI app (Wake) was built but not launched, so no GUI behaviour was checked."
  ],
  "stuck_step": null,
  "main_blocker": null,
  "plain_failure": null,
  "suggested_fix": "None needed for the tested path. For a full check, run the GUI on a machine with a display and confirm sessions list and resume, since Linux support is experimental."
}
EOF
python3 -I -m json.tool .coldpass/report.json >/dev/null && echo report-ok; <env-var>=<guest-path> python3 -I <guest-path> --validate --replay 2>&1 | python3 -I -c "import sys,json;t=sys.stdin.read();d=json.loads(t[t.find('{'):]);print('valid:',d['valid'],'problems:',d['problems'],'replay:',d['replay']['status'])"
Earlier attempts (1)

Luna

Native agent · Checked operation passed

Checked operation <guest-path> call wake_search '{"query":"retry","limit":3}'

Agent-reported scope: Built Wake's Linux release artifacts, indexed a synthetic agent-history dataset, and searched it with wake-mcp.

Run details
run
iAmCorey--Wake-gpt-6-luna-1792813377099033512
date
Oct 23, 2026
time to working
941.2s
product hosting / execution
Local command 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/iAmCorey/Wake
Backend
hyperv
Tool transport
mcp-assigned-vm
Requested source pin (not an observed revision)
{"commit": "c8ee9b88b8e1c2281da1f3b6268d36bbfb58fb0b", "url": "https://github.com/iAmCorey/Wake"}
Test version
readme-f72312298d35d84837d4fc5f6f22b138d54d456600b5ed431e36e8f5db931dbf
revision
c8ee9b88b8e1c2281da1f3b6268d36bbfb58fb0b
Whose fault: not assigned · resolved

Safety: Review signals: 29 known vulnerability, 1 outside write.

Review signals: 29 known vulnerability, 1 outside write.

Reviewed as expected for a test run: package managers (cargo) downloaded dependencies over HTTPS; wrote only to its own open file handles.

OSV reports a known vulnerability in this dependency version. 16 distinct locations. 29 findings.

Repository processes attempted these writes outside documented output/cache paths. /LICENSE-APACHE 1 attributed processes.

PID 8896: <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
  • The documented MCP call can search the indexed session history for a query.: Real input produced the expected result: 24 sessions match `retry`

    Source: cargo run -p wake-core --bin wake-mcp -- call wake_search '{"query":"useEffect("}' # run one MCP tool against your index

    Input: retry

    Expected: Search results include sessions matching retry.

    Command: <guest-path> call wake_search '{"query":"retry","limit":3}'

    Observed: 24 sessions match `retry` — showing 3, best matches first. 1. `codex:25235d78-785d-42dd-a5ed-b73613712d9f` · Codex · "Add retry with backoff to the sync client" <host-path> · updated 2026-10-20 11:01:08 · 2 messages · gpt-5.2-codex · via CLI - title: Add **retry** with backoff to the sync client ref: wake://session/codex:25235d78-785d-42dd-a5ed-b73613712d9f#0 - seq 0 (user, 2026-10-20 11:01:01): Add **retry** with backoff to the sync client ref: wake://session/codex:25235d78-785d-42dd-a5ed-b73613712d9f#0 2. `codex:618c3132-d4eb-41b0-95c7-4bc5e68cefdf` · Codex ·

Examples

  • Search the indexed session history through the documented MCP client command.: command completed successfully

    Source: README.md / Development

    Input: retry query with limit 3

    Expected: A text result listing matching sessions.

    Command: <guest-path> call wake_search '{"query":"retry","limit":3}'

    Observed: · "Dedupe the retry storm in the poller" <host-path> · updated 2026-09-06 12:49:08 · 2 messages · gpt-5.2 · via CLI - title: Dedupe the **retry** storm in the poller ref: wake://session/codex:c7c57e44-f5b1-4e91-94ce-202b4d9becd3#0 - seq 0 (user, 2026-09-06 12:49:01): Dedupe the **retry** storm in the poller ref: wake://session/codex:c7c57e44-f5b1-4e91-94ce-202b4d9becd3#0 Read a session with wake_get_session (pass the key, or a ref to start at that message). Index covers activity up to 2026-10-24 03:58:33 (local time); Wake keeps it fresh while it is running.

Local or hosted: local

What the agent did

Built Wake's Linux release artifacts, indexed a synthetic agent-history dataset, and searched it with wake-mcp.

pwd; rg --files -g 'README*' -g 'AGENTS.md' -g 'pyproject.toml' -g 'package.json' -g 'requirements*.txt' -g 'Cargo.toml' -g 'go.mod' | head -80; git status --short --branch; id -u; python3 --version; python3 -m pip --version; command -v sudo || true
ls -la; find .. -name README.md -o -name AGENTS.md | head -80; cat README*
cat docs/cli.md; cat docs/mcp.md; sed -n '1,240p' scripts/make-linux.sh; sed -n '1,200p' scripts/demo-home.py; ls -la .coldpass; command -v cargo; cargo --version; command -v rustc; pkg-config --version || true; sudo -n true; echo sudo_status:$?
sudo -n apt-get update && sudo -n apt-get install -y libasound2-dev libfontconfig1-dev libwayland-dev libxkbcommon-dev libxkbcommon-x11-dev libssl-dev libzstd-dev pkg-config cmake clang build-essential curl ca-certificates git
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs -o /tmp/rustup-init.sh && sh /tmp/rustup-init.sh -y --profile minimal
ls -l <host-path>; rgx='' ; <host-path> --version; grep -n '^version' Cargo.toml | head
ls -la <guest-path> | head;
PATH=<guest-path> scripts/make-linux.sh
ps aux | grep -E '[c]argo|[r]ustc|[m]ake-linux'; ls -lh dist target/release/wake-mcp target/release/wake-cli target/release/Wake 2>&1; df -h .
python3 scripts/demo-home.py /tmp/wake-demo-home; HOME=/tmp/wake-demo-home WAKE_HOME=/tmp/wake-demo-home/.wake <guest-path> call wake_search '{"query":"retry","limit":3}'
grep -R -n 'WAKE_HOME\|fn main\|--tmp\|index' crates/wake-core/src/bin crates/wake/src/main.rs | head -80; sed -n '1,120p' crates/wake-core/src/bin/scan.rs; ls -la /tmp/wake-demo-home/.local/share/wake
HOME=/tmp/wake-demo-home WAKE_HOME=/tmp/wake-demo-home <guest-path> index
HOME=/tmp/wake-demo-home WAKE_HOME=/tmp/wake-demo-home <guest-path> call wake_search '{"query":"retry","limit":3}'
grep -n -F 'wake-mcp call wake_search' README.md; sed -n '1,95p' crates/wake-core/src/bin/wake_mcp.rs; cat Cargo.toml | head -60; mkdir -p .coldpass; cat > .coldpass/probe.json <<'EOF'
{
  "kind": "cli",
  "argv": ["<guest-path>", "call", "wake_search", "{\"query\":\"retry\",\"limit\":3}"],
  "cwd": "<guest-path>",
  "env": {"HOME": "/tmp/wake-demo-home", "WAKE_HOME": "/tmp/wake-demo-home"},
  "expected_text": "24 sessions match `retry`"
}
EOF
cat > .coldpass/claims.json <<'EOF'
[
  {
    "kind": "claim",
    "claim": "The documented MCP call can search the indexed session history for a query.",
    "source": "cargo run -p wake-core --bin wake-mcp -- call wake_search '{\"query\":\"useEffect(\"}'   # run one MCP tool against your index",
    "input": "retry",
    "expected": "Search results include sessions matching retry.",
    "probe_kind": "cli",
    "argv": ["<guest-path>", "call", "wake_search", "{\"query\":\"retry\",\"limit\":3}"],
    "expected_text": "24 sessions match `retry`",
    "cwd": "<guest-path>",
    "env": {"HOME": "/tmp/wake-demo-home", "WAKE_HOME": "/tmp/wake-demo-home"}
  }
]
EOF
cat > .coldpass/examples.json <<'EOF'
[
  {
    "kind": "example",
    "claim": "Search the indexed session history through the documented MCP client command.",
    "source": "README.md / Development",
    "input": "retry query with limit 3",
    "expected": "A text result listing matching sessions.",
    "argv": ["<guest-path>", "call", "wake_search", "{\"query\":\"retry\",\"limit\":3}"],
    "cwd": "<guest-path>",
    "env": {"HOME": "/tmp/wake-demo-home", "WAKE_HOME": "/tmp/wake-demo-home"},
    "expected_text": "24 sessions match `retry`"
  }
]
EOF
cat > .coldpass/cycles.json <<'EOF'
{"detected":false,"reason":"Inspected README entry points and scripts: Wake indexes when launched or by the documented one-shot wake-cli index/refresh commands; periodic execution is delegated to systemd user timer or platform scheduler configuration, not an internal product cycle.","checks":[]}
EOF
sed -n '240,280p' README.md; sed -n '1,40p' .coldpass/claims.json; <env-var>=<guest-path> python3 -I <guest-path> --validate --replay
cat > .coldpass/report.json <<'EOF'
{
  "outcome": "working",
  "fault_owner": null,
  "operation": "Built Wake's Linux release artifacts, indexed a synthetic agent-history dataset, and searched it with wake-mcp.",
  "operation_scope": "Headless Linux CLI/MCP operation. The synthetic dataset isolates the demo from real agent data; desktop GUI launch was not exercised.",
  "steps": [
    "Installed the Linux development packages listed in README.md under Linux (experimental), plus standard compiler, curl, and git packages.",
    "Installed the stable Rust toolchain with the rustup installer documented by the project build prerequisites; used <guest-path>",
    "Ran scripts/make-linux.sh; it produced dist/wake-0.10.1-linux-amd64.tar.gz and dist/wake_0.10.1_amd64.deb.",
    "Ran python3 scripts/demo-home.py /tmp/wake-demo-home to create the documented synthetic dataset.",
    "Ran wake-cli index against the synthetic HOME; it indexed 424 sessions from 16 agents.",
    "Ran the documented wake-mcp call wake_search operation for retry; it returned 24 matching sessions.",
    "Validated and replayed probe, claim, example, and cycle records with the Coldpass checker; result PASS."
  ],
  "deviations": [
    "The first MCP search attempt occurred before the synthetic index existed and returned the actual error: no Wake index at /tmp/wake-demo-home/.local/share/wake/wake.db — launch Wake once to build it. The documented wake-cli index command corrected the example setup.",
    "The Rust package build exceeded the exec call's 600 second wait, but inspection showed the build process had completed and both binaries and package artifacts were present.",
    "Python 3.12.3 was present; Python/pip are not needed for this Rust README workflow."
  ],
  "stuck_step": null,
  "main_blocker": null,
  "plain_failure": null,
  "suggested_fix": null
}
EOF
cat .coldpass/report.json