id = "freestyle_planning" start = "analyst" # analyst is read-only, so it gets only the read-only task tools: task_search to find related # or duplicate work and task_context to ground the analysis in an existing task. [[stages]] id = "analyst" prompt = "prompts/analyst_freestyle.md" produces = [{ name = "analysis", kind = "analysis" }] allowed_tools = ["file_read", "ShellTool", "task_search", "task_context"] token_budget = 16384 max_retries = 2 [[stages]] id = "architect" requires_approval = true inject_artifact_kinds = true prompt = "prompts/architect_freestyle.md" needs = ["analysis"] produces = [{ name = "execution_plan", kind = "execution_plan" }] token_budget = 16384 max_retries = 2 [[transitions]] id = "analyst-to-architect" from = "analyst" to = "architect" condition_type = "artifact_validated" condition_artifact_id = "analysis" [[transitions]] id = "architect-to-done" from = "architect" to = "done" condition_type = "artifact_validated" condition_artifact_id = "execution_plan"