{
  "schema": "gentle-ai.review-provider-contract-bundle/v1",
  "contract_semver": "1.4.0",
  "transport_capability": "gentle-ai.provider-transport/v1",
  "runtimes": [
    "claude-code",
    "codex",
    "opencode",
    "pi"
  ],
  "readme": {
    "path": "README.md",
    "sha256": "3a655c2f19aee02636da062f0cae7a189b7e5f691c8ba8010f2ed50e5d8e8d70"
  },
  "roles": [
    {
      "id": "lens",
      "request_schema_id": "gentle-ai.review-lens-context/v1",
      "result_schema_id": "https://gentle-ai.dev/schema/review/reviewer/v1",
      "required_capabilities": [
        "gentle-ai.provider-transport/v1"
      ],
      "schema": {
        "path": "schemas/lens.schema.json",
        "sha256": "9b8a2354a570888486015434501b66b51441a3baf5bf858635e4fff56b2e8298"
      },
      "vector": {
        "path": "vectors/lens.json",
        "sha256": "7ef0b08404645eeb5dba92aba5f8e4780667b6ec775f43ed8547ff9f2a7148c8"
      }
    },
    {
      "id": "refuter",
      "request_schema_id": "gentle-ai.review-provider-refuter-request/v1",
      "result_schema_id": "https://gentle-ai.dev/schema/review/refuter/v1",
      "required_capabilities": [
        "gentle-ai.provider-transport/v1"
      ],
      "schema": {
        "path": "schemas/refuter.schema.json",
        "sha256": "36f8267c6c3f04600b8f1cb77df70d90858611af822cc81922efd6b3502fb646"
      },
      "vector": {
        "path": "vectors/refuter.json",
        "sha256": "f42d71906e49c4191660b2da7e70f01f1778b23d32089005bd2d7ae9cbb73039"
      }
    },
    {
      "id": "targeted-validator",
      "request_schema_id": "gentle-ai.review-targeted-validation-request/v1",
      "result_schema_id": "https://gentle-ai.dev/schema/review/validator/v1",
      "required_capabilities": [
        "gentle-ai.provider-transport/v1"
      ],
      "schema": {
        "path": "schemas/targeted-validator.schema.json",
        "sha256": "40e397195bdfbc6782fc3090f20c5be082e4d14d2855314f99ecb8506133eddc"
      },
      "vector": {
        "path": "vectors/targeted-validator.json",
        "sha256": "7b5a5165e3a913863fb98d2ba5387811860c21333b5c37e6ed3b4e0d121cf2fa"
      }
    }
  ],
  "orchestration": [
    {
      "runtime": "pi",
      "file": {
        "path": "orchestration/pi.md",
        "sha256": "2d7ddd99f1c739a97f4a6b3929e5e2bdddcbf69aed69356395038d90bca25b2f"
      }
    }
  ],
  "routing": [
    {
      "runtime": "pi",
      "file": {
        "path": "routing/pi.md",
        "sha256": "1c7466e2333c08e386b4b5afb081531146d181030692463431e7695df7f90690"
      }
    }
  ]
}
