One repo, ten changes, four sessions, and three written rules as the only difference. Not one choice on the left is wrong by itself — divergence is what ten reasonable independent decisions look like, which is why asking for consistency does not produce it and writing three lines does.
they part company here — whether three rules were written down
No codex
every change decides for itself
const u = await getUserById(id)
const list = await getOrders()
const p = await fetch_profile(id)
if (!p) return null
function fmtDate(d) { … }
console.error('bad date')
const t = await loadTeam()
function formatDate2(d) { … }
try { … } catch {}
const s = await fetchSettings()
“We don't write it that way here” — said four times, in one week.
Three rules
decided once, applied every time
const u = await getUser(id)
const list = await getOrders()
const p = await getProfile(id)
if (!p) throw new AppError('no profile')
import { formatDate } from '@/lib/format'
throw new AppError('unparseable date')
const t = await getTeam()
import { formatDate } from '@/lib/format'
throw new AppError('charge failed', { cause })
const s = await getSettings()
Review spent its whole budget on whether the logic is right.
changes 9–10 · reviewReview time. On the left, every comment is a matter of taste, so each one is negotiable and half of them lose. On the right there is nothing to negotiate, which is what frees a reviewer to look at whether the code is CORRECT.
Not one of the left column's choices is wrong on its own. That is the point: divergence is what ten reasonable decisions taken independently look like, so “please be consistent” cannot produce consistency and three written lines can. Consistency is a codex problem, not a talent problem — and not a model problem either.