{
  "tokens_out": 4700,
  "outcome": "pass",
  "suggested_fix": null,
  "cycle_checks": null,
  "fault": {
    "owner": null,
    "status": "resolved",
    "reason": null,
    "evidence": []
  },
  "runtime_revision": null,
  "agent_execution": "native_agent",
  "time_to_working_s": null,
  "usage_complete": true,
  "runtime": null,
  "architecture": null,
  "local_or_hosted": null,
  "agent_interfaces_note": null,
  "platform_details": null,
  "platforms_claimed": null,
  "maintenance": null,
  "evidence_strength": null,
  "purpose": "initial",
  "topic": null,
  "needs_which": null,
  "tested_with": null,
  "native_bundle": null,
  "agent_runtime": "claude-code",
  "maintenance_note": null,
  "runtime_version": null,
  "does_what_it_says": null,
  "commit": "bf1b1ffba50981264ba973a065c79fba419ee149",
  "failure_origin": null,
  "stuck_step": null,
  "repo_url": null,
  "needs": null,
  "checks": [
    {
      "check": "operation",
      "status": "PASS",
      "details": {
        "working": true,
        "argv": [
          "--workers",
          "1",
          "--threads",
          "8",
          "--keep-alive",
          "0",
          "--config",
          "python:little_sister.gunicorn_hooks",
          "--bind",
          "0.0.0.0:8888",
          "wsgi:app"
        ],
        "kind": "http",
        "status": 200,
        "bytes": 6685,
        "url": "http://localhost:8888/login",
        "scope": "product operation"
      }
    }
  ],
  "open_issues": null,
  "agent_runtime_version": "2.1.300 (Claude Code)",
  "verifies_run_id": null,
  "total_s": 125.70791435241699,
  "license": null,
  "tool_calls": 11,
  "model_version": "claude-haiku-5-5",
  "example_checks": [],
  "mcp": null,
  "other_model": null,
  "first_use_s": null,
  "native_tool_calls": 11,
  "last_commit_at": null,
  "source": "https://github.com/m-31/little-sister",
  "models_agree": null,
  "maintenance_verdict": null,
  "cost_usd": 0.007998350000000001,
  "safety": null,
  "answered_issues": null,
  "what_failed": null,
  "steps": [
    "cd <host-path> && ls -la && cat README.md | head -200",
    "cd <host-path> && git log -1 --format=%H 2>/dev/null; ls .github/workflows 2>/dev/null; which python3 node npm uv pip3 2>&1; python3 --version",
    "cd <host-path> && grep -n '^#' README.md; grep -n -A12 -i 'quickstart\\|^## Running\\|^### Run\\|setup.sh\\|start.sh' README.md | head -150",
    "cd <host-path> && sed -n 340,500p README.md",
    "cd <host-path> && (command -v uv || (sudo apt-get update -qq && sudo apt-get install -y -qq python3-pip python3-venv lsof curl >/dev/null 2>&1; pip install --user -q uv 2>&1 | tail -2)); export PATH=$HOME/.local/bin:$PATH; uv --version && export NODE_USE_ENV_PROXY=1 && uv sync 2>&1 | tail -15; echo EXIT=$?",
    "cd <host-path> && sudo apt-get install -y -qq python3-venv lsof curl >/dev/null 2>&1; python3 -m venv /tmp/uvenv && /tmp/uvenv/bin/pip install -q uv 2>&1 | tail -2; export PATH=/tmp/uvenv/bin:$PATH; uv --version && export NODE_USE_ENV_PROXY=1 && uv sync 2>&1 | tail -15; echo EXIT=${PIPESTATUS[0]}",
    "cd <host-path> && ls -R config | head -30; ./setup.sh </dev/null 2>&1 | tail -30; echo EXIT=${PIPESTATUS[0]}",
    "cd <host-path> && export PATH=/tmp/uvenv/bin:$PATH NODE_USE_ENV_PROXY=1; ./start.sh 2>&1 | tail -20; echo EXIT=${PIPESTATUS[0]}; sleep 3; curl -s -o /dev/null -w 'HTTP %{http_code}\\n' http://localhost:8888/login",
    "cd <host-path> && grep -o '^LITTLE_SISTER_API_TOKENS=.*' .env | sed 's/=.*//' ; TOK=$(grep '^LITTLE_SISTER_API_TOKENS=' .env | cut -d= -f2- | tr -d '\"' | cut -d, -f1 | cut -d= -f2); echo \"token-len ${#TOK}\"; curl -s -H \"Accept: application/json\" -H \"Authorization: <secret>\" http://localhost:8888/status | head -c 600; echo; echo ---; grep -rn \"load_dotenv\\|dotenv\" src/little_sister/*.py | head -5; cat wsgi.py | grep -v '^#' | head -40",
    "cd <host-path> && ./stop.sh 2>&1 | tail -3; sleep 2; curl -s -o /dev/null -w 'after-stop HTTP %{http_code}\\n' http://localhost:8888/login; ls -l .venv/bin/gunicorn; ls -la .coldpass 2>&1; ls <host-path>",
    "cd <host-path> && mkdir -p .coldpass && cat > .coldpass/probe.json <<'JSON'\n{\"kind\":\"http\",\"argv\":[\"<host-path>\",\"--workers\",\"1\",\"--threads\",\"8\",\"--keep-alive\",\"0\",\"--config\",\"python:little_sister.gunicorn_hooks\",\"--bind\",\"0.0.0.0:8888\",\"wsgi:app\"],\"cwd\":\"<host-path>\",\"url\":\"http://localhost:8888/login\"}\nJSON\ncat > .coldpass/report.json <<'JSON'\n{\"outcome\":\"working\",\"operation\":\"Start the little sister web app with the README's checkout gunicorn command (wsgi:app with the gunicorn_hooks config) and fetch the /login page over HTTP (HTTP 200).\",\"operation_scope\":\"Covers install (uv sync), first-time setup.sh, and serving the web UI/login. The JSON API was also checked manually with a bearer token from .env (GET /status returned the status tree), but the probe uses /login because the API needs a token the checker does not send. No checks are configured (config/checks has only examples), so the monitoring itself is not exercised.\",\"steps\":[\"pip/apt: installed python3-venv, lsof, curl; created /tmp/uvenv and pip-installed uv 0.13.1 (uv not present on guest)\",\"uv sync (README: From a checkout) - 36 packages resolved and installed\",\"./setup.sh (README: First-time setup) with stdin closed - wrote config/users/users.yaml and .env\",\"./start.sh (README: From a checkout) - little-sister up on http://0.0.0.0:8888, GET /login 200\",\"Bearer GET /status via LITTLE_SISTER_API_TOKENS - returned status JSON\",\"./stop.sh - stopped; port 8888 confirmed closed\"],\"deviations\":[\"README 'From a checkout' says uv is needed but the guest lacks it; installed uv into a venv at /tmp/uvenv (pip --user blocked by PEP 668) and put it on PATH for uv sync/start.sh.\",\"Installed python3-venv, lsof, curl via apt (start.sh needs lsof and curl).\"],\"stuck_step\":null,\"main_blocker\":null,\"suggested_fix\":null}\nJSON\n<env-var>=<host-path> python3 -I <host-path> --validate; echo EXIT=$?"
  ],
  "platform_conflicts": null,
  "claims_note": null,
  "maintained_note": null,
  "repo": "m-31/little-sister",
  "service_tier": null,
  "maintained": null,
  "source_pin": null,
  "operation_scope": "product operation",
  "reasoning": "low",
  "claims": [],
  "platform": "linux",
  "cost_to_try": null,
  "backend": null,
  "tool_transport": "mcp-assigned-vm",
  "hardware": null,
  "agent_interface": null,
  "profile": {
    "model": "claude-haiku-5-5",
    "reasoning": "low"
  },
  "date": "2026-10-18T18:42:00.250143+00:00",
  "kind": "repo",
  "resources": {
    "cpus": 2,
    "memory_mib": 4096,
    "disk_mib": 32768
  },
  "error_excerpt": null,
  "pass": true,
  "evidence_version": null,
  "source_revision": null,
  "run_id": "m-31--little-sister-claude-haiku-5-5-1792348794542215653",
  "last_release_at": null,
  "furthest_model": null,
  "model": "claude-haiku-5-5",
  "what_it_did": "Start the little sister web app with the README's checkout gunicorn command (wsgi:app with the gunicorn_hooks config) and fetch the /login page over HTTP (HTTP 200).",
  "sandbox_source": null,
  "other_run_id": null,
  "hosting": null,
  "tested_commit": null,
  "guest_setup": null,
  "mcp_context": null,
  "agent_interfaces": [],
  "setup_identity": null,
  "works": null,
  "install_s": null,
  "fix_id": null,
  "tokens_in": 187449,
  "tested_at": null,
  "test_version": "readme-80bce05978a913d9396742111125106710e3c4b0dc4098ba6143b35960c73717",
  "recovery": {
    "source": "legacy-oct16-18",
    "original_run_id": "m-31--little-sister-claude-haiku-5-5-1792348794542215653",
    "historical": true,
    "ledger_sha256": "c5e6a833c182c1e2aecf69d0bd0020aec63c65d98f3e933e4b32232340312736"
  },
  "transcript_url": "/transcripts/m-31--little-sister-claude-haiku-5-5-1792348794542215653.txt",
  "report_url": "/reports/m-31--little-sister-claude-haiku-5-5-1792348794542215653.json"
}
