Agentic coding with integrity

Coding agents ship code at a high rate that prevents thorough review of each line of code. Luckily, this isn’t a new situation, since the 90s, companies have had trust issues with teams of low-skill developers or contract developers that they don’t trust and don’t expect great things from every time. We can adapt these principles to the modern world.

Risk levels

In a software system, there are different types and levels of risk. Of course, this is application-specific, but I’ll lay them as generically as possible:

  1. Irreversible harm: Identity/Crediential theft, critical data loss, over-billing errors, medical device errors, hardware drivers leading to mechanical distruction, criminal legal liability, etc.
  2. Recoverable harm: Buisness-impacting service disruptions/bugs, under-billing, recoverable data loss, single-customer legal action, civil legal liability, major certification failures, etc.
  3. User trust harm: Visual ugliness, bugs with workarounds, gaps in support, non-critical system outages, non-critical certification audit findings

Then of course there are impact levels.

  1. Whole/part of buisness: Can destroy the whole buisness/all users impacted
  2. Single non-core product/user: Can destroy a significant fraction of the buisness/subset of users impacted

Risk frameworks often sum these two levels together and identify categories of overall risk based on that sum.

Code Ownership

The strategic way to limit the damage AI risk can do is with strong code ownership models. Yes, this means old-school gating of who can commit code and how. Yes, this means lower tier teams will be blocked by higher teir teams to make core changes.

Team organization