/** * Tasks gate criterion (FR3): computed live at the command layer after * `evaluateGate`, following the traceability precedent — it evaluates even * when phase state is `complete` (AC-11) and never touches `evaluateGate`'s * contract. * * Applicability tri-state (DD7): * null phase ≠ implementation, phase-implementation.yaml * absent (AC-30), or opt-in with no task-shaped * lines / missing file (AC-6) * result, empty entries only near-misses — warnings surface (AC-5), or * the required-scope backstops fired (AC-17, AC-28) * result with entries ≥1 valid task — full evaluation * * Bare AC refs resolve to the owning instance (DD8): a tasks file lives in * one instance's state dir, so its bare `AC-n` means this instance's AC-n — * traceability's cross-instance uniqueness rule (for free-floating test * files) does not transfer. * * Requirements: task-breakdown/AC-6, AC-11..AC-17, AC-28, AC-30 */ import type { WorkflowTemplate } from '../core/types.js'; import type { TasksResult } from './types.js'; /** Message template for open tasks (DD6). */ export declare function openTaskMessage(id: number, title: string): string; /** Message template for malformed deferrals (AC-2, DD6). */ export declare function malformedDeferralMessage(id: number): string; /** Message for the missing/empty required-scope backstops (AC-17, AC-28). */ export declare function missingTasksMessage(kind: 'file' | 'empty'): string; /** * Evaluate the tasks criterion for one instance. * * @param template - Resolved template; null degrades to opt-in semantics * with a warning (defensive — both CLI call sites early-exit before this * on resolution failure). * @returns null when the criterion does not evaluate (AC-6, AC-30); * otherwise a result whose `openTasks`/`malformed`/`missing` the caller * turns into unsatisfied criteria / gate violations via the message * helpers above. */ export declare function evaluateTasksCriterion(projectRoot: string, instanceName: string, phaseName: string, template: WorkflowTemplate | null): TasksResult | null; //# sourceMappingURL=gate-criterion.d.ts.map