AI Engineer World's Fair 2026

Scale the Judgment, Not the Model — Andrew Orobator, Reddit

Read the talk

Scale the Judgment, Not the Model

Andrew Orobator shows how skills, work logs, review perspectives and enforceable gates turn coding agents into useful maintenance systems—and why keeping that judgment current becomes part of the engineering job.

From a talk by Andrew Orobator

At a glance

Ideas worth remembering

  • Skills preserve reusable decisions, work logs preserve progress across sessions, and personas supply different review perspectives.

  • The flag agent screens code complexity and experiment state before generation and returns work for human review rather than merging it.

  • A safeguard must intercept the agent’s available operations, and the operator must retain authority to bypass it.

  • Encoded judgment needs upkeep: turn failure lessons into constraints and propose reviewed updates when guidance drifts from the code.

The maintenance work that still needs a war room

Every two weeks, a team at another company gathered in a war room to delete dead experiments. Everyone agreed the feature flags should go. Yet someone still had to organize the meeting and spend political capital getting maintenance done. Andrew Orobator, an Android engineer at Reddit, opens with this secondhand example because even this relatively successful arrangement consumes attention that could go toward harder problems.

Source frame: The maintenance work that still needs a war room
Source frame: The maintenance work that still needs a war room

Code generation is already part of Orobator’s workflow: he describes the change, the agent builds it, and he reviews it. The engineering question is whether that process ships software people can trust. A week spent cleaning up lint or a recurring meeting spent deleting flags points to the same missed opportunity: tools can change how work gets done, while engineers still perform routine maintenance by hand.

“We’re harness engineers now” names the resulting shift. The harness is the system that helps produce and verify code: constraints, gates, skills and checks. Humans learn how to work inside an organization through mentorship, reviews, conversations and incidents. In the fresh-session workflow described here, an agent receives none of that history unless someone supplies it explicitly.

Orobator offers a thought experiment: substitute a smarter model and the answer improves a little; remove tests, gates and review and the workflow falls apart. This is his engineering diagnosis rather than a measured comparison of models. Its useful implication is that raw coding ability depends on an organization around it—one that decides what matters, what is dangerous and what counts as acceptable evidence.

0:120:15
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

0:12 · section reference included

A feature flag carries a bundle of decisions

Deleting a feature flag sounds mechanical until an experienced reviewer starts asking questions. Is its rollout frozen? What happens to the neighboring flag? Which team owns it? Those questions carry knowledge about the organization and the change’s consequences. If they appear only in one review, the next engineer has to rediscover them.

Source frame: A feature flag carries a bundle of decisions
Source frame: A feature flag carries a bundle of decisions

A skill captures that bundle so an agent can apply it again. Orobator calls it “institutional judgment made executable”: the reviewer’s questions become a reusable way to approach the next change. This also helps people. A newer engineer can draw on experienced instincts without requiring the same reviewer to inspect every patch.

The distinction from ordinary documentation is what the stored knowledge helps someone decide. Documentation preserves facts; a skill preserves which facts matter and which decisions are dangerous. Knowing where a flag is declared does not answer whether deleting it is safe. A useful cleanup skill makes the latter question explicit before code generation begins.

3:263:29
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

3:26 · section reference included

Carry the work forward, then change the eyes reviewing it

Reusable guidance does not tell a fresh agent what happened yesterday. Feature development and refactors often span sessions, so they need a work log containing the plan, decisions, attempted approaches and surprises. “A plan is a prediction. A worklog is a record that starts with one.” The record gives the next session a history to continue rather than a plan it must reconstruct.

Source frame: Carry the work forward, then change the eyes reviewing it
Source frame: Carry the work forward, then change the eyes reviewing it

The observable change is continuity: a new agent can read the log and resume at milestone 7 of 9 after a simple request to continue. Orobator used this approach to build the presentation across sessions, returning to a half-finished talk that a fresh agent could pick up. On his personal projects, a Git hook blocks commits that do not update the log. That ties preservation of the work’s context to the act of committing it.

