Skip to content

Conversation

@cloud-on-prem
Copy link
Contributor

@cloud-on-prem cloud-on-prem commented Jul 17, 2025

Context

Introduces a retry mechanism to the Goose Recipes, enabling automated validation and recovery during session execution. The changes include adding a RetryConfig structure, integrating retry logic into session and agent management, and updating related tests and configurations.

How to test manually

  1. Create a test recipe.
version: "1.0.0"
title: "Counter Increment Task"
description: "Increment a counter until it reaches target value"
prompt: "Increment the counter value in /tmp/counter.txt by 1."

retry:
  max_retries: 5
  timeout_seconds: 10
  checks:
    - type: shell
      command: "test $(cat /tmp/counter.txt 2>/dev/null || echo 0) -ge 3"
  on_failure: "echo 'Counter is at:' $(cat /tmp/counter.txt 2>/dev/null || echo 0) '(need 3 to succeed)'"
  1. Run it ./target/debug/goose run --recipe ../scratch/recipe-with-retry.yaml

@cloud-on-prem cloud-on-prem force-pushed the prem/recipes/success-criteria branch from 7da54c3 to 8f69a63 Compare July 17, 2025 04:36
@github-actions
Copy link
Contributor

github-actions bot commented Jul 17, 2025

PR Preview Action v1.6.0
Preview removed because the pull request was closed.
2025-07-22 00:49 UTC

@cloud-on-prem cloud-on-prem marked this pull request as ready for review July 17, 2025 04:53
@cloud-on-prem cloud-on-prem force-pushed the prem/recipes/success-criteria branch from 8f69a63 to 02ec0da Compare July 17, 2025 05:00
Copy link
Contributor

@jsibbison-square jsibbison-square left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some issues to explore but overall looks good

