Skip to content

v0.8.0

Latest

Choose a tag to compare

@rajkumar42 rajkumar42 released this 11 Jun 00:09
· 2 commits to main since this release

What's New

Breaking: plans must end with an explicit return statement

Plans now specify their result via an explicit return <expr> instead of the implicit "last assigned variable is the result" convention. This is consistent across all three blueprints (PlanExecute, DesignExecute, GoalSeeking).

# Before — implicit last-variable-as-result
result = add(a, b)

# Now — explicit return
result = add(a, b)
return result
  • PlanExecute: validation requires the plan to end with a return; the return is its own execution step (step counts increase by one) and ExecutionResult.value_name is now "".
  • DesignExecute: validation requires a return anywhere (top-level or nested for early returns); value_name is "return" when a return fires.
  • GoalSeeking: inherits the above; step-plan prompts updated accordingly.
  • Prompts for all blueprints updated to instruct ending with return.

Migration: append return <result> to any hand-written plans. Plans without a return statement are now rejected by validation.

Fixes & maintenance

  • Add retry logic with exponential backoff to all LLM providers
  • Simplify the PyPI readme

Full Changelog: v0.7.0...v0.8.0