/**
 * LifecyclePhase — the task-record lifecycle vocabulary (C28 D-01, extended by C56 B5).
 *
 * NOT to be confused with:
 * - Roadmap `phase` — a node under a milestone in `.aperant/roadmap/{scope}/milestones.json`.
 * - Workflow `phase` — a named step inside an `apt-tools workflow` graph.
 *
 * This type is the ONLY authoritative vocabulary for `task.lifecycle_phase`.
 * Free-form strings are disallowed — every writer must import and type against
 * this union so rename-sweeps stay complete.
 *
 * `shipped-pending-merge` (C56 B5) slots between `reviewing` and `completed`.
 *
 *   - `apt:ship` flips a task INTO `shipped-pending-merge` after opening the PR
 *     (Step 8). The task stays in `active_tasks` — it is not closed yet.
 *   - `/apt:close-task` (and `apt-tools task close-merged`) flips OUT of
 *     `shipped-pending-merge` into `completed` once `gh pr view` confirms the
 *     PR state is `MERGED`.
 *   - Additive enum: readers that never saw this value still accept it as a
 *     string (isLifecyclePhase returns true); no pre-C56 writer emits it.
 */
export type LifecyclePhase = 'planning' | 'executing' | 'verifying' | 'reviewing' | 'shipped-pending-merge' | 'completed';
export declare const LIFECYCLE_PHASES: readonly LifecyclePhase[];
export declare function isLifecyclePhase(value: unknown): value is LifecyclePhase;
//# sourceMappingURL=lifecycle.d.ts.map