{
  "apiVersion": "v1",
  "passage": {
    "id": "customer-io-taught-ai-approve-pull-requests-500-approved-2025",
    "text": "We taught AI to approve pull requests for merging. After 500 AI-approved PRs: zero production incidents, and merge time dropped from 3.5 hours to 33 minutes.",
    "context": null,
    "speaker": "Joey Bates",
    "speakerId": "joey-bates",
    "speakerUrl": "https://the-ai-record.com/people/joey-bates",
    "speakerLevel": "practitioner",
    "role": "Developer Enablement",
    "voice": "person",
    "organization": "Customer.io",
    "organizationId": "customer-io",
    "organizationUrl": "https://the-ai-record.com/organizations/customer-io",
    "aiVendor": false,
    "work": {
      "title": "How we taught AI to approve pull requests (not just review them)",
      "type": "post",
      "date": "2025-11-10",
      "publisher": "Customer.io",
      "locator": "Article summary",
      "url": "https://customer.io/learn/how-we-work/how-we-taught-ai-to-approve-pull-requests"
    },
    "grade": "B",
    "gradeMeaning": "The organization's own post, paper or talk.",
    "verification": {
      "status": "verified",
      "meaning": "An independent second reader re-fetched the source and confirmed the wording.",
      "reviewedOn": "2026-11-04"
    },
    "topics": [
      "code-review",
      "autonomy-and-oversight",
      "ai-approves-code"
    ],
    "functions": [
      "engineering"
    ],
    "figures": [
      {
        "metric": "ai-approved-prs",
        "value": 500,
        "unit": "count",
        "definition": "AI-approved pull requests at the time of writing",
        "level": "human-out"
      },
      {
        "metric": "median-merge-time-ai-approved",
        "value": 33,
        "unit": "minutes",
        "definition": "Median time to merge for PRs that got AI approval; baseline 3.5 hours before the AI review system",
        "level": "human-out"
      }
    ],
    "url": "https://the-ai-record.com/passages/customer-io-taught-ai-approve-pull-requests-500-approved-2025",
    "json": "https://the-ai-record.com/api/v1/passages/customer-io-taught-ai-approve-pull-requests-500-approved-2025.json"
  },
  "notice": [
    "Every passage is reproduced word for word from the cited source.",
    "Check the verification status: \"reported\" means not yet confirmed by an independent second reader.",
    "Organizations flagged aiVendor sell AI tools or services and have a reason to publish flattering numbers.",
    "An empty result means the archive holds nothing on it, not that nobody has said anything."
  ]
}