---
title: "GitHub Universe 2026 recap: AI and the guardrails it needs"
description: "A GitHub Universe 2026 recap for platform, security, and DevOps teams, covering AI agents in the SDLC, automated secret scanning, and package cooldown controls."
canonical_url: "https://cloudsmith.com/blog/github-universe-2026-recap-ai-speeds-up-planning-and-the-guardrails-have-to-follow"
last_updated: "2026-11-06T15:00:00.000Z"
---
# GitHub Universe 2026 recap: AI and the guardrails it needs

I spent last week at GitHub Universe talking to all kinds of people across the tech space and attending many of the great sessions at the event. It was a whirlwind couple of days, but these five sessions really stuck with me, and I wanted to provide my take on why I found them so relevant. I provided links to recordings of the sessions where available.

```json
{
  "_key": "c5866220a5ac",
  "_type": "wistiaVideo",
  "id": "6m06qiicqo",
  "markDefs": null,
  "thumbnail": {
    "_type": "image",
    "asset": {
      "_ref": "image-4692d5c03f98d607bea866eedf759a5431bf4547-3456x1946-png",
      "_type": "reference"
    }
  },
  "title": "Cloudsmith at GitHub Universe 2026"
}
```

## Planning is where AI is paying off first

Most of what I hear about AI relates to writing code. Levi Strauss showed something different in “[17 agents, one SDLC](https://reg.githubuniverse.com/flow/github/universe26/attendee-portal/page/sessioncatalog/session/1777643866054001BE2E),” presented by Jenny Patchen, Senior Director of Shared Platforms and Services.



There was a lot of waiting in their original development process. When they looked to streamline that process, they started with the planning phase. They used AI to sharpen requirements and get everyone aligned on the same ideas before anyone wrote a line of code. From there, they split the work into distinct human tasks and AI tasks, with a human gating every major decision.



Development ran on a group of specialized agents covering requirements verification, security, observability, and more. Each agent iterated on its task until it was done. It’s a company using AI across teams to ship a feature faster, and the plan itself feeds the automation.



The [closing keynote](https://reg.githubuniverse.com/flow/github/universe26/attendee-portal/page/sessioncatalog/session/1788965213758001y1se) carried a similar sentiment. GitHub demoed [chopin](https://github.com/githubnext/chopin), a GitHub Next research prototype for authoring durable documents with repository-grounded agents. Think implementation plans, specs, RFCs, and decision records. What stood out to me is that a team plans together instead of one person working alone in Copilot. Then the plan goes to agents to implement. I think that helps people from different technical backgrounds iterate on a feature quickly. It’s currently a prototype, so treat it as a preview of the direction this type of work is headed in.

```json
{
  "_key": "73c289b9d6b9",
  "_type": "image",
  "asset": {
    "_createdAt": "2026-11-06T15:34:13Z",
    "_id": "image-ce813aad5d43ca425f52cf3d64aed66f9ebb3c71-2048x1363-jpg",
    "_rev": "3zdeQAq3nmdYoBXQAEGD78",
    "_type": "sanity.imageAsset",
    "_updatedAt": "2026-11-06T15:34:13Z",
    "assetId": "ce813aad5d43ca425f52cf3d64aed66f9ebb3c71",
    "extension": "jpg",
    "metadata": {
      "_type": "sanity.imageMetadata",
      "blurHash": "VHBDjETfMcIpD%yZjxWAt8SiE3IUxaxv%MM_Rjozr=t5",
      "dimensions": {
        "_type": "sanity.imageDimensions",
        "aspectRatio": 1.5025678650036685,
        "height": 1363,
        "width": 2048
      },
      "hasAlpha": false,
      "isOpaque": true,
      "lqip": "data:image/jpeg;base64,/9j/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAMGAQT/xAAjEAABBAEDBAMAAAAAAAAAAAABAgMEEQAFBiESIjEyE1Fx/8QAFgEBAQEAAAAAAAAAAAAAAAAABAUG/8QAHREAAgICAwEAAAAAAAAAAAAAAQIAEQQTAyFBUf/aAAwDAQACEQMRAD8Am9nwoG5IU2U7KDKonNcdwrONGrxG4U6SFDrjNkoQQO9X1kTszVHYUKf8YsPJKKv1vGuvAx4LSUlKHk04L9ufOM3u4r7CaEQ2fO5r0mTqqhLU85F6wKbQuh+4YydFbRIIUOs0OfGGQnyHDEXNCmNxlQan/9k=",
      "palette": {
        "_type": "sanity.imagePalette",
        "darkMuted": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#25344b",
          "foreground": "#fff",
          "population": 3.37,
          "title": "#fff"
        },
        "darkVibrant": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#055989",
          "foreground": "#fff",
          "population": 3.12,
          "title": "#fff"
        },
        "dominant": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#757e85",
          "foreground": "#fff",
          "population": 7.57,
          "title": "#fff"
        },
        "lightMuted": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#bebfc4",
          "foreground": "#000",
          "population": 7.48,
          "title": "#fff"
        },
        "lightVibrant": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#dfa07e",
          "foreground": "#000",
          "population": 0.79,
          "title": "#fff"
        },
        "muted": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#757e85",
          "foreground": "#fff",
          "population": 7.57,
          "title": "#fff"
        },
        "vibrant": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#4086af",
          "foreground": "#fff",
          "population": 4.94,
          "title": "#fff"
        }
      },
      "thumbHash": "VOcJHYQqNKafqIhGqWqGd9FgBA5G"
    },
    "mimeType": "image/jpeg",
    "originalFilename": "L1152235.jpg",
    "path": "images/rafvlnhi/production/ce813aad5d43ca425f52cf3d64aed66f9ebb3c71-2048x1363.jpg",
    "sha1hash": "ce813aad5d43ca425f52cf3d64aed66f9ebb3c71",
    "size": 568651,
    "uploadId": "3ee1bc82c5df18b9ac6ca906d3ad9c89124f902a",
    "url": "https://cdn.sanity.io/images/rafvlnhi/production/ce813aad5d43ca425f52cf3d64aed66f9ebb3c71-2048x1363.jpg"
  },
  "link": {
    "_type": "link",
    "href": null,
    "openInNewTab": false
  },
  "markDefs": null
}
```

## The job changes when review can’t keep up

This was the best talk I saw at the conference: “[Write-only code: What happens to peer review when agents write the diffs](https://reg.githubuniverse.com/flow/github/universe26/attendee-portal/page/sessioncatalog/session/1781738213966001Cmya),” with Dylan Ratcliffe (founder and CEO of Until) and Adam Jacob (CEO and co-founder of Swamp). Unfortunately, it doesn’t look like this one was recorded. But for those of us in attendance, the speakers had the audience pick which sections they covered, and the two of them argued for each of their respective approaches live on stage. It was highly entertaining.



Swamp’s approach is a full AI-driven software factory. If the factory gives a result you don’t like, you update the factory and run it again. Adam’s advice was to get the team to agree on the plan the factory works from.



They raised issues around pull requests getting bigger and review times getting shorter. Changes land so fast that engineers struggle to hold a mental model of the system they’re working with. So, Dylan and Adam asked: “Is your best engineer the best because of what they know or what they can do?” The answer they settled on is that understanding the system, and being able to picture a change, matters more than typing the implementation. You can leave the actual typing to the factory.



They suggested spending the time agents give back on talking to your team, making sure they understand the system as a whole. One line stuck with me, and I’m paraphrasing: “We’re working the same old way and rubbing AI on it.” That made me chuckle.

```json
{
  "_key": "2954e95dcc1d",
  "_type": "image",
  "asset": {
    "_createdAt": "2026-11-06T14:54:20Z",
    "_id": "image-e7e9f3a5256a0cfe4eca708d0fad55341ce701b3-2048x1363-jpg",
    "_rev": "3ZWSWJ5PmrYEk5hKE0t6Uo",
    "_type": "sanity.imageAsset",
    "_updatedAt": "2026-11-06T14:54:20Z",
    "assetId": "e7e9f3a5256a0cfe4eca708d0fad55341ce701b3",
    "extension": "jpg",
    "metadata": {
      "_type": "sanity.imageMetadata",
      "blurHash": "VNC%8cnjITM|Rj~XRks;%2Rj$xbKb0xZV@Mvt7M{ogsp",
      "dimensions": {
        "_type": "sanity.imageDimensions",
        "aspectRatio": 1.5025678650036685,
        "height": 1363,
        "width": 2048
      },
      "hasAlpha": false,
      "isOpaque": true,
      "lqip": "data:image/jpeg;base64,/9j/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAYHAgX/xAAjEAABAwMEAgMAAAAAAAAAAAABAgMEAAYRBRIhURQiBxVB/8QAFgEBAQEAAAAAAAAAAAAAAAAABAEC/8QAGxEAAgIDAQAAAAAAAAAAAAAAAQIAQQMSQqH/2gAMAwEAAhEDEQA/AFm3bn0ebqE6MqMvx1L3tIByQOhXUjXbA0BcpucJHo5tS2Dn1NTX4vij7ffvWFJ/QcZHVZvqUp66jFUMNKOFc8nmmjXsV7DszkAob8j7I120HXlOL84qUc8KFFS13R2As7VuAdZorJx4zzLu4uf/2Q==",
      "palette": {
        "_type": "sanity.imagePalette",
        "darkMuted": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#3d4764",
          "foreground": "#fff",
          "population": 4.26,
          "title": "#fff"
        },
        "darkVibrant": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#084f91",
          "foreground": "#fff",
          "population": 5.48,
          "title": "#fff"
        },
        "dominant": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#084f91",
          "foreground": "#fff",
          "population": 5.48,
          "title": "#fff"
        },
        "lightMuted": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#d1b4ae",
          "foreground": "#000",
          "population": 0.97,
          "title": "#fff"
        },
        "lightVibrant": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#bfc7ee",
          "foreground": "#000",
          "population": 4.04,
          "title": "#000"
        },
        "muted": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#aa6756",
          "foreground": "#fff",
          "population": 0.21,
          "title": "#fff"
        },
        "vibrant": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#1e70bd",
          "foreground": "#fff",
          "population": 3.66,
          "title": "#fff"
        }
      },
      "thumbHash": "FucNFYRHdZl/qXeJiEdodalqv8r3"
    },
    "mimeType": "image/jpeg",
    "originalFilename": "L1152385.jpg",
    "path": "images/rafvlnhi/production/e7e9f3a5256a0cfe4eca708d0fad55341ce701b3-2048x1363.jpg",
    "sha1hash": "e7e9f3a5256a0cfe4eca708d0fad55341ce701b3",
    "size": 741271,
    "uploadId": "65b6a2038ccb859f4a33fda657ce1a65445d5d49",
    "url": "https://cdn.sanity.io/images/rafvlnhi/production/e7e9f3a5256a0cfe4eca708d0fad55341ce701b3-2048x1363.jpg"
  },
  "link": {
    "_type": "link",
    "href": null,
    "openInNewTab": false
  },
  "markDefs": null
}
```

## Automate the boring, necessary work

Visa’s “[Zero-Secrets Initiative: no hardcoded secrets, no exceptions](https://reg.githubuniverse.com/flow/github/universe26/attendee-portal/page/sessioncatalog/session/1776118973412001agMC)” presentation came from Kautilay Siingh (Security Architect) and Sanjeev Murthy (Director of Cybersecurity). Again, it looks like there’s no recording of this one.



Visa built a series of agents and processes that find secrets checked into its codebase. The system notifies the developer who committed each one, then verifies the secret is no longer active. Checking for secrets is necessary but it can also be boring, so Visa made it automatic and repeatable with AI.



My takeaway is that it makes sense to identify the checks your team does manually because they have to be done and automate them.

```json
{
  "_key": "39978b9991f7",
  "_type": "image",
  "asset": {
    "_createdAt": "2026-11-06T14:54:40Z",
    "_id": "image-5420c41a352da8b8bb11b4b4a60d71c88287f2b7-2048x1363-jpg",
    "_rev": "9Jlb6k9xfgGTkBekNBx0pm",
    "_type": "sanity.imageAsset",
    "_updatedAt": "2026-11-06T14:54:40Z",
    "assetId": "5420c41a352da8b8bb11b4b4a60d71c88287f2b7",
    "extension": "jpg",
    "metadata": {
      "_type": "sanity.imageMetadata",
      "blurHash": "VWEfmNH=-;9F%M_4xDf5NyV@%Mxas;S5RiR%n$ofkDjZ",
      "dimensions": {
        "_type": "sanity.imageDimensions",
        "aspectRatio": 1.5025678650036685,
        "height": 1363,
        "width": 2048
      },
      "hasAlpha": false,
      "isOpaque": true,
      "lqip": "data:image/jpeg;base64,/9j/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAANABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAUBBgj/xAAlEAACAQMCBQUAAAAAAAAAAAABAgQAAxEFQQYHEiEiExUjMWH/xAAWAQEBAQAAAAAAAAAAAAAAAAAEAQL/xAAcEQACAgIDAAAAAAAAAAAAAAAAAQIDERIhIzH/2gAMAwEAAhEDEQA/AEOjc14z6ZGaTp9m41sY6GPfI3zUcR8RxvdYs2HiJflup6EOQF3FUPStJiegl8p5EFWGx/aXTWa3qyKjEJYboQHvjNMh1Jzj6Esxe1XZyjWkKQNQsiVF+W1cwQy7+IopXy0Y2eEIaA5++5oq7My4LJ//2Q==",
      "palette": {
        "_type": "sanity.imagePalette",
        "darkMuted": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#3d3134",
          "foreground": "#fff",
          "population": 5.24,
          "title": "#fff"
        },
        "darkVibrant": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#043ca4",
          "foreground": "#fff",
          "population": 0,
          "title": "#fff"
        },
        "dominant": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#3d3134",
          "foreground": "#fff",
          "population": 5.24,
          "title": "#fff"
        },
        "lightMuted": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#aab7c9",
          "foreground": "#000",
          "population": 3.45,
          "title": "#fff"
        },
        "lightVibrant": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#62b4d4",
          "foreground": "#000",
          "population": 3.22,
          "title": "#fff"
        },
        "muted": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#a65754",
          "foreground": "#fff",
          "population": 0.09,
          "title": "#fff"
        },
        "vibrant": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#138de8",
          "foreground": "#fff",
          "population": 0.09,
          "title": "#fff"
        }
      },
      "thumbHash": "WtcNDYSzomefh4ebeGeHd87312tf"
    },
    "mimeType": "image/jpeg",
    "originalFilename": "L1152411.jpg",
    "path": "images/rafvlnhi/production/5420c41a352da8b8bb11b4b4a60d71c88287f2b7-2048x1363.jpg",
    "sha1hash": "5420c41a352da8b8bb11b4b4a60d71c88287f2b7",
    "size": 664489,
    "uploadId": "1c8cf3227708f4bbaaa3305e9b2e13dc52c74e90",
    "url": "https://cdn.sanity.io/images/rafvlnhi/production/5420c41a352da8b8bb11b4b4a60d71c88287f2b7-2048x1363.jpg"
  },
  "link": {
    "_type": "link",
    "href": null,
    "openInNewTab": false
  },
  "markDefs": null
}
```

## Package controls are moving to the front door

The talk I attended that lined up closest with our work at Cloudsmith was “[Stop malicious packages before they reach your build with GitHub Package Firewall](https://reg.githubuniverse.com/flow/github/universe26/attendee-portal/page/sessioncatalog/session/1777612973921001XWna),” presented by Eric Sorenson, Senior Product Manager at GitHub.



The firewall aims to stop users from downloading malicious packages. It supports npm today, with Python and Maven coming. It has a cooldown, defaulting to three days, so users can’t download a package younger than that. Admins can exempt specific packages and toggle availability. The firewall can sit between the user and the registry, or between a private registry and its upstream.



We think about [dependency firewalls](https://cloudsmith.com/blog/a-dependency-firewall-gives-your-scanner-better-inputs) in a similar way. Cloudsmith’s [policy management](https://cloudsmith.com/blog/secure-and-compliant-software-delivery-with-cloudsmith-policy-management) lets you write policies as code, so you can create custom, granular policies. We have [cooldown policies](https://cloudsmith.com/product/package-cooldown-policies) too. It was positive to see the same pattern we have in place from GitHub: decide the rules once, enforce them where packages enter, and let people handle exceptions.

```json
{
  "_key": "63f9ed7bc800",
  "_type": "image",
  "asset": {
    "_createdAt": "2026-11-06T14:55:03Z",
    "_id": "image-367b796ea27cb442c3f9de32002d855f5425e292-2048x1363-jpg",
    "_rev": "3ZWSWJ5PmrYEk5hKE0tCsg",
    "_type": "sanity.imageAsset",
    "_updatedAt": "2026-11-06T14:55:03Z",
    "assetId": "367b796ea27cb442c3f9de32002d855f5425e292",
    "extension": "jpg",
    "metadata": {
      "_type": "sanity.imageMetadata",
      "blurHash": "VNDAJ%%J9a4;NIyZ?bIUD*WY?wf4R*S6V?bxs7jYo#e.",
      "dimensions": {
        "_type": "sanity.imageDimensions",
        "aspectRatio": 1.5025678650036685,
        "height": 1363,
        "width": 2048
      },
      "hasAlpha": false,
      "isOpaque": true,
      "lqip": "data:image/jpeg;base64,/9j/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAANABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAABgAEBf/EACcQAAEDAwMCBwEAAAAAAAAAAAIBAwQABREGEiEHExQWIjFBUXGR/8QAFAEBAAAAAAAAAAAAAAAAAAAABP/EABwRAQACAgMBAAAAAAAAAAAAAAECEQAEAxNRMf/aAAwDAQACEQMRAD8AxdOteeDuvaNUSNFiuFtVcIRInFGOoOrpEq9OvIIMm+AmoCuUFcfdcSww2pOrmWCTa06QiQjxwvvTLTtlg+Ybva5kduXGaRTb7g+oc/GacbEu1fl+YGOrA4CIXXuGNNT3n7eZvGpH3FTOfyqnbOnrOwJCxENsFXO0XeM/yqlx24hS4OWpJbAz/9k=",
      "palette": {
        "_type": "sanity.imagePalette",
        "darkMuted": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#253d55",
          "foreground": "#fff",
          "population": 5.09,
          "title": "#fff"
        },
        "darkVibrant": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#076c94",
          "foreground": "#fff",
          "population": 2.89,
          "title": "#fff"
        },
        "dominant": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#0678b6",
          "foreground": "#fff",
          "population": 7.06,
          "title": "#fff"
        },
        "lightMuted": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#a0b3c1",
          "foreground": "#000",
          "population": 3.57,
          "title": "#fff"
        },
        "lightVibrant": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#65b7df",
          "foreground": "#000",
          "population": 3.26,
          "title": "#fff"
        },
        "muted": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#af834d",
          "foreground": "#fff",
          "population": 0.23,
          "title": "#fff"
        },
        "vibrant": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#0678b6",
          "foreground": "#fff",
          "population": 7.06,
          "title": "#fff"
        }
      },
      "thumbHash": "2MYJHYZJg7rLVXhvh3aHiCtwlgFW"
    },
    "mimeType": "image/jpeg",
    "originalFilename": "L1152391.jpg",
    "path": "images/rafvlnhi/production/367b796ea27cb442c3f9de32002d855f5425e292-2048x1363.jpg",
    "sha1hash": "367b796ea27cb442c3f9de32002d855f5425e292",
    "size": 618106,
    "uploadId": "4ee401410010fcaea8e5c5d569da613f1614120d",
    "url": "https://cdn.sanity.io/images/rafvlnhi/production/367b796ea27cb442c3f9de32002d855f5425e292-2048x1363.jpg"
  },
  "link": {
    "_type": "link",
    "href": null,
    "openInNewTab": false
  },
  "markDefs": null
}
```

## Tying everything from GitHub Universe together

Planning, building and secret-hunting are all getting faster with agents. Humans still set the plan and make the big calls. Everything around those decisions needs to run without a person in the loop, including what gets pulled into the build. That’s the work an artifact control layer exists to do, and that’s exactly what we’re building at Cloudsmith.



See how Cloudsmith governs what enters your builds. [Book a demo](https://cloudsmith.com/book-a-demo) today.
