Skip to content

Nine More Weeks, the Same Loop at Scale

It's a Friday afternoon in Week 9. Nothing unusual happened this week, so the thought shows up: "nothing to report, I'll pick it up next time." That single skipped week is the most common way this program actually fails: not a missing skill, just one gap in the log that breaks the twelve-consecutive-week count Lesson 10's graduation gate checks. That failure mode, and the one next to it, are what this lesson is actually about.

Here is the honest scope of the rest of it: there is no new mechanism to teach. Lessons 1 through 8 gave you everything the real skill does. You know how to install it, log a week, read the five metrics, point the log at your own chart, and correct a bad entry without rewriting history. Weeks 5 through 12 of your own run are not eight lessons' worth of new material in disguise. They are the same loop from Lesson 5, log at week's end, run the report, glance at the trend, run again the following week, repeated eight more times.

That does not make the remaining weeks nothing to think about. It makes them a different kind of problem: not "what do I do," which you already know, but "will I keep doing it correctly once it stops being new."

The loop, stated once more, because it doesn't change

Here is Lesson 5's rhythm again, in the same order, because the order still matters:

Log the week

Six numbers, two sentences, the same command from Lesson 3, run again with this week's real values in place of last week's.

bash
python3 .claude/skills/transformation-tracker/scripts/log_week.py \
  --week N --total-hours <hours> --automated-hours <hours> --active-clients <count> \
  --revenue-ratio <ratio> --recurring-pct <pct> \
  --automated-this-week "<what got handed to an agent>" --bottleneck "<what's still slow>"
Run the report

The same command from Lesson 5, against one more appended line in transformation-log.jsonl.

bash
python3 .claude/skills/transformation-tracker/scripts/report.py --table
Glance at the trend

Read the whole table, not just whichever column climbed fastest last time, the same discipline Lesson 5 closed on.

Reread a few old bottleneck lines before moving on

Not the current week's, the ones from a few weeks back. This is the one habit this lesson adds, covered next.

What breaks after Week 4, specifically

Weeks 1 through 4 have novelty on their side. Every number is new, every report is the first time you have seen that particular shape, and showing up to log is easy because it still feels like progress. Two real failure modes tend to show up once that novelty wears off, and both are worth naming before they happen to you instead of after.

Skipping a normal week

"Nothing to report" is the thought that costs you a graduation. Lesson 10 covers the graduation gate directly, but the short version is that it counts consecutive logged weeks, not consecutive interesting weeks. A quiet week where nothing changed is still real data, and it is the exact week most likely to get skipped, because skipping it feels harmless. It isn't. A gap in the log is a gap in the twelve-week count, full stop.

Batch-logging from memory

Falling three weeks behind and then reconstructing Weeks 9, 10, and 11 from memory in one sitting reintroduces the exact problem Lesson 3 warned you about with Week 1: an estimate standing in for an honest number. "About 45 hours, I think, that week" typed in under deadline pressure three weeks late is not the same measurement as "45 hours" logged the Friday it happened. The skill will accept either one. It cannot tell you which kind of number you just gave it.

Neither of these is hypothetical. They are what a long, repetitive program does to attention by design: the ritual that felt worth doing in Week 2 starts competing with everything else on a Friday afternoon in Week 9, and the ritual loses unless you have already decided it won't.

Failure modeWhat it looks likeWhat it breaks
Skipping a "normal" week"Nothing to report this week, I'll pick it up next time"The consecutive-week count Lesson 10's graduation gate checks
Batch-logging from memoryThree weeks reconstructed in one sitting, days or weeks lateThe honest-number discipline Lesson 3 built Week 1 around

The habit that keeps a table of numbers from staying just a table

There is one useful practice worth adding here, not a new mechanic, a way of using one you already have. Lesson 3 asked for two free-text fields every week: what got automated, in your own words, and what the bottleneck still is. Those two sentences do not feed any formula. Lesson 4 said as much directly. What they do is turn twelve rows of numbers into something you can actually read back later.

Before you log the current week, reread the automated_this_week and biggest_bottleneck lines from a few weeks back, not just the most recent one. Lesson 5 showed you what this looks like across four real weeks: onboarding named as the bottleneck in Week 1, still the bottleneck in Week 2, replaced by reporting in Week 3, replaced by sales follow-up in Week 4. Read as a table of five numbers, that's a trend. Read as those four one-line answers next to each other, it's a story: the same problem sitting unsolved for two straight weeks, then a chain of fixes, each one clearing the way for the next bottleneck to become visible. That story is what you'll actually want at Week 12, not the raw automation-index column on its own.

Rereading those old answers before writing this week's also does something smaller and just as useful: it keeps the habit from going rote. Typing the same three-word bottleneck answer for the fourth week running is a signal worth noticing in the moment, not just in hindsight.

The same loop, run eight more times

One pattern worth watching for, briefly

If automation_index sits flat across two or three consecutive weeks, that is worth noticing, not brushing past. Lesson 4 already told you this isn't automatically a failure. It can mean you've stopped automating and started just running what you already built, which is a legitimate phase of a real program. But a flat automation index sitting next to a bottleneck line that also hasn't changed in those same weeks is a different signal: the thing slowing you down has been visible for two or three weeks and nothing has moved against it yet. That combination is worth a real look. Diagnosing it in depth is Lesson 10's job, once there's a full twelve weeks of data and a graduation gate to read it against. For now, just know what to watch for as the weeks stack up.

What actually changes between here and Week 12

Nothing in the command, nothing in the five metrics, nothing in the report. What changes is only the amount of data sitting in transformation-log.jsonl, one more appended line every week, and how much attention you keep paying to the two free-text sentences once logging stops feeling new. A twelve-week program does not fail because someone forgot how to run log_week.py. It fails, when it fails, because a quiet week got skipped or a busy month got reconstructed from memory three weeks late. Guard against those two things specifically and the rest of this program is exactly as straightforward as Weeks 1 through 4 already showed you it would be.

Quick check — Weeks 5 through 12 of this program are ahead of you. What's the most accurate way to think about what's left?
Continue to Lesson 10

Twelve weeks logged, or close to it. Lesson 10 covers the real graduation gate, including an actual inconsistency in the original program that got found and fixed rather than quietly patched over.

Have a question about this lesson?

Reply here and it goes straight to Rod. Same as replying to one of his emails.