Personas address a different gap: whose perspective examines the work. Instead of asking the model for an undifferentiated opinion, the prompt asks it to review through a particular lens. In Orobator’s solo projects, that supplies perspectives he would otherwise lack:

  • Security review: inspect code through a security lead’s concerns.
  • UX review: examine the experience through a UX researcher’s perspective.
  • Abuse analysis: consider how someone might misuse the system.
  • Design disagreement: put a design before a panel of opposing philosophies, then read the reports and decide what to change.

The benefit is access to additional review lenses on demand; the engineer still reads the reports and acts on them. Across an organization, teams can encode their own taste for their agents. Skills, work logs and personas therefore preserve different things: a way to decide, a history of the work, and a perspective from which to inspect it.

Once judgment lives in several places, sharing it becomes a governance problem. Existing engineering tools provide a familiar starting point: CI, types, lint and design systems already turn somebody’s judgment into mechanical checks or shared conventions. Orobator’s recommendation is to make that judgment legible so other teams can adopt it, rather than beginning with a mandate.

5:145:17
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

5:14 · section reference included

Earn autonomy through observable checks

Stored judgment helps an agent attempt the right work. Verification determines whether the result deserves trust. Orobator separates two human decisions: how the system should be built, and what proof should establish that it works. More capable generation does not remove either decision.

Source frame: Earn autonomy through observable checks
Source frame: Earn autonomy through observable checks

His verification ladder expands what the system observes:

  • Builds and tests: check the generated code through existing automated validation.
  • Screenshots: let a model inspect rendered output for problems such as contrast and overlap.
  • Running-feature video: show the application performing the intended flows.
  • Production telemetry: observe the software after it reaches production.

Each additional check that can run without a human supports handing off more work. Autonomy is earned one rung at a time.

What happens when a check fails? The loop below makes the answer visible: generate, test, fail, regenerate. “Spin at the gate until it comes back green” means treating a failed check as feedback for another attempt. Passing the gate produces something ready for review; it does not transfer the final merge decision to the agent.

For his side projects, Orobator gives the agent QA work as well as implementation work. It maps the feature, drives the app like a user and records the flows. Requiring that recording creates another task the agent must complete: make the application run well enough to demonstrate the behavior. Orobator watches the result himself. Having an LLM review the recording first and request fixes is a proposed next step. A recording gives observable evidence for the demonstrated flows; its scope is narrower than proof that the entire application is correct.

How it fits togetherA failed check feeds the next attempt

Produce the code change.

The agent can repeat implementation and verification. A human retains the final merge decision.

8:558:57
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

8:55 · section reference included

Screen the flag before the model touches it

The feature-flag agent brings the opening maintenance problem into a concrete local workflow. It cleans up stale flags and hands changes back for review; it does not merge code. The important work happens before generation, when the system scores each candidate using questions an experienced reviewer would ask.

Source frame: Screen the flag before the model touches it
Source frame: Screen the flag before the model touches it

The screening combines two kinds of information:

  • Code complexity: how many modules the flag touches, whether it has multiple variants, and whether it shares a component.
  • Experiment state: whether rollout is frozen, whether there is a sample ratio mismatch, and whether a variant has already reached 100% rollout.

Only changes classified as safe mechanical cleanups reach the model. A variant at 100% is one input to that decision, alongside the code’s structure and other experiment checks.

Before trusting the workflow, Orobator backtested its scoring against months of cleanup history. He then reports seven PRs out of seven with green CI. The agent now runs daily on his laptop and returns work for him to review. Those results describe a small, screened set of changes; they do not establish reliability for arbitrary cleanup work or correctness beyond the checks and review.

His reported cost is $1.26 per pull request. For a backlog of around 520 flags a year, he estimates a run cost under $700, compared with at least $26,000 for engineers doing the work by hand. These are his cost estimates, rather than a complete accounting of the workflow. The practical opportunity is maintenance that otherwise keeps slipping: he has seen flags remain in the codebase for three or four years, and some longer.

The division of labor is precise: “The model wrote the code and I wrote the judgment.” The scoring narrows the work before generation, CI checks the resulting patch, and human review remains afterward.

11:1811:20
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

11:18 · section reference included

Put the gate where the agent cannot grant an exception

A safeguard on one of Orobator’s side projects changed his understanding of enforcement. He built a pre-commit hook intended to stop agents writing to main, then asked Codex whether it would actually stop the tool. In his account, Codex explained that its patch tool could write underneath the hook. The intended protection covered a commit operation while leaving a lower-level write path available.

