The evolution · git log --diff-filter=A

The Evolution — a git archaeology of the ways of working

The operating system wasn’t designed up front — it accreted, one artifact at a time, each dated next to the pain that caused it. Because the process layer is versioned with the product, git history can reconstruct the whole evolution.

Every date below is a git-log fact · every quality signal is computed from the commit stream
Related to the Agentic Engineering case study →
The shape of the list is the finding
Memory firstPaved roadsEnforcementMeasurementAutonomy last

Most teams adopt agents in the opposite order — autonomy first, gates after the first disaster.

01The artifact timelineApr 27 → Jul 5 · 77 days
Phase 0 — Documents, not machinery · Apr 27 – May 8
Quality ran on attention — fixes were 42–52% of feature+fix commits
Apr 27
day 1
Agent context doc + architecture-decision log
Memory before anything else — decisions recorded from the first commit
Apr 28
day 2
Build-learnings log
The failure→rule channel existed before there was much to fail
Phase 1 — The paved road · May 9 – Jun 1
Feature volume tripled · fix share halved to 25% · tests 46 → 148
May 9
day 13
/implement /pre-pr /review /pr-summary
The first paved road: implementation, merge gate, review lens, PR template
May 15
day 19
Stop-time typecheck / lint / test hook
The first involuntary gate — process stops being optional
May 16 / 25
/test-review · /handover
Test-quality lens; cold-start session handoffs
Phase 2 — Spec discipline, then a hard week · Jun 2 – 16
All 4 production incidents of the project's life: Jun 5–11 · fix share back up to 36%
Jun 2
day 37
/guardrails · /ticket (Definition of Ready)
Domain invariants in one enforced doc; spec quality becomes a gate with verdicts
Jun 5
day 40
/incident · /learning · the RCA index
The most revealing timestamp in the repo — created during the firefight, not after it
Jun 13
day 48
/spike · branch protection on main
Discovery track; direct pushes end — PR-only from here
Phase 3 — Enforcement gets teeth · Jun 17 – Jul 3
Fix share falls to its floor: 16% · spend peaks ~$1,900/day — the next phase's cause
Jun 17
day 52
guardrails-reviewer subagent
Review fan-out: one independent agent per invariant dimension
Jun 21
day 56
The enforcement drop
Tenant-isolation lint rule + mandatory two-tenant negative-test fixture + feature-flag kill-switch — prose rules become static analysis, in one day
Jun 23 / 24
AI eval harness · /babysit-prs · the loop-engineering doctrine
AI quality gets golden datasets and a baseline; loops get a written discipline
Phase 4 — Measure the machine, then let it run · Jul 4 – 12
~75 tickets in five days at flat per-ticket cost, parked at a human merge boundary
Jul 4
day 69
The workflow audit + ci-triage · linear-scribe subagents
The machine gets measured; context hygiene gets services
Jul 5
day 70
/epic — the autonomous backlog loop
Bounded autonomy ships last, ten weeks in, after every gate it depends on
02The quality signals, end to endComputed from the commit stream · half-month buckets
Fix share of feat+fix commits
APRMAYJUNJUL

42–52% → 16–23% — roughly halved as gates landed; the 36% bump is the June incident cluster showing honestly

Test files in tree
1846148212305395

~22× growth, added continuously — tests ship in the same PR by rule, never as a catch-up campaign

Learnings-log commits
1128411

Accelerating — July's spike is the autonomous loop generating novel failure modes and writing them down

14/~480

reverts across all merged PRs (~3%) — forward-fix culture; merges rarely turn out wrong enough to undo

4 0

prod-impacting incidents, all Jun 5–11 — none since, including through the autonomous burst

3→7→5→13→9

.claude/ commits per half-month — ways of working maintained continuously, like code, not framed

03What the archaeology provesFour claims
01Every artifact is dated next to its pain.

The incident practice was created during the incident week; the audit followed the spend peak by ten days. Nothing here was process for its own sake.

02Quality machinery paid for itself in the commit stream.

Fix share halved while output grew several-fold — and the exceptions are visible rather than smoothed over, which is what makes the trend believable.

03Autonomy was earned, not assumed.

Ten weeks of gates, tests, enforcement, and measurement before the first autonomous batch — which ran at the same unit cost, with zero new incidents.

04The learning rate is the real asset.

The memory channels are the oldest artifacts and the most-committed-to in the newest period. That compounding transfers to any team.

Measurement caveats — read before quoting

Commit-type mix is directional, not precise. Mid-June squash-merging inflates the early fix share somewhat; it doesn't explain away a 2×+ drop, and the incident spike moves against the confound.

Test-file count is not coverage. Coverage gates exist in CI; the count is used only as a growth-shape signal.

Correlation, not controlled experiment. Several mechanisms landed the same week; the claim is that the system worked, not any single gate.

"No incidents since Jun 11" counts prod-impacting RCAs; workflow-level failures kept occurring and are logged as numbered learnings — the system working as designed.