{
  "run_id": "TayHCode--AgentOverview-claude-haiku-5-5-1792725639030754151",
  "date": "2026-10-23T03:29:35.489371+00:00",
  "repo": "TayHCode/AgentOverview",
  "kind": "repo",
  "source": "https://github.com/TayHCode/AgentOverview",
  "commit": "fd556ad69decf487c28aab134750d44d1635aaab",
  "model": "claude-haiku-5-5",
  "model_version": "claude-haiku-5-5",
  "test_version": "readme-bdc1b9b3c0d2673aef87e076d14084a8123ddcf09d520c1ee2e364a37c3f4bb9",
  "pass": true,
  "outcome": "pass",
  "time_to_working_s": 512.4179480200401,
  "total_s": 536.4585855007172,
  "steps": [
    "cd <guest-path> && pwd && ls -la && id -u && python3 --version && cat README.md 2>/dev/null | head -200",
    "ls -la <guest-path> /inputs 2>&1; cd <guest-path> && git status 2>&1 | head -3",
    "cd <guest-path> && ls <guest-path>; which bun node npm git; bun --version 2>&1; ls ~/.local/bin 2>&1; cat package.json; cat .coldpass/* 2>/dev/null | head -5; ls -la .coldpass",
    "cd <guest-path> && git init -q && git remote add origin https://github.com/TayHCode/AgentOverview && timeout 180 git fetch --depth 1 origin fd556ad69decf487c28aab134750d44d1635aaab 2>&1; echo rc=$?; git reset --mixed FETCH_HEAD 2>&1; git log --oneline -1 2>&1",
    "export NODE_USE_ENV_PROXY=1; cd /tmp && (curl -fsSL https://bun.sh/install | bash -s \"bun-v1.4.2\" 2>&1 | tail -15); echo rc=${PIPESTATUS[0]}; ls -la ~/.bun/bin 2>&1; export PATH=\"$HOME/.bun/bin:$HOME/.local/bin:$PATH\"; bun --version 2>&1",
    "export NODE_USE_ENV_PROXY=1; (sudo -n apt-get update -qq 2>&1 | tail -3; sudo -n DEBIAN_FRONTEND=noninteractive apt-get install -y -qq unzip 2>&1 | tail -3); cd /tmp && curl -fsSL https://bun.sh/install | bash -s \"bun-v1.4.2\" 2>&1 | tail -8; export PATH=\"$HOME/.bun/bin:$PATH\"; bun --version 2>&1",
    "export PATH=\"$HOME/.bun/bin:$PATH\"; cd <guest-path> && env AGENTORCHESTRATOR_GITHUB_CATCHUP=0 timeout 600 bun test 2>&1 | tail -15; echo rc=${PIPESTATUS[0]}",
    "export PATH=\"$HOME/.bun/bin:$PATH\"; cd <guest-path> && AGENTORCHESTRATOR_GITHUB_CATCHUP=0 timeout 600 bun scripts/beta-smoke.ts 2>&1 | tail -15; echo rc=${PIPESTATUS[0]}",
    "export PATH=\"$HOME/.bun/bin:$PATH\"; cd <guest-path> && cat ops/README.md | head -120; ls ops; echo ---; AGENTORCHESTRATOR_GITHUB_CATCHUP=0 timeout 300 bun test tests/ 2>&1 | grep -B30 \"(fail) Linux read-only\" | head -60",
    "sudo -n DEBIAN_FRONTEND=noninteractive apt-get install -y -qq bubblewrap 2>&1 | tail -2; which bwrap; bwrap --version; cat /proc/sys/kernel/unprivileged_userns_clone 2>/dev/null; sysctl kernel.apparmor_restrict_unprivileged_userns 2>/dev/null; export PATH=\"$HOME/.bun/bin:$PATH\"; cd <guest-path> && AGENTORCHESTRATOR_GITHUB_CATCHUP=0 timeout 600 bun scripts/beta-smoke.ts 2>&1 | tail -12; echo rc=${PIPESTATUS[0]}",
    "bwrap --ro-bind / / --dev /dev --proc /proc --unshare-user-try true; echo rc=$?; bwrap --unshare-all --ro-bind / / --dev /dev --proc /proc true 2>&1; echo rc=$?; cd <guest-path> && grep -n \"bwrap\\|bubblewrap\" -r scripts src tests | head -20; nproc; free -m | head -2",
    "export PATH=\"$HOME/.bun/bin:$PATH\"; cd <guest-path> && grep -n \"listen\\|console.log\\|port\\|PORT\" src/server.ts | head -30; grep -rn \"setInterval\\|setTimeout\" src --include=*.ts | head; grep -rn \"\\\"/api\\|pathname ===\\|startsWith(\\\"/api\" src --include=*.ts | head -20",
    "export PATH=\"$HOME/.bun/bin:$PATH\"; cd <guest-path> && (bun run demo > /tmp/demo.log 2>&1 &); sleep 6; cat /tmp/demo.log; curl -s http://127.0.0.1:4310/api/projects | head -c 800; echo; curl -s http://127.0.0.1:4310/healthz; echo; pkill -f \"src/server.ts\"; sleep 1; pgrep -fa \"src/server.ts\" || echo stopped",
    "export PATH=\"$HOME/.bun/bin:$PATH\"; cd <guest-path> && bun run demo > /tmp/demo.log 2>&1 & echo $! > /tmp/demo.pid; sleep 6; cat /tmp/demo.log; curl -s http://127.0.0.1:4310/api/projects | head -c 800; echo; curl -s http://127.0.0.1:4310/healthz; echo; kill $(cat /tmp/demo.pid); sleep 1; curl -s -m 2 http://127.0.0.1:4310/healthz || echo stopped",
    "curl -s -m 2 http://127.0.0.1:4310/healthz || echo \"port 4310 free\"; echo $HOME; sudo -n ln -sf $HOME/.bun/bin/bun /usr/local/bin/bun && command -v bun && bun --version; cd <guest-path> && grep -rln \"cron\\|--once\\|--now\\|setInterval\\|schedule\" src scripts docs ops README.md 2>/dev/null | head; grep -n \"schedule\\|once\\|cron\" scripts/*.ts | head; ls .github/workflows 2>/dev/null",
    "(ss -ltnp 2>/dev/null | grep 4310); PID=$(ss -ltnp 2>/dev/null | grep ':4310 ' | sed -E 's/.*pid=([0-9]+).*/\\1/' | head -1); echo pid=$PID; [ -n \"$PID\" ] && kill $PID; sleep 2; curl -s -m 2 http://127.0.0.1:4310/healthz || echo \"port 4310 free\"",
    "export PATH=\"/usr/local/bin:$PATH\"; cd <guest-path> && env AGENTORCHESTRATOR_GITHUB_CATCHUP=0 timeout 300 bun test tests/github-freshness.test.ts 2>&1 | tail -4; echo rc=${PIPESTATUS[0]}; env AGENTORCHESTRATOR_GITHUB_CATCHUP=0 timeout 300 bun test tests/site.test.ts 2>&1 | tail -4; echo rc=${PIPESTATUS[0]}",
    "cd <guest-path> && mkdir -p .coldpass && cat > .coldpass/probe.json <<'EOF'\n{\"kind\":\"http\",\"argv\":[\"bun\",\"run\",\"demo\"],\"cwd\":\"<guest-path>\",\"url\":\"http://127.0.0.1:4310/api/projects\",\"env\":{\"AGENTORCHESTRATOR_GITHUB_CATCHUP\":\"0\"},\"expected_text\":\"Approve the connector permissions\"}\nEOF\ncat > .coldpass/claims.json <<'EOF'\n[\n {\"kind\":\"claim\",\"claim\":\"The fixture-only demo prints a loopback URL when started\",\"source\":\"README.md\",\"quote_source\":\"For an interactive fixture-only page, use its printed loopback URL and stop it with Ctrl-C:\",\"input\":\"bun run demo\",\"expected\":\"prints the listening line with the loopback URL\",\"probe_kind\":\"cli\",\"argv\":[\"bun\",\"run\",\"demo\"],\"stays_running\":true,\"expected_text\":\"Agent Overview listening at http://127.0.0.1:4310/\",\"cwd\":\"<guest-path>\"},\n {\"kind\":\"claim\",\"claim\":\"The offline GitHub freshness checks run without installing dependencies\",\"source\":\"README.md\",\"quote_source\":\"Run these checks directly from a clean clone without installing dependencies:\",\"input\":\"bun test tests/github-freshness.test.ts\",\"expected\":\"5 tests pass\",\"probe_kind\":\"cli\",\"argv\":[\"bun\",\"test\",\"tests/github-freshness.test.ts\"],\"env\":{\"AGENTORCHESTRATOR_GITHUB_CATCHUP\":\"0\"},\"expected_text\":\" 5 pass\",\"cwd\":\"<guest-path>\"}\n]\nEOF\npython3 -I -c \"import json;[print(c['claim'],'OK') for c in json.load(open('.coldpass/claims.json'))]; json.load(open('.coldpass/probe.json')); print('json ok')\"",
    "cd <guest-path> && python3 -I - <<'EOF'\nimport json\nW=\"<guest-path>\"\nclaims=[\n {\"kind\":\"claim\",\"claim\":\"The fixture-only demo prints a loopback URL when started\",\n  \"source\":\"For an interactive fixture-only page, use its printed loopback URL and stop it with Ctrl-C:\",\n  \"input\":\"bun run demo\",\"expected\":\"prints the listening line with the loopback URL\",\n  \"probe_kind\":\"cli\",\"argv\":[\"bun\",\"run\",\"demo\"],\"stays_running\":True,\n  \"expected_text\":\"Agent Overview listening at http://127.0.0.1:4310/\",\"cwd\":W},\n {\"kind\":\"claim\",\"claim\":\"The offline GitHub freshness checks run without installing dependencies\",\n  \"source\":\"Run these checks directly from a clean clone without installing dependencies:\",\n  \"input\":\"bun test tests/github-freshness.test.ts\",\"expected\":\"5 tests pass\",\n  \"probe_kind\":\"cli\",\"argv\":[\"bun\",\"test\",\"tests/github-freshness.test.ts\"],\n  \"env\":{\"AGENTORCHESTRATOR_GITHUB_CATCHUP\":\"0\"},\"expected_text\":\" 5 pass\",\"cwd\":W}]\nexamples=[\n {\"kind\":\"example\",\"claim\":\"Offline GitHub freshness acceptance test passes\",\"source\":\"README.md: Offline synthetic acceptance\",\n  \"input\":\"bun test tests/github-freshness.test.ts\",\"expected\":\"5 pass 0 fail\",\n  \"argv\":[\"bun\",\"test\",\"tests/github-freshness.test.ts\"],\"cwd\":W,\n  \"env\":{\"AGENTORCHESTRATOR_GITHUB_CATCHUP\":\"0\"},\"expected_text\":\" 5 pass\"},\n {\"kind\":\"example\",\"claim\":\"Full offline acceptance: bun test (393 tests)\",\"source\":\"README.md: Offline synthetic acceptance\",\n  \"reason\":\"Not replayed as passing: on this guest 392 pass and 1 fails ('Linux read-only source boundary permits only app-owned persistence', tests/beta-onboarding.test.ts) because bubblewrap cannot create user namespaces (bwrap: setting up uid map: Permission denied; kernel.apparmor_restrict_unprivileged_userns=1). Ran with env AGENTORCHESTRATOR_GITHUB_CATCHUP=0 bun test.\"},\n {\"kind\":\"example\",\"claim\":\"Beta smoke check\",\"source\":\"README.md: Offline synthetic acceptance\",\n  \"reason\":\"bun scripts/beta-smoke.ts ran and reported status PARTIAL with failures 'Linux boundary incomplete' (bwrap unavailable/uid map denied) and 'Rehearsal condition missed its 2000 ms budget'. Prerequisite: unprivileged user namespaces for bubblewrap.\"},\n {\"kind\":\"example\",\"claim\":\"GitHub snapshot refresh\",\"source\":\"README.md: GitHub snapshot refresh\",\"deferred\":True,\n  \"reason\":\"Deliberately not run: the command contacts GitHub and needs an operator viewer and private snapshot path.\"}]\ncycles={\"detected\":False,\n \"reason\":\"Entry points inspected: src/server.ts (startServer, no timer loop; refresh is event-driven by source file changes and SSE), package.json scripts (demo/start/test/github:snapshot, none with cron/--once/--now), scripts/beta-smoke.ts and scripts/github-snapshot.ts (one-shot, no schedule installed). The only timer is the optional, uninstalled ops/agentorchestrator-github-snapshot.timer systemd example, which is not a product cycle. Nothing was triggered.\",\n \"checks\":[]}\nfor name,obj in [(\"claims.json\",claims),(\"examples.json\",examples),(\"cycles.json\",cycles)]:\n    json.dump(obj,open(f\"{W}/.coldpass/{name}\",\"w\"),indent=1); open(f\"{W}/.coldpass/{name}\",\"a\").write(\"\\n\")\nprint(\"written\")\nEOF\ncat .coldpass/probe.json; ls -la .coldpass",
    "cd <guest-path> && COLDPASS_WORKSPACE=<guest-path> python3 -I <guest-path> --validate --replay 2>&1 | tail -60; echo rc=${PIPESTATUS[0]}",
    "cd <guest-path> && grep -n \"stays_running\\|120\\|def _run_claim\\|claim window\" check.py | head -40",
    "cd <guest-path> && sed -n 880,915p check.py",
    "cd <guest-path> && ls -d node_modules 2>&1; grep -n \"No dependency installation is required\" README.md; export PATH=\"/usr/local/bin:$PATH\"; env AGENTORCHESTRATOR_GITHUB_CATCHUP=0 timeout 300 bun test tests/site.test.ts 2>&1 | tail -3; python3 -I - <<'EOF'\nimport json\nW=\"<guest-path>\"\np=f\"{W}/.coldpass/claims.json\"\nc=json.load(open(p))\nc[0]={\"kind\":\"claim\",\"claim\":\"The app, tests and smoke check run without installing dependencies\",\n  \"source\":\"No dependency installation is required to run the app, tests or smoke check.\",\n  \"input\":\"bun test tests/site.test.ts\",\"expected\":\"tests pass with no node_modules installed\",\n  \"probe_kind\":\"cli\",\"argv\":[\"bun\",\"test\",\"tests/site.test.ts\"],\n  \"env\":{\"AGENTORCHESTRATOR_GITHUB_CATCHUP\":\"0\"},\"expected_text\":\" 5 pass\",\"cwd\":W}\njson.dump(c,open(p,\"w\"),indent=1); open(p,\"a\").write(\"\\n\"); print(\"claims rewritten\", len(c))\nEOF",
    "cd <guest-path> && COLDPASS_WORKSPACE=<guest-path> python3 -I <guest-path> --validate --replay > /tmp/validate.out 2>&1; echo rc=$?; python3 -I -c \"\nimport json,sys\nd=json.loads(open('/tmp/validate.out').read().strip().splitlines()[-1])\nprint('valid',d.get('valid')); print('problems',d.get('problems'))\nr=d.get('replay',{}); print('replay',r.get('status'))\nfor c in r.get('details',{}).get('claims',[]): print('claim',c['verdict'],c['claim'],'|',c.get('outcome')[:120])\n\" 2>&1 || tail -c 1500 /tmp/validate.out",
    "cd <guest-path> && (ss -ltnp 2>/dev/null | grep -c 4310 || true); pgrep -a bun || echo \"no bun processes\"; mkdir -p .coldpass && python3 -I - <<'EOF'\nimport json\nr={\n \"outcome\":\"working\",\n \"fault_owner\":\"prerequisite\",\n \"operation\":\"Run the README's fixture-only demo (bun run demo) and read real project data from its /api/projects endpoint; run the offline acceptance tests.\",\n \"operation_scope\":\"Linux guest, Bun 1.4.2, no npm dependencies. Demo uses invented fixture data only. Full acceptance (bun test, scripts/beta-smoke.ts) is not fully green here because bubblewrap cannot create user namespaces (AppArmor restriction), so the Linux read-only source boundary check is INCOMPLETE. Real local sources, GitHub snapshot refresh and native T3 links were not exercised.\",\n \"steps\":[\n  \"git init; git remote add origin https://github.com/TayHCode/AgentOverview; git fetch --depth 1 origin fd556ad69decf487c28aab134750d44d1635aaab; git reset --mixed FETCH_HEAD\",\n  \"sudo apt-get install -y unzip (needed by Bun installer)\",\n  \"curl -fsSL https://bun.sh/install | bash -s \\\"bun-v1.4.2\\\" (README says 'Install Bun'; version from README acceptance section)\",\n  \"env AGENTORCHESTRATOR_GITHUB_CATCHUP=0 bun test (392 pass, 1 fail: Linux read-only boundary)\",\n  \"AGENTORCHESTRATOR_GITHUB_CATCHUP=0 bun scripts/beta-smoke.ts (status PARTIAL)\",\n  \"bun run demo, then GET http://127.0.0.1:4310/api/projects (returned meadowboard 'Approve the connector permissions'); server stopped afterwards\",\n  \"AGENTORCHESTRATOR_GITHUB_CATCHUP=0 bun test tests/github-freshness.test.ts (5 pass)\",\n  \"AGENTORCHESTRATOR_GITHUB_CATCHUP=0 bun test tests/site.test.ts (5 pass, no node_modules)\"\n ],\n \"deviations\":[\n  \"Bun was not on the guest; installed Bun 1.4.2 with the official bun.sh installer. The README gives no exact installer command.\",\n  \"Bun installer failed first with 'error: unzip is required to install bun'; installed unzip with sudo apt-get and reran it.\",\n  \"Symlinked ~/.bun/bin/bun to /usr/local/bin/bun so the checker can find bun on PATH.\",\n  \"Installed bubblewrap (bwrap 0.9.0) via sudo apt-get as ops/README and the test expect. It still fails: 'bwrap: setting up uid map: Permission denied' because kernel.apparmor_restrict_unprivileged_userns=1. I did not change this kernel security setting. Result: 'Linux read-only source boundary' test fails (392 pass, 1 fail) and beta-smoke reports PARTIAL with 'Linux boundary incomplete'.\",\n  \"beta-smoke also reported 'Rehearsal condition missed its 2000 ms budget' on the 2-CPU guest; not investigated further.\",\n  \"The first demo claim (stays_running cli) could not replay: the checker's claim runner waits for exit and does not honour stays_running, so it timed out at 120 s. Replaced with a finite README claim (site tests run without dependencies). The demo is covered by the http probe instead.\",\n  \"Cycles: no product scheduler, loop, --once or --now found; detected:false. The GitHub snapshot command was not run (it contacts GitHub).\"\n ],\n \"stuck_step\":None,\n \"main_blocker\":\"Not blocked for the demo. The Linux read-only boundary check cannot pass in this guest because AppArmor blocks unprivileged user namespaces needed by bubblewrap.\",\n \"plain_failure\":\"The app itself starts and serves its demo data correctly. The full acceptance run is not fully green here: the security check that the app can only write to its own folder cannot run on this machine, so one test and the smoke check report incomplete.\",\n \"suggested_fix\":\"On a host that allows unprivileged user namespaces (or with the AppArmor restriction relaxed for bwrap), rerun 'bun test' and 'bun scripts/beta-smoke.ts' to confirm the Linux read-only boundary PASS. Also consider raising the smoke check's 2000 ms budget or running on a host with more CPUs.\"\n}\njson.dump(r,open(\".coldpass/report.json\",\"w\"),indent=1); open(\".coldpass/report.json\",\"a\").write(\"\\n\"); print(\"report written\")\nEOF\nls -la .coldpass; python3 -I -c \"import json;json.load(open('<guest-path>'));print('report json ok')\"",
    "cd <guest-path> && kill 4190 2>/dev/null; sleep 2; pgrep -a bun || echo \"no bun processes\"; COLDPASS_WORKSPACE=<guest-path> python3 -I <guest-path> --validate --replay > /tmp/validate2.out 2>&1; echo rc=$?; tail -c 300 /tmp/validate2.out; echo; sleep 1; pgrep -a bun || echo \"no bun processes after replay\"",
    "python3 -I -c \"\nimport json\nd=json.loads(open('/tmp/validate2.out').read().strip().splitlines()[-1])\nprint('valid',d.get('valid'),'problems',d.get('problems'),'replay',d.get('replay',{}).get('status'))\n\" 2>&1; cat /tmp/validate2.out | head -c 200"
  ],
  "stuck_step": null,
  "error_excerpt": null,
  "what_it_did": "Run the README's fixture-only demo (bun run demo) and read real project data from its /api/projects endpoint; run the offline acceptance tests.",
  "suggested_fix": null,
  "tokens_in": 728837,
  "tokens_out": 21819,
  "cost_usd": 0.026996900000000004,
  "usage_complete": true,
  "checks": [
    {
      "check": "operation",
      "status": "PASS",
      "details": {
        "working": true,
        "argv": [
          "bun",
          "run",
          "demo"
        ],
        "kind": "http",
        "status": 200,
        "bytes": 8941,
        "url": "http://127.0.0.1:4310/api/projects",
        "response_checked": true,
        "response_excerpt": "Approve the connector permissions\">Approve the connector permissions</span><span class=\"ag\">2 agents</span><time class=\"t need\" datetime=\"2026-10-21T01:00:00Z\" title=\"2026-10-21T01:00:00.000Z\" data-relative>Oct 21</time><span class=\"go\"></span></summary><div class=\"detail\"><table class=\"agents\"><caption class=\"sr-only\">Main agents for meadowboard; descendants are counted under each root.</caption><thead><tr><th scope=\"col\">State</th><th scope=\"col\">Agent</th><th scope=\"col\" class=\"r\">Subagents</th><th scope=\"col\" class=\"r\">Last activity</th><th scope=\"col\" class=\"r\">Source</th></tr></thead><tb",
        "scope": "product operation"
      }
    }
  ],
  "safety": {
    "version": "z2x-1",
    "rules_version": "z2x-1",
    "summary": "Review signals: 1 outside write.",
    "findings": [
      {
        "kind": "outside-write",
        "count": 1,
        "note": "Repository processes attempted these writes outside documented output/cache paths.",
        "location_count": 1,
        "path": "/sys/kernel/debug/tracing/trace_marker",
        "process_count": 74
      }
    ],
    "context": [],
    "limitations": [
      "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."
    ],
    "static": {
      "dependency_note": "OSV scanned supported lockfiles; unpinned dependencies and unsupported formats are outside this check."
    },
    "evidence_url": "/safety/?run=TayHCode--AgentOverview-claude-haiku-5-5-1792725639030754151",
    "evidence_file": "/data/safety/TayHCode--AgentOverview-claude-haiku-5-5-1792725639030754151.json.gz"
  },
  "agent_execution": "native_agent",
  "agent_runtime": "claude-code",
  "agent_runtime_version": "2.1.300 (Claude Code)",
  "tool_transport": "mcp-assigned-vm",
  "platform": "linux",
  "reasoning": "low",
  "service_tier": null,
  "resources": {
    "cpus": 2,
    "memory_mib": 4096,
    "disk_mib": 32768
  },
  "native_tool_calls": 27,
  "native_bundle": null,
  "architecture": null,
  "backend": "hyperv",
  "platform_details": {
    "backend": "hyperv",
    "os": "linux"
  },
  "platform_conflicts": null,
  "sandbox_source": null,
  "source_pin": {
    "commit": "fd556ad69decf487c28aab134750d44d1635aaab",
    "url": "https://github.com/TayHCode/AgentOverview"
  },
  "purpose": "initial",
  "profile": {
    "model": "claude-haiku-5-5",
    "reasoning": "low"
  },
  "fault": {
    "owner": "prerequisite",
    "status": "diagnosed",
    "reason": "Not blocked for the demo. The Linux read-only boundary check cannot pass in this guest because AppArmor blocks unprivileged user namespaces needed by bubblewrap."
  },
  "fix_id": null,
  "verifies_run_id": null,
  "hosting": null,
  "operation_scope": "product operation",
  "tool_calls": 27,
  "guest_setup": null,
  "runtime": null,
  "runtime_version": null,
  "runtime_revision": null,
  "source_revision": null,
  "evidence_version": null,
  "failure_origin": null,
  "evidence_strength": "readme_checked",
  "works": "yes",
  "install_s": null,
  "first_use_s": null,
  "mcp": "none",
  "needs": [],
  "needs_which": null,
  "agent_interface": [
    "api"
  ],
  "license": "MIT",
  "repo_url": "https://github.com/TayHCode/AgentOverview",
  "cost_to_try": "free",
  "hardware": null,
  "what_failed": null,
  "local_or_hosted": "local",
  "cycle_checks": [
    {
      "kind": "cycle",
      "claim": "Scheduled or looping main behavior",
      "source": "repository entry points",
      "input": "source inspection",
      "expected": "identify the product trigger",
      "verdict": "yes",
      "outcome": "Entry points inspected: src/server.ts (startServer, no timer loop; refresh is event-driven by source file changes and SSE), package.json scripts (demo/start/test/github:snapshot, none with cron/--once/--now), scripts/beta-smoke.ts and scripts/github-snapshot.ts (one-shot, no schedule installed). The only timer is the optional, uninstalled ops/agentorchestrator-github-snapshot.timer systemd example, which is not a product cycle. Nothing was triggered.",
      "evidence": "Entry points inspected: src/server.ts (startServer, no timer loop; refresh is event-driven by source file changes and SSE), package.json scripts (demo/start/test/github:snapshot, none with cron/--once/--now), scripts/beta-smoke.ts and scripts/github-snapshot.ts (one-shot, no schedule installed). The only timer is the optional, uninstalled ops/agentorchestrator-github-snapshot.timer systemd example, which is not a product cycle. Nothing was triggered.",
      "command": ""
    }
  ],
  "claims": [
    {
      "kind": "claim",
      "claim": "The app, tests and smoke check run without installing dependencies",
      "source": "No dependency installation is required to run the app, tests or smoke check.",
      "input": "bun test tests/site.test.ts",
      "expected": "tests pass with no node_modules installed",
      "command": "bun test tests/site.test.ts",
      "verdict": "yes",
      "outcome": "Real input produced the expected result: 5 pass",
      "evidence": "5 pass\n 0 fail\n 31 expect() calls\nRan 5 tests across 1 file. [34.00ms]\n",
      "returncode": 0,
      "source_checked": true,
      "source_file": "README.md"
    },
    {
      "kind": "claim",
      "claim": "The offline GitHub freshness checks run without installing dependencies",
      "source": "Run these checks directly from a clean clone without installing dependencies:",
      "input": "bun test tests/github-freshness.test.ts",
      "expected": "5 tests pass",
      "command": "bun test tests/github-freshness.test.ts",
      "verdict": "yes",
      "outcome": "Real input produced the expected result: 5 pass",
      "evidence": "5 pass\n 0 fail\n 43 expect() calls\nRan 5 tests across 1 file. [1115.00ms]\n",
      "returncode": 0,
      "source_checked": true,
      "source_file": "README.md"
    }
  ],
  "claims_note": null,
  "example_checks": [
    {
      "kind": "example",
      "claim": "Offline GitHub freshness acceptance test passes",
      "source": "README.md: Offline synthetic acceptance",
      "input": "bun test tests/github-freshness.test.ts",
      "command": "bun test tests/github-freshness.test.ts",
      "evidence": "[33.44ms]\n(pass) failed or partial captures preserve the previous bytes; missing destination fails before inventory or subprocess IO [4.74ms]\n(pass) registry discovers a newly created snapshot without restart, rereads on refresh and watches subsequent replacements [797.56ms]\n(pass) expired empty or populated snapshots report expiry age in coverage, HTML and API without renewing source time [222.05ms]\n(pass) inventory exclusions publish an empty snapshot; failed metadata preserves previous bytes without PR reads [8.92ms]\n\n 5 pass\n 0 fail\n 43 expect() calls\nRan 5 tests across 1 file. [1110.00ms]",
      "deferred": false,
      "expected": "5 pass 0 fail",
      "returncode": 0,
      "verdict": "yes",
      "outcome": "command completed successfully"
    },
    {
      "kind": "example",
      "claim": "Full offline acceptance: bun test (393 tests)",
      "source": "README.md: Offline synthetic acceptance",
      "input": "",
      "command": "",
      "evidence": "Not replayed as passing: on this guest 392 pass and 1 fails ('Linux read-only source boundary permits only app-owned persistence', tests/beta-onboarding.test.ts) because bubblewrap cannot create user namespaces (bwrap: setting up uid map: Permission denied; kernel.apparmor_restrict_unprivileged_userns=1). Ran with env AGENTORCHESTRATOR_GITHUB_CATCHUP=0 bun test.",
      "deferred": false,
      "expected": "documented command completes successfully",
      "verdict": "blocked",
      "outcome": "Not replayed as passing: on this guest 392 pass and 1 fails ('Linux read-only source boundary permits only app-owned persistence', tests/beta-onboarding.test.ts) because bubblewrap cannot create user namespaces (bwrap: setting up uid map: Permission denied; kernel.apparmor_restrict_unprivileged_userns=1). Ran with env AGENTORCHESTRATOR_GITHUB_CATCHUP=0 bun test."
    },
    {
      "kind": "example",
      "claim": "Beta smoke check",
      "source": "README.md: Offline synthetic acceptance",
      "input": "",
      "command": "",
      "evidence": "bun scripts/beta-smoke.ts ran and reported status PARTIAL with failures 'Linux boundary incomplete' (bwrap unavailable/uid map denied) and 'Rehearsal condition missed its 2000 ms budget'. Prerequisite: unprivileged user namespaces for bubblewrap.",
      "deferred": false,
      "expected": "documented command completes successfully",
      "verdict": "blocked",
      "outcome": "bun scripts/beta-smoke.ts ran and reported status PARTIAL with failures 'Linux boundary incomplete' (bwrap unavailable/uid map denied) and 'Rehearsal condition missed its 2000 ms budget'. Prerequisite: unprivileged user namespaces for bubblewrap."
    },
    {
      "kind": "example",
      "claim": "GitHub snapshot refresh",
      "source": "README.md: GitHub snapshot refresh",
      "input": "",
      "command": "",
      "evidence": "Deliberately not run: the command contacts GitHub and needs an operator viewer and private snapshot path.",
      "deferred": true,
      "expected": "documented command completes successfully",
      "verdict": "deferred",
      "outcome": "Deliberately not run: the command contacts GitHub and needs an operator viewer and private snapshot path."
    }
  ],
  "does_what_it_says": "yes",
  "maintenance": {
    "last_commit_at": "2026-10-21T17:56:04Z",
    "commits_90d": 1,
    "merged_prs_90d": 0,
    "open_issues": 0,
    "open_prs": 0,
    "reply_share": null,
    "reply_threads": 0,
    "median_reply_hours": null,
    "last_release_at": null,
    "archived": false,
    "verdict": "maintained",
    "note": "actively maintained: last commit 1 days ago; 1 commits and 0 merged PRs in 90 days; 0 open issues, 0 open PRs; no releases"
  },
  "maintenance_verdict": "maintained",
  "maintenance_note": "actively maintained: last commit 1 days ago; 1 commits and 0 merged PRs in 90 days; 0 open issues, 0 open PRs; no releases",
  "maintained": "active",
  "maintained_note": "last commit 1 days ago",
  "last_commit_at": "2026-10-21T17:57:11Z",
  "last_release_at": null,
  "open_issues": null,
  "answered_issues": null,
  "platforms_claimed": [
    "linux"
  ],
  "topic": "agent-harness",
  "agent_interfaces": [
    {
      "interface": "api",
      "evidence": "independent checker",
      "observed": true,
      "operation_checked": true
    }
  ],
  "agent_interfaces_note": "README metadata is a discovery hint, not pinned documentation proof. Observed interfaces were exercised in this run. An empty list means unknown.",
  "mcp_context": null,
  "tested_at": "2026-10-23T03:29:35.489371+00:00",
  "tested_commit": "fd556ad69decf487c28aab134750d44d1635aaab",
  "tested_with": {
    "agent": "claude-code",
    "agent_version": "2.1.300 (Claude Code)",
    "model": "claude-haiku-5-5",
    "model_route": "claude-haiku-5-5",
    "reasoning": "low",
    "os": "linux",
    "backend": "hyperv",
    "transport": "mcp-assigned-vm"
  },
  "setup_identity": {
    "repo": "TayHCode/AgentOverview",
    "source": "https://github.com/TayHCode/AgentOverview",
    "commit": "fd556ad69decf487c28aab134750d44d1635aaab",
    "source_revision": null,
    "os": "linux",
    "architecture": null,
    "backend": "hyperv",
    "model": "claude-haiku-5-5",
    "model_version": "claude-haiku-5-5",
    "agent_execution": "native_agent",
    "agent_runtime": "claude-code",
    "agent_runtime_version": "2.1.300 (Claude Code)",
    "tool_transport": "mcp-assigned-vm",
    "runtime": null,
    "runtime_version": null,
    "runtime_revision": null,
    "sandbox_source": null,
    "guest_setup": null,
    "source_pin": {
      "commit": "fd556ad69decf487c28aab134750d44d1635aaab",
      "url": "https://github.com/TayHCode/AgentOverview"
    },
    "platform_details": {
      "os": "linux",
      "backend": "hyperv"
    },
    "platform_conflicts": null,
    "reasoning": "low",
    "service_tier": null,
    "resources": {
      "cpus": 2,
      "memory_mib": 4096,
      "disk_mib": 32768
    },
    "operation": "Run the README's fixture-only demo (bun run demo) and read real project data from its /api/projects endpoint; run the offline acceptance tests.",
    "operation_scope": "product operation",
    "hosting": null,
    "kind": "repo",
    "test_version": "readme-bdc1b9b3c0d2673aef87e076d14084a8123ddcf09d520c1ee2e364a37c3f4bb9",
    "evidence_version": null
  },
  "other_model": null,
  "other_run_id": null,
  "models_agree": null,
  "furthest_model": null,
  "transcript_url": null,
  "report_url": null
}
