02 — The AI Rebound¶
Failure mode: Raghul opens Cursor / Claude Code / Copilot to unblock one hard C++ bug in M2 or M3. It works. The bug goes away in 4 minutes. He commits code he doesn’t fully understand. The next hard bug, he opens it again. Within 3 weeks, he is back where he started 2 years ago — reading AI output, not writing code.
Probability: 40%
This is the highest-specificity risk in the roadmap. It is not “will Raghul use AI” — of course he will, eventually. It is “will he lose the muscle he is trying to rebuild, by outsourcing the specific type of struggle that builds it?”
Why It Happens¶
The gap is real and painful. Two years of AI-first work means the mental model of C++ semantics is stale. Every compiler error is a moment of “I used to know this.” That pain is the exact signal that the muscle is rebuilding — and it is also the exact signal AI is designed to erase.
The tool is available, always, one keystroke away. Willpower is not a strategy against a tool that removes friction for a living.
The productivity feeling is intoxicating. Ship 3 features in an evening with AI. Ship 1 feature in an evening without. The feeling lies; the growth is in the second case.
Rationalization is easy. “I’ll just use it to explain this concept.” Two prompts later it has written 40 lines of code and Raghul has typed 4.
Early Warning Signals¶
Fire immediately if any of these are true:
>30% of code committed in a session was AI-generated (rough eyeball; if you’re honestly not sure, it’s >30%).
The feeling of “productive session” without being able to redo the same code from scratch tomorrow. If you can’t retype it Monday morning without help, you didn’t learn it.
AI opened for a bug and never closed the entire evening. Session became AI-driven, not human-driven.
Lab notebook entries for the week don’t include a single “I got stuck for >20 min and worked through it” story. No struggle logged = no rebuild happened.
Prompt count is climbing week-over-week. If M2 W1 was 5 prompts, W2 was 12, W3 was 30 — that’s the trajectory.
Mitigation — The Typed-Once Rule¶
Every line of C++ in your public repos must have been typed by Raghul, character by character, at least once.
This is the single hard rule that resolves the AI question for M1–M6.
AI is allowed to explain concepts (“what is
std::launderfor?”, “why does this template deduction fail?”).AI is not allowed to produce code you paste, tab-complete, or paraphrase into a repo without retyping.
If you retype it, you can commit it. If you can’t retype it because you don’t understand it, you don’t understand it and it doesn’t go in.
Phase-by-phase rules (from ../13_discipline/06_failure_modes.md):
Phase |
AI Usage |
|---|---|
M1 (Phase 0) |
NO AI. Cursor uninstalled. Copilot off. Claude closed. Just the compiler and cppreference. |
M2–M6 |
Explain-only. Concepts, error messages, standards discussion. Never code. Typed-once rule holds. |
M7+ |
Scaffold-only. AI can generate boilerplate (CMake, gitignore, argparse). All logic still typed by hand. |
M11+ (study prep) |
AI back to human-paired usage, but studies are still no-AI. |
The Weekly Self-Audit (Sunday, 5 min)¶
Answer three questions, honestly, in the lab notebook:
How many lines of code did I type this week? (Rough count is fine.)
How many lines did AI produce that I kept? (Should be 0 in M1–M6.)
What is the hardest bug I fought this week, and how long did it take me alone? (If the answer is “I didn’t have any hard bugs” — you’re not stretching, or you’re using AI more than you noticed.)
If Q2 > 0 in a phase where it should be 0, or Q3 has no honest answer, a signal has fired.
Escalation Trigger¶
If the typed-once rule breaks in any week during M1–M6:
1-week AI-free reset. Uninstall Cursor, disable Copilot, close all AI tabs. Compiler + cppreference + your own brain for 7 days.
Redo the last week’s work by hand. The features that shipped with AI help — retype them yourself. If you can, they stay. If you can’t, they get rewritten from scratch. This is not punishment; it is calibration.
Lab notebook entry: what triggered the rebound, and what the smaller version of that trigger looks like next time.
If the rebound repeats twice in the same phase, the phase is extended by 2 weeks — the muscle is not built yet and it needs more time.
The Bigger Truth¶
Two years ago, Raghul could write C++. That version of him is not dead. It’s under a thin layer of atrophy that dissolves the moment you stop asking someone else to do the pushups. The gap between “can’t remember” and “can write it clean in 90 seconds” is 3–4 weeks of typing it wrong and fixing it, not 3–4 weeks of reading someone else’s correct answer.
The AI is not the enemy. The reflex is the enemy. The reflex says “why struggle when the answer is 4 seconds away?” The answer is: because the struggle IS the point. The shipped code is a byproduct. The person who can write it is the actual output of this roadmap.