From 117676f4f3c5a6d0e00fd649283a07cdd89430a4 Mon Sep 17 00:00:00 2001 From: Luke Curley Date: Thu, 12 Nov 2026 11:37:41 -0800 Subject: [PATCH 1/3] quest: plan a first-principles step back at the design checkpoint Co-Authored-By: Claude Opus 5.5 --- quest/m0/checkpoint-first-principles.md | 43 +++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 quest/m0/checkpoint-first-principles.md diff --git a/quest/m0/checkpoint-first-principles.md b/quest/m0/checkpoint-first-principles.md new file mode 100644 index 00000000..d94877a1 --- /dev/null +++ b/quest/m0/checkpoint-first-principles.md @@ -0,0 +1,43 @@ +# [S] Design checkpoint asks for the best long-term approach + +## Goal + +At `/quest-review`'s design checkpoint, the agent steps back, works out the +best long-term approach from first principles, and compares it with the +current one before making another fix, so PRs stop piling up +just-one-more-change patches. Agents that loop on review findings often +change course once someone asks whether there is a better alternative; the +checkpoint should ask that question for them. + +The trigger stays as it is (a reviewer's every third round that reports +findings above low severity), and the agent still hands the choice to the +user. Loops outside `quest review`, such as `/quest-iterate` fixing CI +failures or online reviewers' comments, are out of scope. + +## Plan + +Decided 2026-11-12 (user, /quest-plan): + +- What should change? + - ✅ Strengthen the existing checkpoint: the `next checkpoint` line + `nextStep` prints in `src/cli/review.ts` and the checkpoint paragraph in + `assets/skills/review.md` (rejected: also counting `/quest-iterate`'s fix + cycles, which adds a second round counter; having the agent rethink on + its own and hand off only when it recommends a change of course) + + Agents follow the printed `next` line, and today it only says "reconsider + the approach". So the line itself should carry the step back (the best + long-term design from first principles, compared with the current one), + not only point at the skill. Keep it short enough to read as one + instruction. +- Which milestone? + - ✅ m0 (rejected: m1, m2): agents loop on moq-dev's own PRs now. + +Recommended: reword the skill paragraph so the agent first states the +problem the PR solves without reference to the current code, designs what +it would build if starting today, then compares that with the current +approach and the remaining findings. Keep its existing outcomes (continue, +rethink, merge as is, drop) and the `Design change:` comment. Update the +`quest review --help` text in `src/cli/main.ts` that describes the +checkpoint, and the `nextStep` tests in `test/review.test.ts` if the +wording they match changes. From ebc752d78585ed187b78a9cb291016f7c9099d68 Mon Sep 17 00:00:00 2001 From: Luke Curley Date: Thu, 12 Nov 2026 11:52:07 -0800 Subject: [PATCH 2/3] quest: point the checkpoint plan at nextStep and pin its tests Co-Authored-By: Claude Opus 5.5 --- quest/m0/checkpoint-first-principles.md | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/quest/m0/checkpoint-first-principles.md b/quest/m0/checkpoint-first-principles.md index d94877a1..0baf21e2 100644 --- a/quest/m0/checkpoint-first-principles.md +++ b/quest/m0/checkpoint-first-principles.md @@ -9,9 +9,8 @@ just-one-more-change patches. Agents that loop on review findings often change course once someone asks whether there is a better alternative; the checkpoint should ask that question for them. -The trigger stays as it is (a reviewer's every third round that reports -findings above low severity), and the agent still hands the choice to the -user. Loops outside `quest review`, such as `/quest-iterate` fixing CI +When the checkpoint fires stays as `nextStep` in `src/cli/review.ts` +decides it today, and the agent still hands the choice to the user. Loops outside `quest review`, such as `/quest-iterate` fixing CI failures or online reviewers' comments, are out of scope. ## Plan @@ -37,7 +36,9 @@ Recommended: reword the skill paragraph so the agent first states the problem the PR solves without reference to the current code, designs what it would build if starting today, then compares that with the current approach and the remaining findings. Keep its existing outcomes (continue, -rethink, merge as is, drop) and the `Design change:` comment. Update the -`quest review --help` text in `src/cli/main.ts` that describes the -checkpoint, and the `nextStep` tests in `test/review.test.ts` if the -wording they match changes. +rethink, merge as is, drop), the `Design change:` comment, and restarting +the count with `quest review --new`. Update the `quest review --help` text +in `src/cli/main.ts` that describes the checkpoint. The `nextStep` tests in +`test/review.test.ts` match only the `next checkpoint: ` prefix, so make +them assert that the line carries the step back, or the rewording could +regress unnoticed. From c14afb7063ac1a0560a89c768679921a4c4dce30 Mon Sep 17 00:00:00 2001 From: Luke Curley Date: Thu, 12 Nov 2026 11:53:53 -0800 Subject: [PATCH 3/3] quest: name the checkpoint's trigger plainly Co-Authored-By: Claude Opus 5.5 --- quest/m0/checkpoint-first-principles.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/quest/m0/checkpoint-first-principles.md b/quest/m0/checkpoint-first-principles.md index 0baf21e2..76b582fe 100644 --- a/quest/m0/checkpoint-first-principles.md +++ b/quest/m0/checkpoint-first-principles.md @@ -9,9 +9,10 @@ just-one-more-change patches. Agents that loop on review findings often change course once someone asks whether there is a better alternative; the checkpoint should ask that question for them. -When the checkpoint fires stays as `nextStep` in `src/cli/review.ts` -decides it today, and the agent still hands the choice to the user. Loops outside `quest review`, such as `/quest-iterate` fixing CI -failures or online reviewers' comments, are out of scope. +The checkpoint's trigger stays as `nextStep` in `src/cli/review.ts` +decides it today, and the agent still hands the choice to the user. Loops +outside `quest review`, such as `/quest-iterate` fixing CI failures or +online reviewers' comments, are out of scope. ## Plan