/** * Durable Mission Graph — dependency-aware scheduler (2.0.0). * * Computes deterministic parallel scheduling waves from the dependency graph, * enforces a parallelism bound, serializes repository write conflicts, and * respects mission/objective budgets. Pure and deterministic. */ import type { MissionBudget, MissionGraphDocumentV1, ObjectiveStatus, SchedulePlan } from "./types.js"; export interface ScheduleInput { /** Current objective statuses by id. */ status: Map; /** Parallelism bound (max objectives per wave). */ parallelismBound: number; /** Mission-wide budget if any. */ budget?: MissionBudget; /** Enforce budget as hard gate on scheduling. */ enforceBudget?: boolean; } export declare const TERMINAL_STATUSES: ReadonlySet; export declare const UNSCHEDULABLE_STATUSES: ReadonlySet; /** * Build a deterministic schedule plan. * * Returns waves of objectives that are dependency-ready and parallel-safe. * Write-conflict groups (objectives mutating the same repository) are * serialized so they never run in the same wave. */ export declare function buildSchedulePlan(mission: Pick, input: ScheduleInput): SchedulePlan; /** * Determine whether an objective is ready to start given current statuses. * A dependency counts as satisfied only when its objective is COMPLETED. */ export declare function isObjectiveReady(mission: Pick, objectiveId: string, status: Map): boolean; export declare function budgetViolations(objectives: Pick["objectives"], missionBudget?: MissionBudget, enforceMission?: boolean): string[]; //# sourceMappingURL=scheduler.d.ts.map