{
  "tokens_out": 6128,
  "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": "18a56ea28764cdb1efeace6738760f02aca11246",
  "failure_origin": null,
  "stuck_step": null,
  "repo_url": null,
  "needs": null,
  "checks": [
    {
      "check": "operation",
      "status": "PASS",
      "details": {
        "working": true,
        "argv": [
          "--app-dir",
          "examples",
          "stack_service:app"
        ],
        "kind": "http",
        "status": 200,
        "bytes": 44,
        "url": "http://127.0.0.1:8000/counter/events",
        "scope": "product operation"
      }
    }
  ],
  "open_issues": null,
  "agent_runtime_version": "2.1.300 (Claude Code)",
  "verifies_run_id": null,
  "total_s": 151.466814994812,
  "license": null,
  "tool_calls": 13,
  "model_version": "claude-haiku-5-5",
  "example_checks": [],
  "mcp": null,
  "other_model": null,
  "first_use_s": null,
  "native_tool_calls": 13,
  "last_commit_at": null,
  "source": "https://github.com/mathisarends/canon",
  "models_agree": null,
  "maintenance_verdict": null,
  "cost_usd": 0.00800584,
  "safety": null,
  "answered_issues": null,
  "what_failed": null,
  "steps": [
    "cd <host-path> && ls -la && cat README.md 2>/dev/null | head -200",
    "ls <host-path>; cat <host-path> 2>/dev/null | head -50; echo CDP=$CDP_URL $<env-var>",
    "cd <host-path> && cat docs/contributing.md; echo ----; ls packages/*; echo ----; cat examples/*.md 2>/dev/null | head -80; ls examples/reference-service; cat .python-version; which uv python3; python3 --version",
    "cd <host-path> && (command -v uv || (curl -LsSf https://astral.sh/uv/install.sh | sh)) 2>&1 | tail -3; export PATH=$HOME/.local/bin:$PATH; uv --version && uv sync --locked --all-packages --all-groups 2>&1 | tail -15",
    "cd <host-path> && export PATH=$HOME/.local/bin:$PATH && (nohup uv run --locked uvicorn examples.stack_service:app --port 8765 > /tmp/stack.log 2>&1 &) ; sleep 8; curl -s -X POST localhost:8765/counter; echo; curl -s -m 3 localhost:8765/counter/events | head -5; echo; curl -s -X POST localhost:8765/rpc -H 'content-type: application/json' -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"counter.increment\",\"params\":{}}'; echo; tail -5 /tmp/stack.log",
    "cd <host-path> && ls examples; ls packages/fastapi-canon/examples | head; grep -rn \"stack_service\" --include=*.py --include=*.md . | grep -v .venv | head",
    "cd <host-path> && .venv/bin/python -c \"import examples.stack_service as m; print(m.app)\" 2>&1 | tail -8; ls -la examples/ | head; cat /tmp/stack.log | tail -20",
    "cd <host-path> && .venv/bin/python -c \"import examples; print(examples, getattr(examples,'__path__',None), getattr(examples,'__file__',None))\" 2>&1; ls .venv/lib/python3.*/site-packages | grep -i example; cat .gitignore",
    "cd <host-path> && cat examples/stack_service.py",
    "cd <host-path> && (nohup .venv/bin/uvicorn --app-dir examples stack_service:app --port 8765 > /tmp/stack.log 2>&1 &) ; sleep 6; curl -s -X POST localhost:8765/counter; echo; curl -s -m 3 localhost:8765/counter/events | head -5; echo; curl -s -X POST localhost:8765/rpc -H 'content-type: application/json' -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"counter.increment\",\"params\":{}}'; echo; tail -5 /tmp/stack.log",
    "cd <host-path> && pkill -f \"uvicorn --app-dir examples\" ; sleep 2; (ss -ltn | grep -E ':(8000|8765)\\b' || echo \"ports free\"); mkdir -p .coldpass && cat > .coldpass/probe.json <<'EOF'\n{\"kind\":\"http\",\"argv\":[\"<host-path>\",\"--app-dir\",\"examples\",\"stack_service:app\"],\"cwd\":\"<host-path>\",\"url\":\"http://127.0.0.1:8000/counter/events\",\"env\":{}}\nEOF\ncat > .coldpass/report.json <<'EOF'\n{\"outcome\":\"working\",\"operation\":\"Start the composed stack example (HTTP + SSE + RPC on one Dishka container) and exercise its HTTP/SSE endpoints: POST /counter returned {\\\"value\\\":1}, GET /counter/events emitted a typed counter.changed SSE event.\",\"operation_scope\":\"HTTP and SSE verified. /rpc is a WebSocket route and was not exercised over WebSocket (a plain POST returned 404, as expected for a socket route). Full pytest/lint suites intentionally not run.\",\"steps\":[\"Read README.md and docs/contributing.md\",\"curl -LsSf https://astral.sh/uv/install.sh | sh (uv 0.13.1 installed to ~/.local/bin)\",\"uv sync --locked --all-packages --all-groups (succeeded)\",\"uvicorn examples.stack_service:app (documented in docs/contributing.md) failed to import, see deviations\",\"uvicorn --app-dir examples stack_service:app --port 8765 started; POST /counter and GET /counter/events verified; server stopped\"],\"deviations\":[\"docs/contributing.md command 'uv run --locked uvicorn examples.stack_service:app' fails with ModuleNotFoundError: No module named 'examples.stack_service'. Cause: the editable package packages/fastapi-canon ships an examples/ package that shadows the root examples/ directory. Ran '.venv/bin/uvicorn --app-dir examples stack_service:app' instead (no source edits).\"],\"stuck_step\":null,\"main_blocker\":null,\"suggested_fix\":\"Rename or remove packages/fastapi-canon/examples (or give the root examples/ a distinct import name) so 'examples.stack_service' resolves to the root example; the docs command then works as written.\"}\nEOF\n<env-var>=<host-path> python3 -I <host-path> --validate",
    "cd <host-path> && ls -la .coldpass 2>&1; pgrep -af \"stack_service\" | grep -v pgrep || echo \"no server running\"; (ss -ltn | grep -E ':(8000|8765)\\b' || echo \"ports free\")",
    "cd <host-path> && mkdir -p .coldpass && cat > .coldpass/probe.json <<'EOF'\n{\"kind\":\"http\",\"argv\":[\"<host-path>\",\"--app-dir\",\"examples\",\"stack_service:app\"],\"cwd\":\"<host-path>\",\"url\":\"http://127.0.0.1:8000/counter/events\",\"env\":{}}\nEOF\ncat > .coldpass/report.json <<'EOF'\n{\"outcome\":\"working\",\"operation\":\"Start the composed stack example (HTTP + SSE + RPC on one Dishka container) and exercise its HTTP/SSE endpoints: POST /counter returned {\\\"value\\\":1}, GET /counter/events emitted a typed counter.changed SSE event.\",\"operation_scope\":\"HTTP and SSE verified. /rpc is a WebSocket route and was not exercised over WebSocket (a plain POST returned 404, as expected for a socket route). Full pytest/lint suites intentionally not run.\",\"steps\":[\"Read README.md and docs/contributing.md\",\"curl -LsSf https://astral.sh/uv/install.sh | sh (uv 0.13.1 installed to ~/.local/bin)\",\"uv sync --locked --all-packages --all-groups (succeeded)\",\"uv run --locked uvicorn examples.stack_service:app (documented in docs/contributing.md) failed to import, see deviations\",\"uvicorn --app-dir examples stack_service:app --port 8765 started; POST /counter and GET /counter/events verified; server stopped\"],\"deviations\":[\"docs/contributing.md command 'uv run --locked uvicorn examples.stack_service:app' fails with ModuleNotFoundError: No module named 'examples.stack_service'. Cause: the editable package packages/fastapi-canon ships an examples/ package that shadows the root examples/ directory. Ran '.venv/bin/uvicorn --app-dir examples stack_service:app' instead (no source edits).\"],\"stuck_step\":null,\"main_blocker\":null,\"suggested_fix\":\"Rename or remove packages/fastapi-canon/examples (or give the root examples/ a distinct import name) so 'examples.stack_service' resolves to the root example; the docs command then works as written.\"}\nEOF\n<env-var>=<host-path> python3 -I <host-path> --validate; echo \"rc=$?\""
  ],
  "platform_conflicts": null,
  "claims_note": null,
  "maintained_note": null,
  "repo": "mathisarends/canon",
  "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-18T15:50:54.998105+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": "mathisarends--canon-claude-haiku-5-5-1792338503531275347",
  "last_release_at": null,
  "furthest_model": null,
  "model": "claude-haiku-5-5",
  "what_it_did": "Start the composed stack example (HTTP + SSE + RPC on one Dishka container) and exercise its HTTP/SSE endpoints: POST /counter returned {\"value\":1}, GET /counter/events emitted a typed counter.changed SSE event.",
  "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": 182977,
  "tested_at": null,
  "test_version": "readme-03aea4c41d53955e3723c330e9927d2a9df627f6642624cc0078a97c73a53c8a",
  "recovery": {
    "source": "legacy-oct16-18",
    "original_run_id": "mathisarends--canon-claude-haiku-5-5-1792338503531275347",
    "historical": true,
    "ledger_sha256": "c5e6a833c182c1e2aecf69d0bd0020aec63c65d98f3e933e4b32232340312736"
  },
  "transcript_url": "/transcripts/mathisarends--canon-claude-haiku-5-5-1792338503531275347.txt",
  "report_url": "/reports/mathisarends--canon-claude-haiku-5-5-1792338503531275347.json"
}
