{
  "version": 2,
  "contexts": {
    "example-context": {
      "enabled": true,
      "label": "Example environment",
      "description": "One deployment environment: its Gitea plus non-Gitea services.",
      "default_owner": "Example-Org",
      "gitea": {
        "enabled": true,
        "kind": "gitea",
        "base_url": "https://gitea.example.invalid"
      },
      "services": {
        "jenkins": {
          "enabled": true,
          "kind": "jenkins",
          "label": "Example Jenkins",
          "base_url": "https://jenkins.example.invalid",
          "auth": { "type": "keychain", "id": "example-jenkins-token" },
          "capabilities": ["read"]
        },
        "glitchtip": {
          "enabled": false,
          "kind": "glitchtip",
          "label": "Example GlitchTip (disabled: defined but unavailable)",
          "base_url": "",
          "auth": { "type": "keychain", "id": "example-glitchtip-token" },
          "capabilities": ["read"],
          "allow_raw_events": false
        }
      }
    }
  },
  "profiles": {
    "example-author": {
      "enabled": true,
      "context": "example-context",
      "role": "author",
      "username": "author-user",
      "execution_profile": "example-author",
      "audit_label": "example-author",
      "auth": { "type": "keychain", "id": "example-gitea-author-token" },
      "allowed_repositories": ["Example-Org/Example-Repo"],
      "allowed_operations": ["read", "branch", "commit", "push", "open_pr", "comment", "issue.comment"],
      "forbidden_operations": ["approve", "request_changes", "merge"]
    },
    "example-reviewer": {
      "enabled": true,
      "context": "example-context",
      "role": "reviewer",
      "username": "reviewer-user",
      "execution_profile": "example-reviewer",
      "audit_label": "example-reviewer",
      "auth": { "type": "keychain", "id": "example-gitea-reviewer-token" },
      "allowed_operations": ["read", "review", "comment", "issue.comment", "approve", "request_changes"],
      "forbidden_operations": ["branch", "commit", "push", "open_pr", "merge"]
    },
    "example-merger": {
      "enabled": true,
      "context": "example-context",
      "role": "merger",
      "username": "reviewer-user",
      "execution_profile": "example-merger",
      "audit_label": "example-merger",
      "auth": { "type": "keychain", "id": "example-gitea-reviewer-token" },
      "allowed_operations": ["read", "comment", "issue.comment", "merge"],
      "forbidden_operations": ["branch", "commit", "push", "open_pr", "approve", "review", "request_changes"]
    }
  },
  "projects": {
    "/absolute/path/to/local/repo": {
      "enabled": true,
      "context": "example-context",
      "default_owner": "Example-Org",
      "default_repo": "Example-Repo",
      "default_author_profile": "example-author",
      "default_reviewer_profile": "example-reviewer",
      "default_merger_profile": "example-merger"
    }
  },
  "rules": {
    "disabled_behavior": "Defined but unavailable for action. MCP tools may report disabled entries during audits, but must not use them automatically.",
    "no_silent_fallback": true,
    "tokens_in_json": false,
    "token_storage": "keychain",
    "identity_must_match_task": true,
    "same_username_cannot_review_own_pr": true,
    "hide_service_urls_from_llm": true,
    "hide_keychain_ids_from_llm": true,
    "mcp_resolves_endpoints": true
  }
}
