bluecollar

Plan

Records the goal, its steps and the task's level, and settles which tools the model sees for each step.

plan is a kernel tool whose input is a goal, a list of steps with statuses, and a level. A level above the current one widens the budget to that level's profile; a plan never narrows it. Tasks at medium and above are expected to plan, and a state-changing call made before any plan exists gets one nudge to record one.

When the step marked in_progress changes, the loop asks the tool selector for the tools that step needs, capped at toolcontract.ToolNamesOnePlanStepIsExpectedToNeed (five). Every iteration inside one step then sends a byte-identical system instruction, tool catalog and unchanging context, which loop/step_tool_selection_test.go asserts.