api: autoPause default is declared in the spec and in a Go constant with no test keeping them in sync
Los mantenedores suelen responder en 2 días
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 84/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- go, openapi
- Área
- backend-api-design, testing
Línea de trabajo
Empieza con packages/api/internal/api/spec_test.go y las pruebas de contrato existentes mencionadas en la issue. Lee los esquemas NewSandbox y NewSandboxV2 en spec/openapi.yml y luego localiza sandboxtypes.AutoPauseDefault y su uso en sandbox_create.go. La tarea está lista cuando una prueba falla si alguno de los valores predeterminados de la spec difiere de la constante de Go y pasa cuando coinciden.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
The default timeout action for a sandbox (autoPause when omitted) is declared in two places in this repo with no test keeping them in sync:
- OpenAPI spec —
spec/openapi.yml,NewSandboxandNewSandboxV2both declareautoPause: { type: boolean, default: false }. This is documentation only: the generated Go type is*boolwithomitempty(api.gen.go), so the spec default is never applied at decode time. - Go constant —
sandboxtypes.AutoPauseDefault = false, which is whatsandbox_create.goactually applies viaDerefOrDefault(body.AutoPause, sandbox.AutoPauseDefault)when the request omitsautoPause.
The spec value is the one the SDKs read and document as the default (see e2b-dev/E2B #2057 — both SDKs hardcode "currently kill" against this). If the Go constant ever changes without the spec (or vice versa), the published contract silently lies about what an omitted autoPause does, and the SDKs' documented/validated default drifts from reality — with no signal.
Proposal
Add a contract test (mirroring the existing TestSpecSecuritySchemeHeaderNames / TestTemplateBuildMinimumFreeDiskContract pattern in packages/api/internal/api/spec_test.go) that asserts the spec's declared autoPause default on NewSandbox and NewSandboxV2 equals sandboxtypes.AutoPauseDefault. Makes the spec the single documented source of the default and fails CI on drift.
This is the infra-side half of the drift concern raised in e2b-dev/E2B #2057 (the SDK-side half — single-sourcing the SDK's local assumption — is handled there).
- Lenguaje dominante
- Go
- Estrellas
- 1.8k
- Forks
- 503
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la 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 e2b-dev/runtime
-
orchestrator: NFS-cache "cache path is not set" WARN logged on every build/launch instead of oncePosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 2 días
-
client-proxy: WARN "invalid host" spam from unroutable bare-IP Host requests (external probes)Posiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 2 días
-
[Bug]: flock() on a mounted volume hangs forever (mount is missing `nolock`)Posiblemente ocupada @AdaAibaby la tomó hace 59 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 2 días
-
sandbox cache: StartRemoving state transition not broadcast, all allocations see stale Running stateQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
Los mantenedores suelen responder en 2 días
Todos los issues de e2b-dev/runtime
Issues similares
-
needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
cli/cli#14946 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
enhancement needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
valkey-io/valkey-operator#610 ·
Los mantenedores suelen responder en 3 días
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
-
WriterSetTimes: the UTIME_NOW check fails when the kernel uses its coarse clockPosiblemente ocupada @JakeChampion la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
JakeChampion/lang#14224 ·
Los mantenedores suelen responder en 1 día
-
docs(reference): pi stream-filter bullet says tool_execution_update passes through unchangedAbiertoagent-butler-finding bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
jordansmall/spindrift#6391 ·
Los mantenedores suelen responder en 1 día