Etude · The anti-cascader

Install bob

The full walk. Install, invoke, all seven steps, paced for reading.

The team installs bob, invokes /migrate-spring-boot-3, and walks all seven steps of the Spring Boot 2.7 → 3 migration. Each step shows the explanation prose verbatim, runs the codemod or gate, prints a real diff against the bundled fixture, then walks the human loop: understand the change → review what to look for in the PR → wait for CI gates green → merge → next step. That loop is the etude's contribution — each step is small enough that a human can hold all of it in their head while it lands.

Press play. Read the explanations. Watch the review shape repeat.

Team's terminal · Spring Boot 2.7 repo

  1. install
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8. 7
~/svc/orders-api · main

What happened

The team typed two commands. Bob walked all seven steps in sequence — a precheck gate, four deterministic codemods, one hybrid step, and a postcheck gate — pausing on each to print the publisher-authored explanation before running it, then showing the diff, then opening a draft PR with a Bob-Step: trailer. Seven small reviewable PRs land in the team's queue.

State lives in git log. The next invocation re-derives the same step pointer from the trailers on main. Pause for a quarter, hand to a colleague, run on a fresh clone — same answer.

The platform team that authored the migration never opened the PR. They wrote the codemods and the explanations and shipped it as a skill. The team pulled.