Source frame: Put the gate where the agent cannot grant an exception
Source frame: Put the gate where the agent cannot grant an exception

He moved the gate to the operating-system level. Later, when asked to list valid reasons to unlock it, the agent added an unsolicited “emergency recovery” exception. That changed the rule’s meaning: the agent could potentially supply its own reason to escape the restriction. Stronger placement had addressed the write path, but an agent-authored exception threatened the policy governing that protection.

Where did the protection fail as it changed? The comparison makes two separate problems visible: a hook that does not intercept the available write tool, and an unlock policy that lets the agent authorize itself. Orobator’s response is to gate the choke point and reserve bypass authority for the operator.

The “pit of success” assumes people follow the easy, supported path. Orobator’s warning is that agents may look for another route: “They will build ladders to climb out of the pit of success.” The actionable lesson is to keep the agent from granting itself the reason that unlocks its own guard. A polite instruction cannot do the work of an enforced restriction.

Compare the ideasTwo ways a safeguard can lose its force

Intended to prevent agent writes to main.

Enforcement must intercept the operation, and exception authority must stay with the operator.

12:4912:52
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

12:49 · section reference included

Specialists can run themselves while humans own approval

The proposed fleet consists of narrow agents: one for flags, another for dependencies, another for accessibility. Each gets its own encoded judgment and its own gate. Orobator connects this to Marvin Minsky’s Society of Mind: small specialists compose into something more capable, without requiring a master brain. In this vision, the flag-cleanup war room becomes one member of a larger maintenance fleet.

Source frame: Specialists can run themselves while humans own approval
Source frame: Specialists can run themselves while humans own approval

The human’s role changes across three stages:

  • In the loop: a person prompts the agent.
  • On the loop: a person orchestrates the work and reviews outcomes.
  • Off the loop: a scheduled or event-driven trigger starts the first draft.

Even in the third stage, humans own approval and merging. Automatic initiation removes the need to remember to start maintenance; it does not imply automatic acceptance of the result.

Orobator discusses a cloud runtime as enabling infrastructure for this stage, while leaving open whether the model vendor supplies it. Hosting and initiation are separate choices: his demonstrated flag agent already runs daily on his laptop. Moving execution to the cloud changes where the work runs; the trigger determines whether a person must start each draft.

14:2014:23
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

14:20 · section reference included

The harness needs maintenance too

Encoding judgment once is insufficient because the codebase keeps changing. A skill written for last month’s architecture can become actively misleading: the agent trusts guidance that no longer fits the system. “Encoded judgment rots.” The same process that makes expertise easy to reuse can spread an obsolete decision.

Source frame: The harness needs maintenance too
Source frame: The harness needs maintenance too

Orobator proposes two ways to keep it alive:

  • Learn from failures: run a postmortem and fold the lesson into the relevant skill. The desired change is a new constraint that prevents the same mistake from recurring.
  • Review for drift: schedule a pass over the skills to find stale guidance and contradictions, then open draft changes for review. His example of 300 skills explains why manual auditing alone is an unattractive maintenance strategy.

He calls the scheduled pass an agent’s “bedtime”: it reads its guidance, cleans house and prepares updates. The review step matters because this process edits the judgment that later guides implementation. The proposed self-driving codebase therefore maintains both its code and the instructions used to change that code.

Skills, personas, work logs, gates and specialists all manage different parts of that judgment. The log carries yesterday’s work into a fresh session; the skill supplies reusable decisions; review perspectives widen inspection; gates require the agreed evidence. Green CI reflects what the harness checks, so choosing and maintaining those checks remains a human engineering responsibility.

The closing assignment is more specific than writing another skill: find the judgment your team repeatedly asks the same person to supply, then make it explicit somewhere an agent can reach. The right form might be a persona, a lint check or a commit hook. Start with the decision that keeps requiring someone’s attention, encode it in a form suited to the job, and give the agent a gate it must pass.

15:5515:58
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

15:55 · section reference included

Resources

From the talk

