Haiku 5.5
Native agent · Checked operation passedChecked operation <guest-path> <guest-path> --once --dry-run
Agent-reported scope: Install t3-done-notify per README, then run the documented one-shot poll (--once --dry-run) against a fixture session tree.
Run details
- run
- TayHCode--t3-done-notify-claude-haiku-5-5-1792743127620935764
- date
- Oct 23, 2026
- time to working
- 473.7s
- product hosting / execution
- Local command 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.046665
- Recorded source
- https://github.com/TayHCode/t3-done-notify
- Backend
- tart
- Tool transport
- mcp-assigned-vm
- Requested source pin (not an observed revision)
- {"commit": "baf4bd786457093c1a35b2bba17e36bfd570ca97", "url": "https://github.com/TayHCode/t3-done-notify"}
- Test version
- readme-71af40079ee68fdda131463405700e8219a99ea96bf0185ac605d5ecffaf5971
- revision
- baf4bd786457093c1a35b2bba17e36bfd570ca97
Flaky localhost binding in tests/test_t3ctl.py: HTTPServer(("localhost", 0)) is IPv4 while T3_URL uses localhost, which may resolve to ::1.
Step: Full unit-test suite (python -m unittest discover -s tests -q): test_t3ctl.py ticket test intermittently fails with network error; passes alone and in 3 of 4 full runs.
Safety: No problems traced to this repository code in these checks.
No problems traced to this repository code in these checks.
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.
Answers recorded for this run
- One-shot run reads enabled sources and reports a completed poll without sending webhooks: Real input produced the expected result: poll complete
Source: Run once without making webhook requests:
Input: --once --dry-run against the fixture Claude Code session tree
Expected: prints 'poll complete' and exits 0
Command: <guest-path> <guest-path> --once --dry-run
Observed: poll complete
Examples
- Installer unit tests (run with the installed venv interpreter): command completed successfully
Source: CONTRIBUTING.md
Input: python -m unittest discover -s tests -p test_install.py -q, TMPDIR on /private/tmp
Expected: installer tests pass
Command: <guest-path> -m unittest discover -s tests -p test_install.py -q
Observed: ---------------------------------------------------------------------- Ran 5 tests in 10.722s OK
Cycles
- Each polling cycle scans sources and then sleeps for the poll interval: Triggered one cycle by hand (run-once: --once runs exactly one loop iteration and returns before the sleep; normal trigger: continuous loop every T3_DONE_POLL_SECONDS (default 60)): poll complete
Source: t3_done_notify.py
Input: fixture Claude Code session tree; no webhook contacted
Expected: one 'poll complete' line and exit 0
Command: <guest-path> <guest-path> --once
Observed: poll complete
Local or hosted: local
What the agent did
Install t3-done-notify per README, then run the documented one-shot poll (--once --dry-run) against a fixture session tree.
cd <guest-path> && pwd && ls -la && id -u && uname -a && (git status 2>&1 | head -3) && cat README.md 2>/dev/null | head -200
ls -la <guest-path> <guest-path> 2>&1; /opt/homebrew/bin/python3 --version 2>&1; which node npm uv pip3 2>&1; cat /etc/os-release 2>/dev/null | head -2
cd <guest-path> && cat install.sh && echo ---- && cat requirements.txt && echo ---- && cat env.example && echo ---- && cat watch.example && echo ---- && ls -la .coldpass tests && cat release-check.json | head -60
cd <guest-path> && which python3; python3 --version; grep -n "argparse\|add_argument\|def main\|--once\|--now\|__main__\|sys.argv" t3_done_notify.py | head -60; echo ----; grep -n "def \(main\|cmd_\)" t3ctl | head; sed -n 1,40p t3ctl | head -60; echo ----; cat CONTRIBUTING.md; ls .github/workflows 2>/dev/null; ls -R .agents .claude | head -30
cd <guest-path> && sed -n 1358,1430p t3_done_notify.py; echo ----; cat .agents/skills/verify-watcher/SKILL.md | head -80
mkdir -p <guest-path> && cat > <guest-path> <<'EOF'
import http.server, json, sys
class H(http.server.BaseHTTPRequestHandler):
def do_POST(self):
n = int(self.headers.get("Content-Length", 0))
body = self.rfile.read(n)
with open("<guest-path>", "ab") as f:
f.write(body + b"\n")
self.send_response(200); self.end_headers(); self.wfile.write(b"ok")
def log_message(self, *a): pass
http.server.HTTPServer(("127.0.0.1", 8765), H).serve_forever()
EOF
cd <guest-path> && nohup /opt/homebrew/bin/python3 -I <guest-path> > <guest-path> 2>&1 &
echo $! > <guest-path>; sleep 1; curl -s -o /dev/null -w "%{http_code}\n" -X POST -d '{"ping":1}' http://127.0.0.1:8765/notify; echo HOME=$HOME; cd <guest-path> && WEBHOOK_URL=http://127.0.0.1:8765/notify WEBHOOK_KEY=local-guest-key T3_DONE_SOURCES=claude,codex ./install.sh --non-interactive 2>&1; echo "exit=$?"
cd <guest-path> && V=<guest-path>; $V --version; $V -m unittest discover -s tests -q 2>&1 | tail -5; echo "exit=${PIPESTATUS[0]}"; echo ----; grep -n "once\|dry-run\|dry_run\|t3ctl" README.md | head; echo ----; launchctl print gui/$(id -u)/com.t3-done-notify 2>&1 | head -12; tail -5 <guest-path> 2>/dev/null
cd <guest-path> && V=<guest-path>; $V -m unittest discover -s tests -q 2>&1 | grep -B2 -A25 "^FAIL:" | head -120
cd <guest-path> && V=<guest-path>; for i in 1 2; do $V -m unittest discover -s tests -q > <guest-path> 2>&1; echo "run$i exit=$?"; tail -1 <guest-path>; grep -A12 "^ERROR:" <guest-path> | head -30; grep "^FAIL:" <guest-path>; done
env | grep -i proxy | sed 's/=.*@/=***@/' ; cd <guest-path> && sed -n 115,132p tests/test_t3ctl.py; echo ----; env -u http_proxy -u https_proxy -u HTTP_PROXY -u HTTPS_PROXY -u ALL_PROXY -u all_proxy <guest-path> -m unittest tests.test_t3ctl -q 2>&1 | tail -3
cd <guest-path> && sed -n 186,216p README.md; echo ----; head -3 t3_done_notify.py
cd <guest-path> && grep -n "turn_duration\|stop_reason\|def _claude\|def claude\|write_jsonl\|\"type\"" tests/test_local_sessions.py | head -40
cd <guest-path> && sed -n 17,80p tests/test_local_sessions.py; sed -n 176,186p tests/test_local_sessions.py
set -e; F=<guest-path>; rm -rf $F; mkdir -p $F/config $F/claude/projects/demo $F/codex/sessions
printf 'WEBHOOK_URL=http://127.0.0.1:8765/notify\nWEBHOOK_KEY=local-guest-key\nT3_DONE_SOURCES=claude\n' > $F/config/env; chmod 600 $F/config/env
cat > <guest-path> <<'EOF'
import json, sys
path = sys.argv[1]
sid = "11111111-2222-3333-4444-555555555555"
rows = [
{"type":"user","sessionId":sid,"timestamp":"2026-10-01T09:00:00Z","uuid":"u1","message":{"role":"user","content":"Refactor the parser"}},
{"type":"assistant","sessionId":sid,"timestamp":"2026-10-01T09:00:05Z","uuid":"a1","message":{"role":"assistant","id":"m1","model":"claude-test","content":[{"type":"text","text":"Working on it"}],"stop_reason":"tool_use"}},
]
with open(path, "w", encoding="utf-8") as h:
for r in rows: h.write(json.dumps(r) + "\n")
print("wrote", path)
EOF
/opt/homebrew/bin/python3 -I <guest-path> $F/claude/projects/demo/11111111-2222-3333-4444-555555555555.jsonl
cd <guest-path> && env T3_DONE_CONFIG_DIR=$F/config T3_DONE_STATE_FILE=$F/state.json T3_DONE_DAYBOOK_DIR=$F/daybook CLAUDE_PROJECTS_DIR=$F/claude/projects CODEX_SESSIONS_DIR=$F/codex/sessions T3_DONE_SOURCES=claude T3_DONE_STALL_SECONDS=2700 <guest-path> <guest-path> --once --dry-run; echo "exit=$?"; ls -R $F/daybook 2>/dev/null; cat $F/daybook/*.md 2>/dev/null | head -30
F=<guest-path>; cat > <guest-path> <<'EOF'
import json, sys
path = sys.argv[1]
sid = "99999999-8888-7777-6666-555555555555"
rows = [
{"type":"user","sessionId":sid,"timestamp":"2026-10-23T10:00:00Z","uuid":"u2","message":{"role":"user","content":"Deploy staging"}},
{"type":"assistant","sessionId":sid,"timestamp":"2026-10-23T10:00:05Z","uuid":"a2","message":{"role":"assistant","id":"m2","model":"claude-test","content":[{"type":"text","text":"Staging is ready. Could you approve the production deploy?"}],"stop_reason":"end_turn"}},
{"type":"system","sessionId":sid,"timestamp":"2026-10-23T10:00:06Z","uuid":"s2","subtype":"turn_duration","durationMs":1000},
]
with open(path, "w", encoding="utf-8") as h:
for r in rows: h.write(json.dumps(r) + "\n")
EOF
/opt/homebrew/bin/python3 -I <guest-path> $F/claude/projects/demo/99999999-8888-7777-6666-555555555555.jsonl
cd <guest-path> && env T3_DONE_CONFIG_DIR=$F/config T3_DONE_STATE_FILE=$F/state.json T3_DONE_DAYBOOK_DIR=$F/daybook CLAUDE_PROJECTS_DIR=$F/claude/projects CODEX_SESSIONS_DIR=$F/codex/sessions T3_DONE_SOURCES=claude T3_DONE_DEBOUNCE_SECONDS=0 <guest-path> <guest-path> --once; echo "exit=$?"; echo "--- receiver log:"; cat <guest-path> 2>/dev/null | head -c 800; echo; echo "--- daybook:"; cat $F/daybook/*.md | head -40
F=<guest-path>; cd <guest-path> && E="env T3_DONE_CONFIG_DIR=$F/config T3_DONE_STATE_FILE=$F/state.json T3_DONE_DAYBOOK_DIR=$F/daybook CLAUDE_PROJECTS_DIR=$F/claude/projects CODEX_SESSIONS_DIR=$F/codex/sessions T3_DONE_SOURCES=claude T3_DONE_DEBOUNCE_SECONDS=0"; P=<guest-path>; $E $P/.venv/bin/python $P/t3_done_notify.py --once; echo "exit=$?"; echo "--- state keys:"; /opt/homebrew/bin/python3 -I -c "import json;d=json.load(open('$F/state.json'));print(list(d.keys()));print(json.dumps(d,indent=1)[:1500])"; echo "--- receiver:"; cat <guest-path>; echo "--- daybook files:"; ls $F/daybook; cat $F/daybook/*.md | grep -n "Status\|##"
F=<guest-path>; P=<guest-path>; cd <guest-path> && env T3_DONE_CONFIG_DIR=$F/config T3_DONE_STATE_FILE=$F/state.json T3_DONE_DAYBOOK_DIR=$F/daybook CLAUDE_PROJECTS_DIR=$F/claude/projects CODEX_SESSIONS_DIR=$F/codex/sessions T3_DONE_SOURCES=claude T3_DONE_POLL_SECONDS=-1 $P/.venv/bin/python $P/t3_done_notify.py --once --dry-run; echo "exit=$?"; grep -n "configuration error\|nonzero exit" README.md | head
cd <guest-path> && mkdir -p .coldpass && P=<guest-path> && F=<guest-path> && cat > <guest-path> <<'EOF'
import json, sys
P = "<guest-path>"
F = "<guest-path>"
W = "<guest-path>"
env = {
"T3_DONE_CONFIG_DIR": F + "/config",
"T3_DONE_STATE_FILE": F + "/state.json",
"T3_DONE_DAYBOOK_DIR": F + "/daybook",
"CLAUDE_PROJECTS_DIR": F + "/claude/projects",
"CODEX_SESSIONS_DIR": F + "/codex/sessions",
"T3_DONE_SOURCES": "claude",
}
py = P + "/.venv/bin/python"
script = P + "/t3_done_notify.py"
once_dry = [py, script, "--once", "--dry-run"]
probe = {"kind": "cli", "argv": once_dry, "cwd": W, "env": env, "expected_text": "poll complete"}
claims = [
{"kind": "claim", "claim": "One-shot run reads enabled sources and reports a completed poll without sending webhooks",
"source": "Run once without making webhook requests:",
"input": "--once --dry-run against the fixture Claude Code session tree",
"expected": "prints 'poll complete' and exits 0",
"probe_kind": "cli", "argv": once_dry, "env": env, "expected_text": "poll complete", "cwd": W},
{"kind": "claim", "claim": "With --once, a configuration error returns a nonzero exit status",
"source": "With `--once`, configuration or polling errors return a nonzero exit status.",
"input": "T3_DONE_POLL_SECONDS=-1 with --once --dry-run",
"expected": "prints a configuration error and exits 2",
"probe_kind": "cli", "argv": once_dry, "env": dict(env, T3_DONE_POLL_SECONDS="-1"),
"expected_returncode": 2, "expected_text": "configuration error (ValueError)", "cwd": W},
]
cycles = {"detected": True, "checks": [
{"claim": "Each polling cycle scans sources and then sleeps for the poll interval",
"source": "t3_done_notify.py", "quote": "time.sleep(config.poll_seconds)",
"schedule": "continuous loop every T3_DONE_POLL_SECONDS (default 60)",
"method": "run-once: --once triggers exactly one loop iteration without the sleep",
"input": "fixture Claude Code session tree, webhook not contacted in dry-run",
"expected": "one 'poll complete' line and exit 0",
"kind": "cli", "argv": [py, script, "--once"], "cwd": W, "env": env,
"expected_text": "poll complete"}]}
examples = [
{"kind": "example", "claim": "Repository unit tests from CONTRIBUTING.md",
"source": "CONTRIBUTING.md",
"reason": "Ran 'python3 -m unittest discover -s tests -q' with the installed venv interpreter: 83 tests, 80 passed, 3 failed (2 install-path tests compare /tmp against macOS /private/tmp; 1 t3ctl ticket test flaked with a network error in the full run). Not counted as a pass."},
{"kind": "example", "claim": "Install and start the watcher with the documented installer",
"source": "README.md Setup section (./install.sh)",
"reason": "Ran ./install.sh --non-interactive with a local-only webhook receiver; it starts a launchd user agent, so it is setup and not replayable as an example. Stopped afterwards."},
{"kind": "example", "claim": "Deliver a webhook for an attention-needing completion",
"source": "README.md 'What it does' list",
"reason": "Verified manually: second --once poll after a new finished session with 'Could you approve...' posted one JSON event to the local receiver. Not replayable because it needs a session that is new between polls."},
]
json.dump(probe, open(W + "/.coldpass/probe.json", "w"), indent=2)
json.dump(claims, open(W + "/.coldpass/claims.json", "w"), indent=2)
json.dump(cycles, open(W + "/.coldpass/cycles.json", "w"), indent=2)
json.dump(examples, open(W + "/.coldpass/examples.json", "w"), indent=2)
print("ok")
EOF
/opt/homebrew/bin/python3 -I <guest-path> && ls -la .coldpass && cat .coldpass/probe.json
launchctl bootout gui/$(id -u)/com.t3-done-notify 2>&1; sleep 1; launchctl print gui/$(id -u)/com.t3-done-notify >/dev/null 2>&1 && echo "still loaded" || echo "agent unloaded"; kill $(cat <guest-path>) 2>/dev/null; sleep 1; (curl -s -m 2 -o /dev/null -w "%{http_code}" http://127.0.0.1:8765/ || echo "receiver down"); echo; cd <guest-path> && COLDPASS_WORKSPACE=<guest-path> /opt/homebrew/bin/python3 -I <guest-path> --validate --replay; echo "checker exit=$?"
grep -n "agent-written" <guest-path> | head; grep -n "def .*partial\|def _is_agent\|agent_written\|def _argv" <guest-path> | head
sed -n 280,345p <guest-path>
cd <guest-path> && sed -i 's|^script = P + "/t3_done_notify.py"|script = W + "/t3_done_notify.py"|' gen.py && grep -n '^script' gen.py && cd <guest-path> && /opt/homebrew/bin/python3 -I <guest-path> && COLDPASS_WORKSPACE=<guest-path> /opt/homebrew/bin/python3 -I <guest-path> --validate --replay; echo "checker exit=$?"
cd <guest-path> && /opt/homebrew/bin/python3 -I -c "
p='<guest-path>'; s=open(p).read()
s=s.replace('script = P + \"/t3_done_notify.py\"','script = W + \"/t3_done_notify.py\"')
open(p,'w').write(s)" && grep -n '^script' gen.py && cd <guest-path> && /opt/homebrew/bin/python3 -I <guest-path> && COLDPASS_WORKSPACE=<guest-path> /opt/homebrew/bin/python3 -I <guest-path> --validate --replay; echo "checker exit=$?"
grep -n "'env'" <guest-path> | head -20; echo ----; cd <guest-path> && mkdir -p /private<guest-path> && TMPDIR=/private<guest-path> <guest-path> -m unittest discover -s tests -q > <guest-path> 2>&1; echo "exit=$?"; tail -3 <guest-path>; grep "^FAIL:\|^ERROR:" <guest-path>
sed -n 1105,1125p <guest-path>; echo ----; sed -n 800,812p <guest-path>; echo ----; cd <guest-path> && grep -n "def run_server\|localhost\|127.0.0.1\|T3_URL" tests/test_t3ctl.py | head
cd <guest-path> && cat > <guest-path> <<'EOF'
import json
P = "<guest-path>"
F = "<guest-path>"
W = "<guest-path>"
py = P + "/.venv/bin/python"
env = {"T3_DONE_CONFIG_DIR": F + "/config", "T3_DONE_STATE_FILE": F + "/state.json",
"T3_DONE_DAYBOOK_DIR": F + "/daybook", "CLAUDE_PROJECTS_DIR": F + "/claude/projects",
"CODEX_SESSIONS_DIR": F + "/codex/sessions", "T3_DONE_SOURCES": "claude"}
once_dry = [py, W + "/t3_done_notify.py", "--once", "--dry-run"]
claims = [
{"kind": "claim", "claim": "One-shot run reads enabled sources and reports a completed poll without sending webhooks",
"source": "Run once without making webhook requests:",
"input": "--once --dry-run against the fixture Claude Code session tree",
"expected": "prints 'poll complete' and exits 0",
"probe_kind": "cli", "argv": once_dry, "env": env, "expected_text": "poll complete", "cwd": W}]
examples = [
{"kind": "example", "claim": "Repository unit tests (run with the installed venv interpreter)",
"source": "CONTRIBUTING.md",
"input": "python -m unittest discover -s tests -q, TMPDIR on /private/tmp",
"expected": "all 83 tests pass",
"argv": [py, "-m", "unittest", "discover", "-s", "tests", "-q"], "cwd": W,
"env": {"TMPDIR": "/private<guest-path>"}, "expected_text": "Ran 83 tests"}]
cycles = {"detected": True, "checks": [
{"claim": "Each polling cycle scans sources and then sleeps for the poll interval",
"source": "t3_done_notify.py", "quote": "time.sleep(config.poll_seconds)",
"schedule": "continuous loop every T3_DONE_POLL_SECONDS (default 60)",
"method": "run-once: --once runs exactly one loop iteration and returns before the sleep",
"input": "fixture Claude Code session tree; no webhook contacted",
"expected": "one 'poll complete' line and exit 0",
"kind": "cli", "argv": [py, W + "/t3_done_notify.py", "--once"], "cwd": W, "env": env,
"expected_text": "poll complete"}]}
json.dump(claims, open(W + "/.coldpass/claims.json", "w"), indent=2)
json.dump(examples, open(W + "/.coldpass/examples.json", "w"), indent=2)
json.dump(cycles, open(W + "/.coldpass/cycles.json", "w"), indent=2)
print("ok")
EOF
/opt/homebrew/bin/python3 -I <guest-path> && COLDPASS_WORKSPACE=<guest-path> /opt/homebrew/bin/python3 -I <guest-path> --validate --replay > <guest-path> 2>&1; echo "checker exit=$?"; /opt/homebrew/bin/python3 -I -c "
import json,sys
t=open('<guest-path>').read()
try:
d=json.loads(t); print('valid=',d.get('valid')); print('problems=',d.get('problems'))
except Exception as e: print(t[:3000])"
cd <guest-path> && sed -n 90,135p tests/test_t3ctl.py; sed -n 85,100p t3ctl; for i in 1 2 3; do TMPDIR=/private<guest-path> <guest-path> -m unittest discover -s tests -q 2>&1 | tail -1; done
cd <guest-path> && sed -i 's/"expected_text": "Ran 83 tests"/"expected_text": "OK"/' <guest-path> && /opt/homebrew/bin/python3 -I <guest-path> && COLDPASS_WORKSPACE=<guest-path> /opt/homebrew/bin/python3 -I <guest-path> --validate --replay > <guest-path> 2>&1; echo "exit=$?"; cat <guest-path> | head -c 3000
cd <guest-path> && /opt/homebrew/bin/python3 -I -c "
p='<guest-path>'; s=open(p).read(); open(p,'w').write(s.replace('\"expected_text\": \"Ran 83 tests\"','\"expected_text\": \"OK\"'))" && /opt/homebrew/bin/python3 -I <guest-path> && COLDPASS_WORKSPACE=<guest-path> /opt/homebrew/bin/python3 -I <guest-path> --validate --replay > <guest-path> 2>&1; echo "exit=$?"; head -c 3000 <guest-path>
cd <guest-path> && /opt/homebrew/bin/python3 -I -c "
p='<guest-path>'; s=open(p).read()
s=s.replace('\"argv\": [py, \"-m\", \"unittest\", \"discover\", \"-s\", \"tests\", \"-q\"]','\"argv\": [py, \"-m\", \"unittest\", \"discover\", \"-s\", \"tests\", \"-p\", \"test_install.py\", \"-q\"]')
s=s.replace('python -m unittest discover -s tests -q, TMPDIR on /private/tmp','python -m unittest discover -s tests -p test_install.py -q, TMPDIR on /private/tmp')
s=s.replace('Repository unit tests (run with the installed venv interpreter)','Installer unit tests (run with the installed venv interpreter)')
s=s.replace('\"expected\": \"all 83 tests pass\"','\"expected\": \"installer tests pass\"')
open(p,'w').write(s)" && /opt/homebrew/bin/python3 -I <guest-path> && COLDPASS_WORKSPACE=<guest-path> /opt/homebrew/bin/python3 -I <guest-path> --validate --replay > <guest-path> 2>&1; echo "exit=$?"; /opt/homebrew/bin/python3 -I -c "
import json;d=json.load(open('<guest-path>'));print('valid=',d['valid']);print('problems=',d['problems'])"
cd <guest-path> && (pgrep -fl "receiver.py|t3_done_notify" || echo "no matching processes"); (test -f <guest-path> && kill "$(cat <guest-path>)" 2>/dev/null; echo receiver-stop-attempted); mkdir -p .coldpass && /opt/homebrew/bin/python3 -I -c "
import json
r={
'outcome':'partial',
'fault_owner':'product',
'operation':'Install t3-done-notify per README, then run the documented one-shot poll (--once --dry-run) against a fixture session tree.',
'operation_scope':'local install into the guest user home; fixture sessions; local webhook receiver on 127.0.0.1 only; no external notifications.',
'steps':[
'Read README and CONTRIBUTING.md; checked python3 version against README.',
'Ran ./install.sh non-interactively with WEBHOOK_URL pointing at local receiver and T3_DONE_SOURCES set.',
'Ran documented one-shot command with --once --dry-run; output poll complete, exit 0.',
'Ran second poll and confirmed the attention-needing completion was POSTed to the local receiver.',
'Confirmed config error (negative poll interval) exits 2 with configuration error (ValueError) when run manually.',
'Ran checker validation with replay; claims, cycle and installer example pass.'],
'deviations':[
'Claim 2 (config-error exit code) removed: checker does not apply claim env in replay, so it cannot be replayed; the behavior was verified manually only.',
'Full unit suite example replaced with tests/test_install.py only because test_t3ctl.py ticket test flakes.',
'Reason-only examples removed; they were blocked by the checker.',
'Installer and unit tests use TMPDIR=/private<guest-path> to avoid macOS /tmp canonicalization failures.'],
'stuck_step':'Full unit-test suite (python -m unittest discover -s tests -q): test_t3ctl.py ticket test intermittently fails with network error; passes alone and in 3 of 4 full runs.',
'main_blocker':'Flaky localhost binding in tests/test_t3ctl.py: HTTPServer((\"localhost\", 0)) is IPv4 while T3_URL uses localhost, which may resolve to ::1.',
'plain_failure':'T3 ticket request failed (network error) in test_ticket_auth_uses_existing_token_file, intermittently.',
'suggested_fix':'Bind the test server to 127.0.0.1 and set T3_URL to http://127.0.0.1:<port>, or resolve localhost consistently in the test.'}
json.dump(r,open('.coldpass/report.json','w'),indent=2)
print('report written')" && COLDPASS_WORKSPACE=<guest-path> /opt/homebrew/bin/python3 -I <guest-path> --validate --replay | tail -c 400
sleep 1; (pgrep -fl "receiver.py|t3_done_notify" || echo "no matching processes"); cd <guest-path> && COLDPASS_WORKSPACE=<guest-path> /opt/homebrew/bin/python3 -I <guest-path> --validate --replay > <guest-path> 2>&1; echo "exit=$?"; /opt/homebrew/bin/python3 -I -c "
import json;d=json.load(open('<guest-path>'));print('valid=',d['valid'],'problems=',d['problems'])"
kill 738 2>/dev/null; sleep 1; pgrep -fl "receiver.py|t3_done_notify" || echo "no matching processes"run JSON · checker evidence · agent report unavailable · transcript excerpt unavailable · error excerpt unavailable