@cloud-on-prem cloud-on-prem force-pushed the prem/recipes/success-criteria branch 2 times, most recently from e71eacc to 55bfa47 Compare July 18, 2025 10:41
@cloud-on-prem cloud-on-prem force-pushed the prem/recipes/success-criteria branch from 55bfa47 to 794c94b Compare July 21, 2025 04:51
@cloud-on-prem cloud-on-prem force-pushed the prem/recipes/success-criteria branch from 3eaa963 to e75874f Compare July 21, 2025 10:04
@cloud-on-prem cloud-on-prem merged commit 99cc0a9 into main Jul 22, 2025
9 checks passed
@cloud-on-prem cloud-on-prem deleted the prem/recipes/success-criteria branch July 22, 2025 00:49
lifeizhou-ap added a commit that referenced this pull request Jul 22, 2025
* main: (32 commits)
  fix: use sequential when sub recipe task is 1. (#3573)
  fix: track message id to keep like with like (#3572)
  Replace mcp_core::prompt with rmcp::model types (#3561)
  feat (ui): close recipe modals with esc key (#3568)
  feat: recipes can retry with success criteria (#3474)
  Env var to set Ollama request timeout (#3516)
  Updating docs to match new UI (#3552)
  Improve Claude Code provider error message for missing CLI (#3363)
  feat: Work around Gemini API tool call quirks (#3328)
  feat(ui): Source CashSans-Bold and improve overall text rendering (#3091)
  refactor: Use openapi for recipe endpoint types and in frontend (#3548)
  Fix Google Analytics error for local dev (#3544)
  Extension Library Improvements (#3541)
  fix(ui): enable selection of zero-config providers in desktop GUI (#3378)
  refactor: Renames recipe route to recipes to be consistent (#3540)
  Blog: Orchestrating 6 Subagents to Build a Collaborative API Playground (#3528)
  Catch json errors a little better (#3437)
  Rust debug (#3510)
  refactor: Centralise deeplink encode and decode into server (#3489)
  feat: deprecate jetbrains extension in favor of public one (#2589)
  ...
michaelneale added a commit that referenced this pull request Jul 22, 2025
* main:
  fix: use sequential when sub recipe task is 1. (#3573)
  fix: track message id to keep like with like (#3572)
  Replace mcp_core::prompt with rmcp::model types (#3561)
  feat (ui): close recipe modals with esc key (#3568)
  feat: recipes can retry with success criteria (#3474)
  Env var to set Ollama request timeout (#3516)
  Updating docs to match new UI (#3552)
  Improve Claude Code provider error message for missing CLI (#3363)
  feat: Work around Gemini API tool call quirks (#3328)
  feat(ui): Source CashSans-Bold and improve overall text rendering (#3091)
  refactor: Use openapi for recipe endpoint types and in frontend (#3548)
  Fix Google Analytics error for local dev (#3544)
@michaelneale
Copy link
Collaborator

I can't run just run-ui for this:


:fire: Unexpected error occurred. Log saved to /Users/micn/Development/goose/ui/desktop/openapi-ts-error-1753165522594.log
:fire: Unexpected error occurred. Missing $ref pointer "#/components/schemas/RetryConfig". Token "RetryConfig" does not exist.

zanesq added a commit that referenced this pull request Jul 22, 2025
…ters

* 'main' of github.com:block/goose:
  Add recipe install warning (#3537)
  Replace mcp_core::resource::* with rmcp types (#3563)
  Add YouTube video embed to using-goosehints.md (#3560)
  fix: ensure retry-config and success-criteria are populated in openapi spec (#3575)
  fix: use sequential when sub recipe task is 1. (#3573)
  fix: track message id to keep like with like (#3572)
  Replace mcp_core::prompt with rmcp::model types (#3561)
  feat (ui): close recipe modals with esc key (#3568)
  feat: recipes can retry with success criteria (#3474)
  Env var to set Ollama request timeout (#3516)
zanesq added a commit that referenced this pull request Jul 22, 2025
…zane/recipe-parameters

* 'zane/recipe-parameters' of github.com:block/goose:
  Add recipe install warning (#3537)
  Replace mcp_core::resource::* with rmcp types (#3563)
  Add YouTube video embed to using-goosehints.md (#3560)
  fix: ensure retry-config and success-criteria are populated in openapi spec (#3575)
  fix: use sequential when sub recipe task is 1. (#3573)
  fix: track message id to keep like with like (#3572)
  Replace mcp_core::prompt with rmcp::model types (#3561)
  feat (ui): close recipe modals with esc key (#3568)
  feat: recipes can retry with success criteria (#3474)
  Env var to set Ollama request timeout (#3516)
katzdave added a commit that referenced this pull request Jul 22, 2025
* 'main' of github.com:block/goose: (23 commits)
  fix: add fallback id to messages if none provided (#3584)
  feat: migrate ErrorData from internal mcp crates to rmcp version (#3586)
  fix: adjust subrecipe description to allow running tests (#3585)
  Scenario tests (#3430)
  feat: migrate JsonRpcMessage/Request/Response/Error/Notification from internal mcp crates to rmcp versions (#3564)
  Restore recipe parameters functionality (#3530)
  feat: Enhanced loading states with thinking icons and flying bird animation (#3478)
  Agent loop defensive (#3554)
  chore: remove needless clone() in goose/providers (#2528)
  Add recipe install warning (#3537)
  Replace mcp_core::resource::* with rmcp types (#3563)
  Add YouTube video embed to using-goosehints.md (#3560)
  fix: ensure retry-config and success-criteria are populated in openapi spec (#3575)
  fix: use sequential when sub recipe task is 1. (#3573)
  fix: track message id to keep like with like (#3572)
  Replace mcp_core::prompt with rmcp::model types (#3561)
  feat (ui): close recipe modals with esc key (#3568)
  feat: recipes can retry with success criteria (#3474)
  Env var to set Ollama request timeout (#3516)
  Updating docs to match new UI (#3552)
  ...
atarantino pushed a commit to atarantino/goose that referenced this pull request Aug 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants