/** * ProgressTracker folds progress events into a LIVE markdown document — the * single source of truth for "where is the run?". It replaces the dead * progress.md skeleton the master-plan skill used to write but the engine never * updated. It also folds in per-stage HANDOFF NOTES (decisions, deferrals, * gotchas) so there is ONE artifact, not a separate handoff file that drifts. * * Pure (no I/O): the fs/Telegram adapters persist or post render() output. The * prior stage's handoff note is retrievable via handoffNote() so the next * stage's design step can receive it as an input. */ import type { ProgressEvent } from "../ports/progress.ts"; export declare class ProgressTracker { private readonly issue; private readonly stages; private total; private finalCommit?; private haltReason?; private complete; constructor(issue: string); apply(event: ProgressEvent): void; /** Attaches a handoff note (decisions/deferrals/gotchas) to a stage. */ setHandoffNote(stage: string, note: string): void; /** The handoff note for a stage, if one was recorded. */ handoffNote(stage: string): string | undefined; /** Renders the live tracker as markdown. */ render(): string; private upsert; }