{
  "name": "Protect main branch",
  "target": "branch",
  "enforcement": "active",
  "bypass_actors": [],
  "conditions": {
    "ref_name": {
      "include": ["refs/heads/main"],
      "exclude": []
    }
  },
  "rules": [
    {
      "type": "deletion"
    },
    {
      "type": "non_fast_forward"
    },
    {
      "type": "required_linear_history"
    },
    {
      "type": "pull_request",
      "parameters": {
        "required_approving_review_count": 1,
        "dismiss_stale_reviews_on_push": true,
        "require_code_owner_review": true,
        "require_last_push_approval": true,
        "required_review_thread_resolution": true
      }
    },
    {
      "type": "required_status_checks",
      "parameters": {
        "strict_required_status_checks_policy": true,
        "required_status_checks": [
          {
            "context": "Lint & Type Check",
            "integration_id": 15368
          },
          {
            "context": "Docs Parity",
            "integration_id": 15368
          },
          {
            "context": "Security Gates",
            "integration_id": 15368
          },
          {
            "context": "Unit & Integration Tests",
            "integration_id": 15368
          },
          {
            "context": "Contract Tests (Lane: contract)",
            "integration_id": 15368
          },
          {
            "context": "Smoke Tests (Lane: smoke)",
            "integration_id": 15368
          },
          {
            "context": "E2E Tests (Playwright)",
            "integration_id": 15368
          },
          {
            "context": "Container Security (Trivy)",
            "integration_id": 15368
          },
          {
            "context": "SAST (Semgrep)",
            "integration_id": 15368
          },
          {
            "context": "Build",
            "integration_id": 15368
          }
        ]
      }
    }
  ]
}
