coldpass

uilibs/uiprotect

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/uilibs--uiprotect.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 · 03f2745ae07f · claude-code / 2.1.300 (Claude Code)
Recorded operation: /tmp/uiprotect-venv/bin/uiprotect -a 127.0.0.1 decode-ws-msg…

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 /tmp/uiprotect-venv/bin/uiprotect -a 127.0.0.1 decode-ws-msg AQEBAAAAAHR4nB2MWwqDMBBFtyLz3YAmkzDpDorfLmCSGUFotfigFHHvknyee7jnBM77tMzwbOD4Cu8KjwZm/Q0VXlJEsIqx88mQxWDQ52jIiRgZO6eOOSKncvssou9e/zW26Vq2qRYw+7F1TJmSILGQtiFY8nDdlRMkmAIBAQAAAAEkeJyFkc1uwjAQhF8FRT2hHOz4Jz8P0HMv7aXisLbXwcJJkB1AqOq7NwSoCm3xxbJG34x3xx9ZG4bdNmbN4j2TVDErNCe0FlAShiUh06mzVb7IwPsXDJ2L0Q39mfduj3uHh2bZGCmU4lRTbiRAXSgLHKSh2eT8gfFaKSUIEbzgQAwTVBSypHCHqaLSrLK0KIiVijPLakaMtfdYXU0jC8agKhEkq6dHDWfVCev3oQkIplnemPSkjXiSdhHPRH4IbsTcoMcRm6er+UadQ+amLgn5b+fyO/UxEvUazc5jAvPYgj6+Pr/9MeQMqOBMm0rR0GGAf6FZ6dA4uAjz/dpZux5Tu2Afh9TCZhiCH/QmgZ3+J1mecXHr4Zjaeu26h82sPr8AeQX7wQ==

Agent-reported scope: uiprotect decode-ws-msg on a recorded base64 Protect websocket frame from tests/sample_data/sample_ws_messages.json; prints decoded action and data JSON

Run details
run
uilibs--uiprotect-claude-haiku-5-5-1792344819767154842
date
Oct 18, 2026
time to working
not recorded
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
linux
reported cost
$0.012803
Recorded source
https://github.com/uilibs/uiprotect
Tool transport
mcp-assigned-vm
Test version
readme-c5e0ccb431a80a9d60d2e220a9fed646c77ddd4e70bc799cda23957b77e37337
revision
03f2745ae07fb6aae67cf4ef79a84d1ec618b19e
What the agent did

uiprotect decode-ws-msg on a recorded base64 Protect websocket frame from tests/sample_data/sample_ws_messages.json; prints decoded action and data JSON

