forked from sethdford/shipwright
-
Notifications
You must be signed in to change notification settings - Fork 0
Pipeline Plan 444
ezigus edited this page Apr 27, 2026
·
1 revision
The plan is complete. The three root causes are:
-
RC1 (timing) —
ORIGINAL_GOAL="$GOAL"insw-loop.sh:419may run afterinit_state(), so the firstwrite_state()call uses an emptyORIGINAL_GOAL, falling back to the already-synthesizedGOALand permanently contaminating the state file -
RC2 (prompt) —
compose_prompt()atloop-iteration.sh:369uses$GOAL(accumulated) notORIGINAL_GOALfor the## Your Goalsection -
RC3 (same-value) — both
goal:andoriginal_goal:fields are written with the identical_goal_escvalue, so ifORIGINAL_GOALis contaminated, both fields are permanently stuck in that contaminated state
The fix touches 4 files with surgical changes: hoist the ORIGINAL_GOAL assignment, remove the dangerous lazy bootstrap in write_state(), and collapse compose_prompt()'s stuckness branch to always use ORIGINAL_GOAL.