api: autoPause default is declared in the spec and in a Go constant with no test keeping them in sync
Les mainteneurs répondent en général sous 2 jours
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 84/100
- Type d'issue
- Fonctionnalité
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- go, openapi
- Domaine
- backend-api-design, testing
Piste de recherche
Commencez par packages/api/internal/api/spec_test.go et les tests de contrat existants mentionnés dans l’issue. Lisez les schémas NewSandbox et NewSandboxV2 dans spec/openapi.yml, puis localisez sandboxtypes.AutoPauseDefault et son utilisation dans sandbox_create.go. Le travail est terminé lorsqu’un test échoue si l’une des valeurs par défaut de la spec diffère de la constante Go et réussit lorsqu’elles correspondent.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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).
- Langage dominant
- Go
- Étoiles
- 1.8k
- Forks
- 503
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de e2b-dev/runtime
-
orchestrator: NFS-cache "cache path is not set" WARN logged on every build/launch instead of oncePeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 2 jours
-
client-proxy: WARN "invalid host" spam from unroutable bare-IP Host requests (external probes)Peut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 2 jours
-
[Bug]: flock() on a mounted volume hangs forever (mount is missing `nolock`)Peut-être pris @AdaAibaby l’a pris il y a 57 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
Les mainteneurs répondent en général sous 2 jours
-
sandbox cache: StartRemoving state transition not broadcast, all allocations see stale Running statePeut-être à nouveau libre Une pull request pour cette issue a été fermée sans être fusionnée. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
Les mainteneurs répondent en général sous 2 jours
Toutes les issues de e2b-dev/runtime
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 80/100
rishikanthc/Scriberr#506 ·
-
[Bug] rollingUpdatePartition panics when live StatefulSet replicas sit far below the desired countOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
sgl-project/rbg#547 ·
Les mainteneurs répondent en général sous 1 jour
-
area: frontend priority: normal
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
area/validator
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
TestAutonomousStop_ReportsObservedState fails under host load: 1s wall-clock ceiling vs 250ms cycleOuvertetype:bug
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
nightgauge/nightgauge#2909 ·
Les mainteneurs répondent en général sous 1 jour