Aller au contenu
English

SpeculativeCandidateResult

import type { SpeculativeCandidateResult } from "@elie-laloum/outpost";
  • keyRequis
    string
    Clé du candidat.
  • commitOptionnel
    string | undefined
    HEAD du candidat lu après le retour de validate, commits de validation compris. checkSpeculationIntegration() bloque si la branche bouge ensuite.
  • attemptOptionnel
    number | undefined
    Numéro de tentative à partir de un ; un rejeu utilise une nouvelle branche et consomme une tentative supplémentaire du budget partagé.
  • cleanupOptionnel
    "done" | "pending" | undefined
    done une fois la sandbox fermée ; pending si la fermeture a échoué ou dépassé cleanupMs. Une course durable reste alors possédée, et son appel suivant arrête d’abord la ressource.
  • resourceIdOptionnel
    string | undefined
    Ressource enregistrée par le provider avant l’allocation de la sandbox, par exemple un nom de conteneur ; courses durables uniquement. L’appel suivant s’en sert pour arrêter une sandbox orpheline.
  • branchRequis
    string
    Branche du candidat : outpost/speculation/<id>/<key>, ou …/<key>/<attempt> dans une course durable. Elle reste dans le dépôt.
  • statusRequis
    "failed" | "quota" | "cancelled" | "rejected" | "skipped" | "winner"
    winner ; rejected si validate a renvoyé false ou qu’un autre candidat a gagné avant ; failed si l’allocation, l’agent, validate ou le nettoyage a levé une erreur ; quota ; cancelled par un gagnant, une limite de tokens, votre signal ou un plantage ; skipped s’il n’a jamais démarré.
  • quotaOptionnel
    QuotaFault | undefined
    Limite d’usage ou de débit ayant arrêté ce candidat ; la reprise durable relance ces candidats en nouvelles tentatives depuis la baseline.
  • directoryOptionnel
    string | undefined
    Répertoire du worktree du candidat sur l’hôte.
  • retainedDirectoryOptionnel
    string | undefined
    Worktree conservé après la fermeture de la sandbox : sale ou détaché, en échec, avec un nettoyage en attente, ou dans une course durable.
  • resultOptionnel
    SpeculativeOutput<T> | undefined
    Sortie de dispatch, quand le dispatch du candidat s’est terminé.
  • errorOptionnel
    unknown
    Échec de l’allocation, du dispatch, de validate ou du nettoyage ; un message texte dans un enregistrement durable restauré.
export interface SpeculativeCandidateResult<T = undefined> {
  readonly key: string;
  readonly commit?: string;
  readonly attempt?: number;
  readonly cleanup?: "pending" | "done";
  readonly resourceId?: string;
  readonly branch: string;
  readonly status:
    "winner" | "rejected" | "failed" | "quota" | "cancelled" | "skipped";
  /** Usage or rate limit that stopped this candidate. */
  readonly quota?: QuotaFault;
  readonly directory?: string;
  readonly retainedDirectory?: string;
  readonly result?: SpeculativeOutput<T>;
  readonly error?: unknown;
}