{
 "generated_utc": "2026-11-14 20:36 UTC",
 "method": "GitHub REST: search 'is:issue is:open' for issue sampling; 'is:pr' and 'is:pr is:merged' for the merge ratio",
 "closed_loop_repos": 1,
 "closed_loop_prs": 8724,
 "repos_audited": 10,
 "repos_accused": 3,
 "prs_total": 2922,
 "prs_merged": 0,
 "collectors": [
  {
   "repo": "ClankerNation/OpenAgents",
   "prs_total": 1780,
   "prs_merged": 0,
   "stars": 15,
   "age_days": 180,
   "issues_closed_loop": 0,
   "issues_sampled": 50,
   "trap_signals": {
    "runtime fingerprint": 33,
    "session instructions": 13,
    "system prompt": 12,
    "working directory": 22,
    "home directory": 26
   }
  },
  {
   "repo": "zhangjiayang6835-cyber/bounty-plaza",
   "prs_total": 1084,
   "prs_merged": 0,
   "stars": 13,
   "age_days": 127,
   "issues_closed_loop": 0,
   "issues_sampled": 50,
   "trap_signals": {
    "format canary": 1
   }
  },
  {
   "repo": "PhanKhoa95/oss-bot-trap-benchmark",
   "prs_total": 58,
   "prs_merged": 0,
   "stars": 0,
   "age_days": 5,
   "issues_closed_loop": 0,
   "issues_sampled": 36,
   "trap_signals": {
    "agent grading label": 35,
    "format canary": 2,
    "explicit trap": 3,
    "human canary": 1
   }
  }
 ],
 "closed_loop": [
  {
   "repo": "SecureBananaLabs/bug-bounty",
   "prs_total": 8724,
   "prs_merged": 0,
   "issues_closed_loop": 34,
   "issues_sampled": 50
  }
 ],
 "trap_issue_sample": 377,
 "trap_counts": {
  "system_prompt_harvest": 9,
  "env_harvest": 27,
  "human_canary": 1,
  "ai_fingerprint_label": 37
 },
 "provenance": "Re-audit 2026-11-12 with two methodology fixes. (1) Issue sampling now uses the GitHub search API with 'is:issue is:open' instead of GET /repos/{repo}/issues, which mixes PRs into the same page: on an 8,724-PR repo that endpoint returned 40 PRs and only 10 issues, so the previous money ratio was computed over 10 items. (2) Verdicts now test for closed-loop language (issues that state outside PRs are rejected) before the payment test, because that is a written statement of intent rather than an inference from a dollar figure. The 2026-11-11 label COLLECTOR on SecureBananaLabs/bug-bounty is retracted: 34 of 50 sampled issues reserve the PR slot for the issue author. Every number here came from a live GitHub REST API response during this audit. Sample expanded 2026-11-12 to 10 repos, including 4 controls; all four came back NOT-A-PROGRAM, which is the point — relayhop/sn-monetization-runtime has 505 PRs and 0 merges and is still not called a collector, because it never advertised payment. A rule that only ever accuses is not a measurement.",
 "issues_asking_for_prompt_and_env": 8,
 "mirror_farm": {
  "operator": "IES-BoilerRoom (account created 2026-11-06, 8 repos, 0 followers)",
  "repos_total": 8,
  "repos_with_self_referential_gate": 7,
  "prs_total": 63,
  "prs_merged": 0,
  "escalation_iterations": 9,
  "escalation_converged": false,
  "rails_checked": [
   {
    "rail": "opire",
    "endpoint": "https://api.opire.dev/rewards",
    "result": "returns the same 3 unrelated seed rewards for every repo name queried, including repos that do not exist in the query; no IES-BoilerRoom reward present"
   },
   {
    "rail": "algora",
    "endpoint": "https://algora.io/llms.txt",
    "result": "self-describes as a contingency technical recruiter, not a bounty market; algora.io/IES-BoilerRoom returns 404"
   },
   {
    "rail": "polar",
    "endpoint": "https://polar.sh/ies-boilerroom",
    "result": "404"
   }
  ],
  "repos": [
   {
    "repo": "IES-BoilerRoom/wasm-component-canonical-abi",
    "prs_total": 18,
    "prs_merged": 0,
    "gate": "conformance/check_wasm_gas_envelope.py",
    "gate_bytes": 18930,
    "self_referential": true
   },
   {
    "repo": "IES-BoilerRoom/ed25519-ct-limb-verifier",
    "prs_total": 18,
    "prs_merged": 0,
    "gate": "kat/run_rfc8032_wycheproof.py",
    "gate_bytes": 18869,
    "self_referential": true
   },
   {
    "repo": "IES-BoilerRoom/tokio-ringbuffer-seqcst-matrix",
    "prs_total": 7,
    "prs_merged": 0,
    "gate": "conformance/check_aba_epoch.py",
    "gate_bytes": 18775,
    "self_referential": true
   },
   {
    "repo": "IES-BoilerRoom/Furnace",
    "prs_total": 6,
    "prs_merged": 0,
    "gate": "ci_suite/run_furnace_gate.py",
    "gate_bytes": 18805,
    "self_referential": true
   },
   {
    "repo": "IES-BoilerRoom/cuda-warp-allreduce-verifier",
    "prs_total": 5,
    "prs_merged": 0,
    "gate": "tests/check_sm90_ulp.py",
    "gate_bytes": 18789,
    "self_referential": true
   },
   {
    "repo": "IES-BoilerRoom/ebpf-verifier-reg-bounds",
    "prs_total": 4,
    "prs_merged": 0,
    "gate": "selftests/run_alu64_range.py",
    "gate_bytes": 18774,
    "self_referential": true
   },
   {
    "repo": "IES-BoilerRoom/mcp-sse-frame-conformance",
    "prs_total": 3,
    "prs_merged": 0,
    "gate": "suite/validate_rfc8259_frames.py",
    "gate_bytes": 18892,
    "self_referential": true
   },
   {
    "repo": "IES-BoilerRoom/protocol-conformance-relay",
    "prs_total": 2,
    "prs_merged": 0,
    "gate": null,
    "gate_bytes": 0,
    "self_referential": false
   }
  ]
 }
}