Skip to content

fix(humanize1): gen-plan stops while a decision is still PENDING - #9

Open
DongyunZou wants to merge 1 commit into
mainfrom
fix/gen-plan-pending-gate
Open

fix(humanize1): gen-plan stops while a decision is still PENDING#9
DongyunZou wants to merge 1 commit into
mainfrom
fix/gen-plan-pending-gate

Conversation

@DongyunZou

Copy link
Copy Markdown
Contributor

What

gen-plan now refuses to finish while the final plan's ## Pending User Decisions section still holds a Decision Status: PENDING entry. The run stops with a ValueError naming the DEC-N items; the plan stays on disk with every position (planner's, reviewer's, the tradeoff) written down, so answering the statuses in the file -- or rerunning gen-plan with somebody at the prompt -- is all that is left to do.

Why

rlcr never blocks on a person by design: the plan-understanding quiz is advisory, and --yolo (--skip-quiz + --claude-answer-codex) answers the rest. So a plan handed on undecided does not stop the loop -- it idles it: the builder defers every task hanging on a PENDING decision, the reviewer counts each deferral incomplete, and a multi-day run burns its rounds building none of the mainline. Observed in practice as a loop where every major project stayed untouched.

The gate therefore belongs to gen-plan alone -- the one flow with the person in it. A plan is handed on decided, and rlcr stays question-free and unchanged.

Notes

  • The check is deterministic text parsing (no agent turn), placed after the final plan is durable.
  • The template's own unfilled line (Decision Status: PENDINGor<User's final decision>`) counts as undecided: a status nobody touched is a decision nobody made.
  • auto_start_rlcr_if_converged's comment -- "nothing left to decide" -- is now enforced rather than assumed.
  • Tests: pending stops the run with the plan kept; an answered decision passes; the unfilled template line counts. Full suite: 47 passed. hmz check on the flow: clean.

🤖 Generated with Claude Code

rlcr never blocks on a person -- the quiz is advisory and --yolo answers
the rest -- so a plan handed on with `## Pending User Decisions` entries
still `PENDING` does not stop the loop, it idles it: every task hanging
on a decision is deferred, round after round, and a week of reviews
builds nothing.

The gate is gen-plan's, at the end of the final consolidation: the
finished plan is read for entries whose `Decision Status` still says
`PENDING`, and the run stops with their DEC names rather than finish.
The plan stays on disk with every position written down; deciding is all
that is left to do. The template's own unfilled status line counts,
since a status nobody touched is a decision nobody made.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant