{
  "apiVersion": "v1",
  "passage": {
    "id": "ramp-agent-definitions-live-version-control-move-2026",
    "text": "We took inspiration from Terraform: agent definitions should live in version control and move through the same review and deployment process as the rest of the product. An agent’s instructions, model, tools, and environment are declared in code, and our deployment pipeline registers changes with Laminar.",
    "context": null,
    "speaker": "Sam Kronick",
    "speakerId": "sam-kronick",
    "speakerUrl": "https://the-ai-record.com/people/sam-kronick",
    "speakerLevel": "practitioner",
    "role": "Author of Ramp's \"Building Laminar\" engineering blog post",
    "voice": "person",
    "organization": "Ramp",
    "organizationId": "ramp",
    "organizationUrl": "https://the-ai-record.com/organizations/ramp",
    "aiVendor": false,
    "work": {
      "title": "Building Laminar: Ramp's Managed Agents Platform",
      "type": "post",
      "date": "2026-10-20",
      "publisher": "Ramp Builders blog",
      "url": "https://builders.ramp.com/post/building-laminar"
    },
    "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-07"
    },
    "topics": [
      "internal-tools",
      "agent-permissions"
    ],
    "functions": [
      "engineering"
    ],
    "figures": [],
    "url": "https://the-ai-record.com/passages/ramp-agent-definitions-live-version-control-move-2026",
    "json": "https://the-ai-record.com/api/v1/passages/ramp-agent-definitions-live-version-control-move-2026.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."
  ]
}