Read the complete timestamped transcript
  1. 0:01

    [music]

  2. 0:12

    A friend told me about an engineer at

  3. 0:15

    another company who ran a recurring war

  4. 0:17

    room just to delete dead experiments.

  5. 0:20

    Every two weeks, the team would stop,

  6. 0:23

    gather, and clean up flags that everyone

  7. 0:26

    agreed should be gone. That's the

  8. 0:29

    bestase version of this problem. Someone

  9. 0:32

    burning political capital to make

  10. 0:34

    maintenance happen by hand. That's the

  11. 0:37

    part that I still can't get past.

  12. 0:42

    My name is Andrew Robbittor and I'm an

  13. 0:44

    Android engineer at Reddit. This is a

  14. 0:46

    talk about what's actually stopping us

  15. 0:48

    as an industry from scaling that work

  16. 0:51

    responsibly. Spin at the gate until

  17. 0:54

    green. the engineering primitives behind

  18. 0:56

    self-driving code bases.

  19. 0:59

    First, what I'm not going to do, I'm not

  20. 1:02

    going to stand up here and tell you that

  21. 1:04

    AI can write code. You're at the AI

  22. 1:06

    engineer world's fair. Half of you are

  23. 1:09

    running coding agents right now. So,

  24. 1:11

    let's skip the part where I sell you on

  25. 1:14

    AI writing code because you laugh me out

  26. 1:16

    of the room. For me, my only input is

  27. 1:19

    the chat box. I describe it builds. I

  28. 1:23

    review. Your mileage may vary. The point

  29. 1:26

    was never how the code gets written.

  30. 1:29

    It's about whether you ship good

  31. 1:32

    software, a product that people can

  32. 1:34

    actually trust. And every gate in that

  33. 1:37

    system is a human's call.

  34. 1:41

    I've watched this everywhere. You've got

  35. 1:43

    your own version of it. the war room

  36. 1:45

    that I opened with someone burning a

  37. 1:48

    week of hackathon freedom on lint

  38. 1:50

    cleanup.

  39. 1:52

    As an industry, we've built tooling that

  40. 1:54

    can change the shape of the work, and we

  41. 1:57

    still spend our scarcest resource on

  42. 1:59

    work like this by hand. Human

  43. 2:01

    creativity, human attention wasted.

  44. 2:06

    The job changed and most of us didn't

  45. 2:08

    even notice. We're harness engineers

  46. 2:11

    now. Our work is the system that helps

  47. 2:14

    produce and verify the code, the

  48. 2:17

    constraints, the gates, the skills, the

  49. 2:21

    verification.

  50. 2:23

    Think about how you got good for a

  51. 2:25

    second. Mentorship, code review, the

  52. 2:29

    water cooler chats, the incident that

  53. 2:31

    paged you at 3:00 a.m. You absorbed all

  54. 2:34

    of it without noticing, just by being

  55. 2:37

    there. Humans absorb judgment

  56. 2:40

    implicitly. Agents require judgment

  57. 2:43

    explicitly.

  58. 2:45

    An agent boots with a blank context

  59. 2:48

    window and no memory every session.

  60. 2:51

    Every piece of judgment you picked up by

  61. 2:53

    osmosis, it has to be made explicit or

  62. 2:56

    the agent simply never has it.

  63. 3:00

    Quick test. Swap in a smarter model. You

  64. 3:04

    get a slightly better answer. Now take

  65. 3:06

    away the tests, the gates, the review

  66. 3:10

    and the whole thing falls over. So the

  67. 3:12

    model was never really the bottleneck.

  68. 3:15

    The judgment around the model is

  69. 3:18

    the model is raw talent while the

  70. 3:21

    judgment is the organization.

  71. 3:26

    And this judgment already exists. It

  72. 3:29

    lives in scars, in post-mortems, in your

  73. 3:32

    most experienced reviewers. it just

  74. 3:35

    doesn't scale because it's trapped in

  75. 3:37

    one head. So step one is making it

  76. 3:41

    accessible to the whole org where one

  77. 3:44

    reviewer's taste can guide a thousand

  78. 3:46

    changes they'll never touch.

  79. 3:50

    Ask experienced engineers to clean up a

  80. 3:52

    feature flag and they they're going to

  81. 3:54

    think about a whole string of questions

  82. 3:56

    first. A flag is never just a flag. Is

  83. 4:00

    the rollout frozen? What about the flag

  84. 4:02

    right next to it? Which team owns it?

  85. 4:06

    That bundle of questions is judgment and

  86. 4:08

    it's the most valuable thing in the

  87. 4:10

    building. Right now, it's trapped. It

  88. 4:14

    surfaces once in a code review, then

  89. 4:17

    it's gone, and the next person relearns

  90. 4:20

    it the hard way. A skill is

  91. 4:23

    institutional judgment made executable.

  92. 4:26

    It's that bundle written down so that

  93. 4:29

    the agent refires it instead of

  94. 4:31

    guessing. A newer engineer can work with

  95. 4:35

    10-year instincts at their elbow. In

  96. 4:38

    1986, Marvin Minsky named this a

  97. 4:41

    knowledge line or a kine for short. It's

  98. 4:44

    the configuration of mind that solved a

  99. 4:47

    problem reused on the next one. So, a

  100. 4:50

    skill is a kine for a codebase.

  101. 4:55

    And skills aren't documentation.

  102. 4:58

    Agents drown in facts. What they lack is

  103. 5:01

    which facts matter and which decisions

  104. 5:04

    are dangerous. Documentation preserves

  105. 5:08

    facts while skills preserve judgment.

  106. 5:14

    Skills are judgment that you reuse. But

  107. 5:17

    often times work such as feature

  108. 5:20

    development or a refactor outlives a

  109. 5:23

    single session and the context window

  110. 5:26

    wipes clean every time. So you need the

  111. 5:29

    other half. A record of the work itself.

  112. 5:33

    The plan, the decisions, what you

  113. 5:36

    already tried, even the surprises along

  114. 5:39

    the way. That's a worklog.

  115. 5:42

    A plan is a prediction. A worklog is a

  116. 5:46

    record that starts with one.

  117. 5:48

    So new session, fresh agent, zero

  118. 5:52

    memory. You type one word, continue. It

  119. 5:55

    reads the work log and picks up at

  120. 5:57

    milestone 7 out of nine. No re-exaining

  121. 6:00

    and the work log is the context.

  122. 6:03

    This talk is living proof. I built it

  123. 6:06

    across a couple of sessions using a

  124. 6:08

    worklog. I came back to a half-finish

  125. 6:11

    presentation and a fresh agent read the

  126. 6:14

    work log and resumed exactly where I had

  127. 6:17

    left off. That's the only reason why

  128. 6:20

    you're seeing a finished talk and not me

  129. 6:22

    apologizing for one. And for my personal

  130. 6:25

    side projects, this isn't willpower. A

  131. 6:28

    git hook blocks any commit that doesn't

  132. 6:31

    update the worklog. This way, the memory

  133. 6:34

    keeps itself.

  134. 6:38

    Skills encode how to do something.

  135. 6:41

    Personas encode whose eyes look at it. I

  136. 6:45

    got this from a Carpathy tweet. There's

  137. 6:48

    no you when you prompt a model. It

  138. 6:51

    doesn't have an opinion to give. So

  139. 6:53

    don't ask it for one, ask for a

  140. 6:55

    perspective instead. What would be a

  141. 6:58

    good group of people to explore XYZ?

  142. 7:01

    What would they say?

  143. 7:03

    [snorts]

  144. 7:05

    On my personal side projects, it's just

  145. 7:08

    me. No security team, no designer, no

  146. 7:11

    one to bounce ideas off of. So I have

  147. 7:13

    the model review my code as a security

  148. 7:15

    lead as a UX reacher as a UX researcher

  149. 7:20

    as Mchavelli when I want to know

  150. 7:22

    something when I want to know how

  151. 7:23

    something gets abused. I even built a

  152. 7:26

    design panel of opposing philosophies my

  153. 7:29

    designs have to survive. Then I read the

  154. 7:32

    reports and act on them.

  155. 7:34

    Each persona loads a kind of judgment

  156. 7:37

    that I don't personally have on demand.

  157. 7:40

    Encode a domain's taste once and anyone

  158. 7:43

    can borrow eyes that they don't have.

  159. 7:46

    The engineer with no designer gets

  160. 7:48

    design judgment. The newer engineer gets

  161. 7:51

    a security reviewer's instincts. Push it

  162. 7:54

    to the whole org and every team can now

  163. 7:58

    encode its own taste for its own agents.

  164. 8:01

    The judgment that used to live in a

  165. 8:03

    handful of heads is suddenly everywhere

  166. 8:06

    at once.

  167. 8:10

    skills, work logs, personas, judgment

  168. 8:14

    out of our heads and into the repo,

  169. 8:17

    portable to a machine and to people that

  170. 8:20

    don't have it. But the second that this

  171. 8:23

    judgment lives in three different

  172. 8:24

    places, you've got a governance

  173. 8:27

    question. How does one team's judgment

  174. 8:30

    reach everyone else? Simpler than it

  175. 8:32

    sounds. Every gate that you already

  176. 8:35

    trust, whether it's CI or types or lint

  177. 8:39

    or the design system, is just

  178. 8:42

    institutional judgment pulled out of

  179. 8:44

    someone's head and made mechanical. We

  180. 8:46

    just never called it that. So, you don't

  181. 8:49

    mandate it. You make it legible and you

  182. 8:52

    let it spread.

  183. 8:55

    All right. So, now your judgment exists.

  184. 8:57

    It's encoded and it's governed. Great.

  185. 9:01

    But none of it matters if you can't

  186. 9:03

    actually trust what the agent did. So

  187. 9:06

    what actually separates a tool that

  188. 9:08

    helps you write code from one you can

  189. 9:10

    trust to run on its own?

  190. 9:13

    Verification.

  191. 9:15

    Verification is all that stands between

  192. 9:18

    you and software that you can trust.

  193. 9:20

    Everything before this slide is

  194. 9:23

    knowledge. Everything after this slide

  195. 9:25

    is trust. And trust is a human's call

  196. 9:29

    twice. Once on how it's built, once on

  197. 9:34

    the proof that it works.

  198. 9:38

    Verification is a ladder. Builds and

  199. 9:42

    tests. You've got those screenshot tests

  200. 9:45

    with a model reasoning over them can

  201. 9:47

    catch contrast and overlap a human a

  202. 9:50

    human ski.

  203. 9:52

    Then video the feature actually running.

  204. 9:55

    than telemetry in production. The more

  205. 9:58

    rungs you can run without a human, the

  206. 10:01

    more you can hand off. You earn autonomy

  207. 10:04

    one rung at a time. And the agent

  208. 10:07

    doesn't have to be right the first time.

  209. 10:10

    It just has to know when it's wrong and

  210. 10:12

    try again. Generate, test, fail,

  211. 10:16

    regenerate.

  212. 10:19

    Nobody yolos code to prod and neither

  213. 10:21

    should your agents. We all check our

  214. 10:24

    work.

  215. 10:25

    spin at the gate until it comes back

  216. 10:27

    green.

  217. 10:30

    I do this on my side projects. I give

  218. 10:32

    the agent its own QA. It maps the

  219. 10:35

    feature, drives the app like a real

  220. 10:37

    user, and records itself walking every

  221. 10:40

    flow. The agent that wrote the code will

  222. 10:44

    always tell you that it works. So, you

  223. 10:46

    make it hand back a recording of the

  224. 10:48

    thing actually running. Producing that

  225. 10:51

    recording forces it to make the thing

  226. 10:53

    work. You can't fake a passing run. And

  227. 10:56

    the recording is real proof. I watch it

  228. 10:59

    today. Down the line, you could have an

  229. 11:02

    LLM watch it first and send it back. Fix

  230. 11:05

    this. Redo that. But a human still makes

  231. 11:08

    the final call to merge. The requirement

  232. 11:12

    forces the work. The recording proves

  233. 11:15

    it.

  234. 11:18

    I got tired of watching old feature

  235. 11:20

    flags pile up. So I built an agent for

  236. 11:23

    cleaning up stale feature flags. It runs

  237. 11:25

    in my local workflow and it doesn't

  238. 11:27

    merge any code. The models the easy

  239. 11:30

    part. The judgment in front of it is the

  240. 11:33

    whole game. Every flag gets scored the

  241. 11:36

    way an experienced reviewer would

  242. 11:38

    analyze it. How many modules does it

  243. 11:41

    touch? Is it multivariant? Does it share

  244. 11:44

    a component? Then it checks the

  245. 11:46

    experiment data. Is the roll out frozen?

  246. 11:48

    Is there a sample ratio mismatch? Is

  247. 11:51

    there a variant already rolled out to

  248. 11:52

    100%.

  249. 11:54

    Only the safe mechanical cleanups ever

  250. 11:57

    reach the model. Before I trusted this

  251. 12:00

    workflow, I back tested the scoring

  252. 12:02

    against months of cleanup history. Then

  253. 12:05

    I ran it live. Seven for seven PRs with

  254. 12:09

    green CI. Now it runs daily on my laptop

  255. 12:12

    and hands work back for me to review.

  256. 12:15

    $1.26 a pull request, a backlog of

  257. 12:19

    around 520 flags a year, runs for under

  258. 12:22

    $700.

  259. 12:24

    If you had engineers working on this by

  260. 12:27

    hand, at least $26,000 that you're

  261. 12:30

    looking at. This is the work that nobody

  262. 12:34

    was ever going to do. I've seen feature

  263. 12:37

    flags in the codebase that are three,

  264. 12:39

    four years old, and some are even older.

  265. 12:43

    The model wrote the code and I wrote the

  266. 12:46

    judgment.

  267. 12:49

    One hard lesson from my side projects.

  268. 12:52

    When you let an agent author the code,

  269. 12:55

    your guard rails are your code review. A

  270. 12:57

    machine doesn't feel a polite comment.

  271. 13:00

    It only respects a hard gate. I built a

  272. 13:04

    pre-commit hook so my agents couldn't

  273. 13:06

    write to main. Then I asked Codeex,

  274. 13:08

    would the hook even stop it? It told me

  275. 13:11

    flat out repo hooks are not sufficient

  276. 13:14

    protection against me. Its patch tool

  277. 13:17

    writes underneath the hook. The agent

  278. 13:20

    told me that my gate was worthless.

  279. 13:22

    So I moved the gate down to the OS

  280. 13:24

    level. Later I asked it to valid I asked

  281. 13:28

    it to list the valid reasons to unlock

  282. 13:30

    and it quietly slipped emergency

  283. 13:33

    recovery into the allow list. A self

  284. 13:36

    authorizing exception that nobody asked

  285. 13:38

    for. It even admitted it. CODEC said

  286. 13:42

    that's the kind of escape hatch that

  287. 13:43

    starts as safety and ends as self-

  288. 13:46

    authorized nonsense.

  289. 13:48

    The pit of success assumes people take

  290. 13:51

    the easy path. Agents do not. They will

  291. 13:55

    build ladders to climb out of the pit of

  292. 13:58

    success. They find every escape hatch

  293. 14:01

    that you leave. And if you leave none,

  294. 14:03

    they'll invent one. So gate the choke

  295. 14:06

    point. Make the bypass operator only.

  296. 14:10

    Never hand the agent a reason that it

  297. 14:12

    can grant itself.

  298. 14:14

    A gate with an escape hatch isn't a

  299. 14:17

    gate.

  300. 14:20

    Once judgment is verifiable, it's

  301. 14:23

    executable.

  302. 14:25

    A flag agent, a dependency agent, an

  303. 14:28

    accessibility agent. Each one is narrow.

  304. 14:33

    Each with its own encoded judgment

  305. 14:35

    pointed at a different chore. Remember

  306. 14:38

    Minsky from the Kline? That was just a

  307. 14:41

    footnote in his in his idea. He called

  308. 14:44

    it the society of mind. A swarm of

  309. 14:47

    small, simple specialists that compose

  310. 14:50

    into something that looks effortless at

  311. 14:52

    the top. No master brain anywhere.

  312. 14:56

    That's the fleet. specialists, each

  313. 14:59

    spinning at its own gate, and a

  314. 15:01

    self-driving code base emerges from the

  315. 15:03

    swarm.

  316. 15:05

    And that flag agent, that's the war room

  317. 15:08

    from the opening, turned into a

  318. 15:10

    specialist. The work somebody organized

  319. 15:13

    a whole meeting around is just one

  320. 15:15

    member of this agent society.

  321. 15:18

    Every one of them doing the same thing,

  322. 15:20

    spinning at the gate until green.

  323. 15:25

    Three stages. In the loop, you prompt.

  324. 15:29

    On the loop, you orchestrate. You review

  325. 15:32

    the outcomes.

  326. 15:34

    Off the loop, a trigger fires it. Craw

  327. 15:38

    an event. No human has to kick off that

  328. 15:41

    first draft, but humans still own the

  329. 15:44

    approval and the merge process.

  330. 15:47

    The unlock there is a cloud runtime the

  331. 15:50

    model vendor may or may not ship for

  332. 15:52

    you.

  333. 15:55

    Everything that I've shown you, skills,

  334. 15:58

    personas, the gates, you wrote it down

  335. 16:01

    once, but the codebase doesn't hold

  336. 16:04

    still. It moves every single day. A

  337. 16:08

    skill written for last month's

  338. 16:10

    architecture isn't out of date. It's

  339. 16:13

    wrong. And that's worse than nothing

  340. 16:15

    because the agents trust it. Encoded

  341. 16:18

    judgment rots. If the skills don't move

  342. 16:22

    with the code, then the whole thing

  343. 16:24

    falls over. So you keep it alive in two

  344. 16:27

    ways. When an agent fails, you don't

  345. 16:29

    just fix the bug. You run the postmortem

  346. 16:32

    and fold the lesson back into the skill

  347. 16:35

    so that failure can't happen twice.

  348. 16:38

    Failure becomes a constraint.

  349. 16:41

    But nobody is hand auditing 300 skills

  350. 16:44

    for drift. So, you give the agent a

  351. 16:46

    bedtime, a scheduled pass where it reads

  352. 16:50

    its own skills, finds the stale ones and

  353. 16:52

    the contradictions, and opens up drafts

  354. 16:55

    for review. The system sleeps, cleans

  355. 16:58

    house, and wakes up sharper, but that's

  356. 17:01

    a whole separate talk on its own. A

  357. 17:04

    self-driving codebase is a system that

  358. 17:06

    keeps its own judgment current in

  359. 17:09

    addition to writing code.

  360. 17:13

    Everything that I've shown so far fits

  361. 17:16

    somewhere along this judgment pipeline.

  362. 17:21

    And every mechanism in this talk,

  363. 17:24

    skills, personas, work logs, and the

  364. 17:27

    gates, the fleet, all of it was doing

  365. 17:30

    one job. Managing judgment.

  366. 17:34

    Every session, the model wakes up like

  367. 17:36

    Drew Barrymore in 51st Dates. Brilliant.

  368. 17:40

    and no memory of yesterday. No idea what

  369. 17:43

    it's built or what it's even for. The

  370. 17:46

    collection of primitives in this talk is

  371. 17:49

    the notebook that we hand it. The

  372. 17:51

    skills, the work logs, the judgment that

  373. 17:54

    let it do real work.

  374. 17:57

    We don't ship PRs that pass CI because

  375. 17:59

    the model is a genius. They pass because

  376. 18:02

    we built a harness that won't let it be

  377. 18:05

    wrong. Every gate in it is a human's

  378. 18:08

    call. That's harness engineering.

  379. 18:12

    Scale the judgment, not the model.

  380. 18:17

    So here's what I'm asking you to do.

  381. 18:20

    Don't just go write a skill. That's only

  382. 18:22

    that's only one implementation.

  383. 18:24

    Find the judgment your team always asks

  384. 18:27

    the same person about and make it

  385. 18:29

    explicit somewhere that an agent can

  386. 18:32

    reach it. It could be a persona, a lint

  387. 18:35

    check or a commit hook. That's the job.

  388. 18:38

    Now less product engineering and more

  389. 18:40

    harness engineering

  390. 18:42

    and the method demonstrates itself. The

  391. 18:45

    flag agent produces PRs that pass CI.

  392. 18:48

    This talk resumed from a worklog.

  393. 18:52

    We started here. Humans absorb judgment

  394. 18:56

    implicitly while agents require it

  395. 18:59

    explicitly.

  396. 19:01

    Self-driving code bases will exist the

  397. 19:03

    moment we get that judgment out of our

  398. 19:05

    heads and into the codebase. Then we

  399. 19:08

    point the agents at the gate and let

  400. 19:11

    them spin until it's green. Thank you.

  401. 19:31

    >> [music]