cd <host-path> && git log -1 --oneline 2>/dev/null; ls -la; cat README* | head -200
cat <host-path> | head -80; ls <host-path>
cd <host-path> && sed -n 200,400p README.md; ls .github/workflows; python3 --version; which uv pip pipx poetry 2>&1
cd /tmp && python3 -m venv /tmp/uiprotect-venv 2>&1 | tail -3; /tmp/uiprotect-venv/bin/pip install -q --upgrade pip 2>&1 | tail -2; /tmp/uiprotect-venv/bin/pip install -q "<host-path>" 2>&1 | tail -15; echo EXIT=$?; ls /tmp/uiprotect-venv/bin | grep -i uiprotect
cd <host-path> && cat .github/workflows/ci.yml | head -120; ls scripts docs
export DEBIAN_FRONTEND=noninteractive; (sudo -n apt-get update -qq && sudo -n apt-get install -y -qq python3-venv python3-pip) >/tmp/apt.log 2>&1; echo APT=$?; tail -3 /tmp/apt.log; rm -rf /tmp/uiprotect-venv; python3 -m venv /tmp/uiprotect-venv && /tmp/uiprotect-venv/bin/pip install -q "<host-path>" > /tmp/pip.log 2>&1; echo PIP=$?; tail -15 /tmp/pip.log; ls /tmp/uiprotect-venv/bin | grep -i protect
cd /tmp && /tmp/uiprotect-venv/bin/uiprotect --help 2>&1 | head -60; echo ---; grep -n "^#\|uiprotect " <host-path> | head -60
cd <host-path> && /tmp/uiprotect-venv/bin/uiprotect --help 2>&1 | grep -A40 "Commands" | head -50; echo ---; cat .github/workflows/spec-validation.yml; echo ---; head -40 scripts/validate_spec.py; echo ---; ls openapi
cd /tmp && /tmp/uiprotect-venv/bin/uiprotect decode-ws-msg --help 2>&1 | sed 's/[│╭╮╰╯─]//g' | tr -s ' ' | head -30; cd <host-path> && grep -rl "decode" tests | head; grep -n -B2 -A8 "decode-ws-msg" docs/cli.md | head -40
cd <host-path> && grep -n "decode" src/uiprotect/cli/*.py | head -20; ls tests/sample_data 2>/dev/null | head; grep -rln "base64" tests/*.py tests/data 2>/dev/null | head
cd <host-path> && sed -n 325,350p src/uiprotect/cli/__init__.py; grep -n "b64\|base64" tests/test_utils.py | head -5; grep -n "def test_decode\|ws_msg\|decode_ws" tests/*.py | head
cd <host-path> && ls tests/sample_data/events_ws_public | head; ls tests/sample_data | grep -i ws; grep -rn "ws_public\|events_ws" tests/conftest.py | head -5
cd <host-path> && head -c 600 tests/sample_data/sample_ws_messages.json; echo; /tmp/uiprotect-venv/bin/python3 -I -c "import json;d=json.load(open('tests/sample_data/sample_ws_messages.json'));print(type(d), list(d)[:10] if isinstance(d,dict) else len(d))"
cd <host-path> && /tmp/uiprotect-venv/bin/python3 -I -c "import json;d=json.load(open('tests/sample_data/sample_ws_messages.json'));print(next(iter(d.values()))['raw'])" > /tmp/ws_raw.txt && cd /tmp && /tmp/uiprotect-venv/bin/uiprotect -a 127.0.0.1 decode-ws-msg "$(cat /tmp/ws_raw.txt)"; echo EXIT=$?
cd <host-path> && mkdir -p .coldpass && ls -la .coldpass && python3 -I - <<'EOF'
import json
raw = open('/tmp/ws_raw.txt').read().strip()
probe = {
  "kind": "cli",
  "argv": ["/tmp/uiprotect-venv/bin/uiprotect", "-a", "127.0.0.1", "decode-ws-msg", raw],
  "cwd": "<host-path>",
  "expected_text": "\"modelKey\":\"user\""
}
report = {
  "outcome": "working",
  "operation": "uiprotect decode-ws-msg on a recorded base64 Protect websocket frame from tests/sample_data/sample_ws_messages.json; prints decoded action and data JSON",
  "operation_scope": "Offline decode only. Live console operations (cameras list-ids, nvr, etc.) need a UniFi Protect console, API key or local user, which this VM does not have, so they were not exercised.",
  "steps": [
    "Read README.md (Installation > From GitHub/PyPI, Quickstart > CLI).",
    "apt-get install -y python3-venv python3-pip (ensurepip missing for python3 -m venv).",
    "python3 -m venv /tmp/uiprotect-venv",
    "/tmp/uiprotect-venv/bin/pip install \"<host-path>\" (the README's pip install \"uiprotect[cli]\" from the pinned checkout).",
    "uiprotect --help (verified CLI entry point).",
    "uiprotect -a 127.0.0.1 decode-ws-msg <base64> (docs/cli.md command table) on a sample frame; exit 0 and decoded JSON printed."
  ],
  "deviations": [
    "python3 -m venv failed with no ensurepip; ran apt-get install python3-venv python3-pip, then recreated the venv.",
    "decode-ws-msg is documented in docs/cli.md, not README.md; used it because the README has no offline operation. Its top-level --address is required by typer but unused by this command, so a dummy 127.0.0.1 is passed.",
    "Probe argv contains the sample base64 frame inline instead of a file path, because file-based inputs are rejected by the checker."
  ],
  "stuck_step": None,
  "main_blocker": None,
  "suggested_fix": None
}
json.dump(probe, open('.coldpass/probe.json','w'), indent=2)
json.dump(report, open('.coldpass/report.json','w'), indent=2)
print("written")
EOF
<env-var>=<host-path> python3 -I <host-path> --validate; echo EXIT=$?
cd <host-path> && python3 -I -c "
import json,subprocess
p=json.load(open('.coldpass/probe.json'))
r=subprocess.run(p['argv'],cwd=p['cwd'],capture_output=True,text=True)
print(r.returncode, p['expected_text'] in r.stdout)"; ls -d *.egg-info build dist 2>/dev/null; ls -la .coldpass