{
  "run_id": "phenobarbital--ai-parrot-claude-haiku-5-5-1793145239215635606",
  "checker": {
    "claims": [
      {
        "claim": "Start an MCP server from a YAML config",
        "command": "<guest-path> mcp --config server.yaml tools/call {\"tool\": \"CalculatorTool\", \"arguments\": {\"operation\": \"mean\", \"values\": [2, 4, 9]}}",
        "evidence": "'result': 5.0, 'operation': 'mean', 'metadata': {'available_operations': ['correlation', 'mean', 'median', 'std', 'derivative', 'integrate']}}\"}], \"isError\": false}",
        "expected": "tool result with 'result': 5.0",
        "input": "{\"tool\": \"CalculatorTool\", \"arguments\": {\"operation\": \"mean\", \"values\": [2, 4, 9]}}",
        "kind": "claim",
        "outcome": "Real input produced the expected result: 'result': 5.0",
        "source": "parrot mcp --config server.yaml",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      }
    ],
    "cycle_checks": [
      {
        "claim": "Scheduled or looping main behavior",
        "command": "",
        "evidence": "@schedule is registered via the scheduler manager and runs under aiohttp on_startup; no standalone CLI trigger was found, so no cycle was exercised.",
        "expected": "identify the product trigger",
        "input": "source inspection",
        "kind": "cycle",
        "outcome": "@schedule is registered via the scheduler manager and runs under aiohttp on_startup; no standalone CLI trigger was found, so no cycle was exercised.",
        "source": "repository entry points",
        "verdict": "yes"
      }
    ],
    "details": {
      "argv": [
        "<guest-path>",
        "mcp",
        "--config",
        "server.yaml"
      ],
      "kind": "mcp",
      "scope": "product operation",
      "serverInfo": {
        "description": "AI-Parrot Tools via MCP Protocol",
        "name": "parrot-calc-mcp",
        "version": "1.0.0"
      },
      "tool_result": {
        "content": [
          {
            "text": "{'status': 'success', 'result': 5.0, 'operation': 'mean', 'metadata': {'available_operations': ['correlation', 'mean', 'median', 'std', 'derivative', 'integrate']}}",
            "type": "text"
          }
        ],
        "isError": false
      },
      "tool_result_checked": true,
      "tool_schema_bytes": 1269,
      "tools": [
        "CalculatorTool"
      ],
      "working": true
    },
    "evidence_strength": "readme_checked",
    "example_checks": [
      {
        "claim": null,
        "command": "<guest-path> autonomous create --agent out/my_agent.py-checker-b6da0f48de064eadb1cfa80b57db3604",
        "deferred": false,
        "evidence": " deprecated and no longer needed (FEAT-462).\n    # orchestrator.stop() flushes the final OTLP batch; an atexit hook is also\n    # registered as a safety net for non-orchestrated exits.\n    async def on_cleanup(_app: web.Application) -> None:\n        await orchestrator.stop()\n\n    app.on_cleanup.append(on_cleanup)\n\n    return app\n\n\n# ---------------------------------------------------------------------------\n# Development entry-point\n# ---------------------------------------------------------------------------\n\nif __name__ == \"__main__\":\n    web.run_app(create_app(), host=\"0.0.0.0\", port=8080)\n",
        "expected": "documented command completes successfully",
        "input": "<guest-path> autonomous create --agent out/my_agent.py-checker-b6da0f48de064eadb1cfa80b57db3604",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": null,
        "verdict": "yes"
      }
    ],
    "status": "PASS"
  },
  "diagnosis": null
}
