Learning
The gated-taskset prompt pattern (originally used for single-repo feature work) scales cleanly to cross-app polish passes that touch many submodules in one session. The discipline that makes it work:-
Outline first, halt before each set. Before any edit, present numbered TASKSETS and wait for
GO TASKSET N. This converts a sprawling “fix several things” request into a sequence of independently-verifiable units. - Order by dependency, not by complexity. Brand assets first (TS1) because every later set consumes them. Auth fix second (TS2) because everything else needs a usable login to test. UI reorder third (TS3) because it’s trivial but easier to validate with auth working. The plan inverts the natural temptation to do “easy stuff first”.
- Atomic submodule commits, conventional bodies. Each submodule got one commit per logical change set with a multi-line body documenting why, not what. This made parent superproject ref bumps a single batched chore commit at the end.
-
Surface architectural surprises mid-flight. TS7 uncovered that
atlas,ares,manual,landingare standalone repos rather than registered submodules. Rather than power through, the agent re-scoped: standalone-repo commits stay in their own histories, parent commit only bumps the four registered submodules, and the gap is documented as a follow-up. The gating made the surprise containable. - Vercel deploy failures fold back into the same workflow. When two builds went red post-push, the recovery wasn’t a panicked hotfix — it was a continuation of the gated workflow: reproduce locally → identify root cause → split into doctrine-grade fix → recommit → push.
Cost / Impact
- 7 tasksets, ~3 hours of focused execution
- 9 commits across 8 repos, all atomic and reviewable
- 3 doctrines + 3 findings extracted into atlas as durable knowledge (this learning is one of them)
- Zero rework, zero scope creep, zero pre-existing dirty state disturbed in the parent
- Two latent build bugs (validators leak, theme provider drift) caught and codified before they could bite a future deploy