{
  "run_id": "voodoomods--hypgraph-claude-haiku-5-5-1793158439260896154",
  "checker": {
    "claims": [
      {
        "claim": "bound reports what 0 of 50 supports for a never claim",
        "command": "<guest-path> --db <guest-path> --as claude mcp tools/call {\"tool\": \"bound\", \"arguments\": {\"k\": 0, \"n\": 50, \"exposure\": 1000000}}",
        "evidence": "\u20260 of 50 observed: rate 0% (95% interval 0% to 5.8%)\\n'never' here means: at most 5.8% \u2014 1 in 20 \u2014 at 95% confidence\\n  to bound it below 1 in 100: about 299 trials with none\\n  to bound it below 1 in 1,000: about 2,995 trials with none\\n  to bound it below 1 in 10,000: about 29,956 trials with none\\nacross 1,000,000 uses: up to 58,155 not ruled out (95%)\", \"type\": \"text\"}], \"isError\": false, \"structuredContent\": {\"result\": \"0 of 50 observed: rate 0% (95% interval 0% to 5.8%)\\n'never' here means: at most 5.8% \u2014 1 in 20 \u2014 at 95% confidence\\n  to bound it below 1 in 100: about 299 trials with non",
        "expected": "rate 0% with 95% interval up to 5.8%",
        "input": "{\"tool\": \"bound\", \"arguments\": {\"k\": 0, \"n\": 50, \"exposure\": 1000000}}",
        "kind": "claim",
        "outcome": "Real input produced the expected result: 0 of 50",
        "source": "`hypgraph bound 0 50 --exposure 1e6` (or the MCP tool `bound`) answers",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      },
      {
        "claim": "hypgraph bound prints the 95% upper bound for 0 of 50",
        "command": "<guest-path> bound 0 50 --exposure 1e6",
        "evidence": "0 of 50 observed: rate 0% (95% interval 0% to 5.8%)\n'never' here means: at most 5.8% \u2014 1 in 20 \u2014 at 95% confidence\n  to bound it below 1 in 100: about 299 trials with none\n  to bound it below 1 in 1,000: about 2,995 trials with none\n  to bound it below 1 in 10,000: about 29,956 trials with none\nacross 1,000,000 uses: up to 58,155 not ruled out (95%)\n",
        "expected": "0 of 50 observed with interval up to 5.8%",
        "input": "0 50 --exposure 1e6",
        "kind": "claim",
        "outcome": "Real input produced the expected result: 0 of 50 observed: rate 0% (95% interval 0% to 5.8%)",
        "returncode": 0,
        "source": "`hypgraph bound 0 50 --exposure 1e6` (or the MCP tool `bound`) answers",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      },
      {
        "claim": "hypgraph report generates the facts from the record",
        "command": "<guest-path> --db <guest-path> report",
        "evidence": "\u2026Facts from the research graph \u2014 INV1 How does cholera spread? Broad Street, 1854 (active)\n_Generated from the record at event 59; do not edit \u2014 regenerate it from the graph. Interpretation goes below this section._\n\n### Claims\n\n| claim | standing | review | verdicts | statement |\n|---|---|---|---|---|\n| CL1 v2 | active | checked | whitehead: objection (RV1, on v1); whitehead: resolved (RV2, on v1); whitehead: replicated (RV3, on v1); whitehead: checked (RV4, on v2) | The Golden Square outbreak was spread by water from the Broad Street pump: those who drank it died, while 5 of the 535 workhouse",
        "expected": "a facts section listing claims and results",
        "input": "research.hypgraph from demo",
        "kind": "claim",
        "outcome": "Real input produced the expected result: Facts from the research graph",
        "returncode": 0,
        "source": "hypgraph report      # the facts, generated from the record",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      }
    ],
    "cycle_checks": [
      {
        "claim": "Scheduled or looping main behavior",
        "command": "",
        "evidence": "Inspected README.md and src/hypgraph entry points (cli.py commands, mcp.py tools, server.py, coord.py). No cron, scheduler, --once/--now, or polling loop is documented. The only while-True loops are the SSE stream in server.py (GET /api/graph/stream), a helper walking supersedes chains in coord.py, and a coord.py loop over replaced orders; none is a product trigger cycle.",
        "expected": "identify the product trigger",
        "input": "source inspection",
        "kind": "cycle",
        "outcome": "Inspected README.md and src/hypgraph entry points (cli.py commands, mcp.py tools, server.py, coord.py). No cron, scheduler, --once/--now, or polling loop is documented. The only while-True loops are the SSE stream in server.py (GET /api/graph/stream), a helper walking supersedes chains in coord.py, and a coord.py loop over replaced orders; none is a product trigger cycle.",
        "source": "repository entry points",
        "verdict": "yes"
      }
    ],
    "details": {
      "argv": [
        "<guest-path>",
        "--db",
        "<guest-path>",
        "--as",
        "claude",
        "mcp"
      ],
      "kind": "mcp",
      "scope": "product operation",
      "serverInfo": {
        "name": "hypgraph",
        "version": "0.7.1",
        "websiteUrl": "https://hypgraph.com"
      },
      "tool_result": {
        "_meta": {
          "fastmcp": {
            "wrap_result": true
          }
        },
        "content": [
          {
            "text": "0 of 50 observed: rate 0% (95% interval 0% to 5.8%)\n'never' here means: at most 5.8% \u2014 1 in 20 \u2014 at 95% confidence\n  to bound it below 1 in 100: about 299 trials with none\n  to bound it below 1 in 1,000: about 2,995 trials with none\n  to bound it below 1 in 10,000: about 29,956 trials with none\nacross 1,000,000 uses: up to 58,155 not ruled out (95%)",
            "type": "text"
          }
        ],
        "isError": false,
        "structuredContent": {
          "result": "0 of 50 observed: rate 0% (95% interval 0% to 5.8%)\n'never' here means: at most 5.8% \u2014 1 in 20 \u2014 at 95% confidence\n  to bound it below 1 in 100: about 299 trials with none\n  to bound it below 1 in 1,000: about 2,995 trials with none\n  to bound it below 1 in 10,000: about 29,956 trials with none\nacross 1,000,000 uses: up to 58,155 not ruled out (95%)"
        }
      },
      "tool_result_checked": true,
      "tool_schema_bytes": 21264,
      "tools": [
        "overview",
        "find",
        "show",
        "start_investigation",
        "add",
        "link",
        "revise",
        "withdraw",
        "retract_link",
        "review",
        "next_experiments",
        "work_queue",
        "claim_work",
        "register_run",
        "report",
        "verify",
        "bound",
        "check_report",
        "refusal_log",
        "briefing",
        "issue_work",
        "my_work",
        "check_work",
        "return_work",
        "accept_work",
        "rework",
        "cancel_work",
        "completion",
        "stage",
        "settle_work",
        "cancel_moot",
        "schema"
      ],
      "working": true
    },
    "evidence_strength": "readme_checked",
    "example_checks": [
      {
        "claim": "demo builds a worked investigation, and refusals are logged",
        "command": "<guest-path> --db <guest-path> refusals",
        "deferred": false,
        "evidence": "EXCLUSION_WITHOUT_POWER \u00d71, EVIDENCE_MISSING \u00d71, SCOPE_MISSING \u00d71 |\n\n| rule | times |\n|---|---|\n| `EXCLUSION_WITHOUT_POWER` | 1 |\n| `EVIDENCE_MISSING` | 1 |\n| `SCOPE_MISSING` | 1 |\n| `ABSOLUTE_WITHOUT_COUNT` | 1 |\n\n### Latest\n\n- 1854-11-20T10:00 **you**: \u201cThe water-company comparison rules out the miasma theory.\u201d \u2014 EXCLUSION_WITHOUT_POWER \u2192 not fixed\n- 1854-09-08T10:00 **you**: \u201cRemoving the pump handle ended the epidemic.\u201d \u2014 EVIDENCE_MISSING, SCOPE_MISSING \u2192 not fixed\n- 1854-09-07T10:00 **you**: \u201cEvery death in the outbreak was near the Broad Street pump.\u201d \u2014 ABSOLUTE_WITHOUT_COUNT \u2192 not fixed",
        "expected": "refusals listed per author",
        "input": "research.hypgraph from hypgraph demo",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md Try it / Every refusal is also logged",
        "verdict": "yes"
      }
    ],
    "status": "PASS"
  },
  "diagnosis": null
}
