/** * Materialize sprint contracts from a plan spec's feature list. * * Extracted verbatim from the runTsPipeline inline loop so that both the run * pipeline AND the standalone `plan` command (Sprint 2) share one source of * truth. Contract content is feature-derived; ids are deterministic and * zero-padded as `sprint--NN` so listContracts() lexical ordering * matches sprint execution order. * * These auto-generated contracts use placeholder precision fields; * a planner-authored contract (saved directly by the bober-planner * subagent) supersedes them with substantive nonGoals, stopConditions, * and definitionOfDone. * * The post-plan and post-sprint-contract audit checkpoints are pipeline * concerns and live in pipeline.ts — NOT here. This helper has zero * runWithAudit / appendHistory / checkpoint references. */ import type { BoberConfig } from "../config/schema.js"; import type { PlanSpec } from "../contracts/spec.js"; import type { SprintContract } from "../contracts/sprint-contract.js"; /** * Create and persist one SprintContract per feature in spec.features. * * Contract content is derived from feature fields. Ids are set to * `sprint--NN` (width-2 zero-padded) after construction so * listContracts() lexical sort equals sprint execution order. * * Returns the contracts array in feature / sprintNumber order so the caller * can pass it to the post-sprint-contract checkpoint and the sprint loop. */ export declare function materializeContracts(spec: PlanSpec, projectRoot: string, config: BoberConfig): Promise; //# sourceMappingURL=contract-materialization.d.ts.map