Allow configurable continuation limits when max_iterations is reached
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 40/100
Línea de trabajo
The hardcoded newMax := iteration + 10 is in pkg/runtime/loop_steps.go, and the resume request type is in pkg/api/types.go. Start by reading how the iteration limit is raised when continuation is approved, then see how the resume request reaches that code. Done means optional resume parameters choose a custom extension or no limit for the current run only, while requests without them keep the +10 behavior. The issue leaves the parameter names and semantics open, so confirm the design with maintainers first.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Description
Allow configurable continuation limits when max_iterations is reached
Version: Docker Agent v1.149.0
Usage: docker agent serve api with a custom web frontend
Problem
When an agent reaches max_iterations, approving continuation always grants exactly 10 additional iterations, regardless of the configured limit.
For example, with max_iterations: 500, the agent pauses after 500 iterations. Approving continuation raises the limit to 510, then 520, and so on. This requires frequent manual confirmation during legitimate long-running tasks, such as browser automation or multi-step coding work.
The initial limit is configurable, but the continuation increment is hardcoded:
newMax := iteration + 10
Source: [pkg/runtime/loop_steps.go](https://github.com/docker/docker-agent/blob/v1.149.0/pkg/runtime/loop_steps.go#L108-L115)
The [resume API request](https://github.com/docker/docker-agent/blob/v1.149.0/pkg/api/types.go#L176-L180) exposes no parameter for changing this behavior.
Steps to reproduce
- Configure an agent with
max_iterations: 500. - Run a task that reaches the limit.
- Approve continuation through the session resume API.
- Observe that the agent can execute only 10 additional iterations before requesting confirmation again.
Proposed behavior
Allow the user to choose between:
- Continue for N additional iterations, with the original configured limit as a sensible default.
- Continue without an iteration limit for the current run.
Ideally, expose this through optional parameters on the existing resume API so custom clients can offer these choices without repeatedly auto-approving 10-iteration extensions.
These choices should affect only the current run’s iteration budget. They should not change tool approval policies, future runs, or unrelated execution limits.
For backward compatibility, requests without the new parameters could retain the existing +10 behavior.
Why this matters
An iteration limit is a useful checkpoint. Once the user explicitly approves a longer continuation, a fixed increment of 10 creates unnecessary interruptions and makes the API difficult to use for long-running workflows.
Expected Behavior
No response
Actual Behavior
No response
Steps to Reproduce
No response
Docker Agent version
No response
OS & terminal
No response
Model used
No response
Error output
Screenshots
No response
Additional context
No response
- Lenguaje dominante
- Go
- Estrellas
- 4.4k
- Forks
- 508
- Merge medio
- 6 h 1 min
- PR fusionados (30 d)
- 271
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de docker/docker-agent
-
area/config area/providers/docker-model-runner
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
docker/docker-agent#4522 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
pkg/hooks tests fail with a misleading assertion when jq is not installedPosiblemente ocupada @dwin-gharibi la tomó hace 50 días. Abiertoarea/testing
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
docker/docker-agent#4052 ·
Los mantenedores suelen responder en 1 día
-
`remove_directory` and `create_directory` hide work they already did when a later path failsPosiblemente ocupada @dwin-gharibi la tomó hace 69 días. Abiertoarea/tools
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
docker/docker-agent#3933 ·
Los mantenedores suelen responder en 1 día
-
`edit_file` silently edits the first match when `oldText` occurs more than oncePosiblemente ocupada @dwin-gharibi la tomó hace 69 días. Abiertoarea/tools
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
docker/docker-agent#3929 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
OAuth DCR omits token_endpoint_auth_method, so token exchange fails on client_secret_basic serversAbiertoarea/mcp area/security
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
docker/docker-agent#4590 ·
Los mantenedores suelen responder en 1 día
Todos los issues de docker/docker-agent
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
praetorian-inc/augustus#334 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
TestTOMLBigFileParsesInLinearTime: a 1s wall-clock bound on a 3 MB parse fails under load (1.27s)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
peasant-labs/village#293 ·
Los mantenedores suelen responder en 1 día