Skip to content
Français

SpeculationIntegration

import type { SpeculationIntegration } from "@elie-laloum/outpost";
  • statusRequired
    "conflict" | "clean" | "blocked"
    clean when the commits merge without conflict, conflict with the paths in conflicts, blocked with a reason. Nothing is merged.
  • hostRequired
    SpeculativeHostSnapshot
    Host snapshot taken at the start of the check; its head is the commit tested.
  • candidateCommitOptional
    string | undefined
    Candidate commit tested against host.head; absent when blocked.
  • conflictsRequired
    readonly string[]
    Conflicting paths reported by git merge-tree; empty unless status is conflict.
  • reasonOptional
    string | undefined
    Why the check is blocked: uncommitted changes, detached HEAD, a moved branch, a repository that changed during the check, or a Git failure such as a version without merge-tree —write-tree.
export interface SpeculationIntegration {
  readonly status: "clean" | "conflict" | "blocked";
  readonly host: SpeculativeHostSnapshot;
  readonly candidateCommit?: string;
  readonly conflicts: readonly string[];
  readonly reason?: string;
}