docs/plans/2026-05-24-cut-ralph-merge-execution-into-plan-skills.md
Objective:
Cut the obsolete ralph execution skill and make plan skills own both phases:
planning until user-review-ready, then accepted-plan execution only after a
second explicit invocation under a new goal.
Goal plan: docs/plans/2026-05-24-cut-ralph-merge-execution-into-plan-skills.md
Completion threshold:
.agents/rules/ralph.mdc and .agents/skills/ralph/ are gone.slate-plan documents the two-phase contract: planning stops for user
review; accepted-plan execution starts only on a later invocation.plate-plan, editor-harvest-ralplan, goal rules, AGENTS, and slate-plan
template no longer route execution through ralph..agents, generated AGENTS.md, and
docs/plans/templates have zero ralph / Ralph references.pnpm install, focused source checks, pnpm lint:fix, and this plan's
goal checker pass or record a concrete blocker.Verification surface:
test ! -e .agents/rules/ralph.mdctest ! -e .agents/skills/ralphrg -n "ralph|Ralph" .agents AGENTS.md docs/plans/templates -Srg -n "Accepted-plan execution|Planning mode|Execution mode|second invocation" .agents/rules/slate-plan.mdc .agents/skills/slate-plan/SKILL.mdpnpm installpnpm lint:fixnode .agents/rules/goal/scripts/check-complete.mjs docs/plans/2026-05-24-cut-ralph-merge-execution-into-plan-skills.mdConstraints:
.tmp completion-hook state for goal work.Boundaries:
.agents/rules/goal.mdc.agents/rules/slate-plan.mdc.agents/rules/plate-plan.mdc.agents/rules/editor-harvest-ralplan.mdc.agents/rules/gpt-pro.mdc.agents/AGENTS.md.agents/rules/ralph.mdc.agents/skills/ralph/docs/plans/templates/slate-plan.mdpnpm installBlocked condition:
ralph exposes a real active workflow owner that cannot
be safely rewritten to goal-backed plan-skill execution.Completion rule:
update_goal(status: complete) while any required checklist item
remains unchecked. If an item does not apply, check it and add N/A: <reason>.update_goal(status: complete) until the named verification
evidence is recorded below and
node .agents/rules/goal/scripts/check-complete.mjs docs/plans/2026-05-24-cut-ralph-merge-execution-into-plan-skills.md passes.active goal state for this goal. This
file plus the active goal are the durable state.Required checklist:
get_goal checked; create_goal called only when no active goal existed,
or the active matching goal was recorded.learnings-researcher / docs/solutions checked, or marked N/A with
reason.docs/plans goal plan created before substantive edits.check run before PR create/update, or marked N/A with reason. N/A: no PR.node .agents/rules/goal/scripts/check-complete.mjs docs/plans/2026-05-24-cut-ralph-merge-execution-into-plan-skills.md
passes after final evidence is recorded.ce-compound evaluated after non-trivial verified work. N/A: the reusable
lesson is encoded directly in goal, slate-plan, plate-plan, and the
active template; no separate solution note needed.Phase / pass table:
| Phase | Status | Evidence | Next |
|---|---|---|---|
| Intake and source read | complete | read goal, slate-plan, ralph, plate-plan, editor-harvest, docs/solutions, memory | patch workflow |
| Implementation | complete | deleted ralph; folded two-phase execution contract into plan skills; removed old hook-state bridge | verification |
| Verification | complete | pnpm install, stale-name searches, two-phase contract searches, and pnpm lint:fix passed | closeout |
| Closeout | complete | final evidence recorded | run goal checker |
Findings:
ralph mostly exists to write .tmp continuation/completion state and start
execution. Goal-native plans no longer need that extra state machine.done until evidence.slate-plan hard-stops implementation and tells the user to invoke
ralph; that should become "invoke slate-plan again after accepting the
plan".plate-plan and editor-harvest-ralplan still carried the old .tmp
completion/continue bridge; those are now replaced by active-goal plus
docs/plans ledger state.Decisions and tradeoffs:
ralph.Error attempts:
| Error / failed attempt | Count | Next different move | Resolution |
|---|---|---|---|
rg text-check with double quotes tried command substitution for backticked slate-plan | 1 | rerun with single-quoted pattern | safe rerun passed |
negative rg -n "ralph|Ralph" ... exited 1 | 1 | treat as no stale matches | expected success condition |
External/browser findings:
Timeline:
ralph routing, added
Slate Plan planning/execution modes, updated Plate/editor-harvest handoffs,
and deleted ralph source/generated files..tmp completion/continue bridge from
Plate Plan and editor-harvest rules.pnpm install; Skiller apply completed successfully.pnpm lint:fix.Verification evidence:
pnpm install -> passed; Skiller apply completed successfully.test ! -e .agents/rules/ralph.mdc && test ! -e .agents/skills/ralph -> passed.rg -n 'ralph|Ralph' .agents AGENTS.md docs/plans/templates -S -> no matches; exit code 1 is expected for a negative search.rg -n 'Execution mode starts|User Review And Execution Mode|accepted-plan execution|invoke \slate-plan` again|new goal|Do not create hook state' ...` -> expected source/generated/template references present.rg -n 'completion file|completion state|completion-check|continue\\.md|Continuation prompt|\\.tmp/<id>|\\.tmp/\\*\\*/completion-check' .agents/rules/slate-plan.mdc .agents/rules/plate-plan.mdc .agents/rules/editor-harvest-ralplan.mdc .agents/skills/slate-plan/SKILL.md .agents/skills/plate-plan/SKILL.md .agents/skills/editor-harvest-ralplan/SKILL.md docs/plans/templates/slate-plan.md -S -> only explicit "do not create hook state" rows remain; no active completion-file bridge.pnpm lint:fix -> passed; Biome checked 3423 files, no fixes applied.node .agents/rules/goal/scripts/check-complete.mjs docs/plans/2026-05-24-cut-ralph-merge-execution-into-plan-skills.md -> passed.Reboot status:
| Question | Answer |
|---|---|
| Where am I? | Closeout |
| Where am I going? | Run goal checker and close goal |
| What is the goal? | Cut ralph; make plan skills own accepted-plan execution on second invocation |
| What have I learned? | See Findings |
| What have I done? | Deleted ralph, updated source/generated plan skills, removed old hook-state bridge, verified checks |
Open risks:
docs/plans/** and memory may still mention ralph; active
source/generated agent surfaces are clean.