/** * v2.11.0 — Group E (Tier 8) migration service. * * Scans pre-v2.11.0 sessions for `rd/tech-doc.md` files and tags each * with a deprecation banner (Karpathy §3 surgical: text-only, no file * moves). Idempotent: re-running produces no diff on a previously- * migrated repo. * * === Why text-only (no move / no prune) === * * v2.11.0 introduces the immutable peaks-prd handoff at * `.peaks/_runtime//prd/handoff.md` as the source of truth. The * old `rd/tech-doc.md` is no longer required by any CLI gate, but the * historical content still has audit value. Removing it silently would * lose the diff; renaming would orphan any external reference (e.g., * commit messages, blog posts). The least-risky path is: tag in place * with a banner; let the user decide when/whether to prune in a future * slice. * * === Banner shape (locked) === * * The banner is prepended (NOT wrapped) — keeps existing body intact, * Git blame still works for the original content lines. * * === Source: peaks-rd/references/writing-handoff-frontmatter.md §"v2.11.0" === */ import { type MigrationEntry, type MigrationPlan, type MigrationResult, type MigrationReason } from './v2-10-to-v2-11-types.js'; export declare function enumerateTechDocs(projectRoot: string): ReadonlyArray<{ readonly sessionId: string; readonly filePath: string; }>; export declare function planV2ToV11Migration(projectRoot: string): MigrationPlan; export declare function applyV2ToV11Migration(plan: MigrationPlan): MigrationResult; export interface DryRunResult { readonly plan: MigrationPlan; readonly applied: false; readonly writtenCount: 0; readonly errors: ReadonlyArray<{ readonly path: string; readonly message: string; }>; } export declare function dryRunV2ToV11Migration(projectRoot: string): DryRunResult; export type { MigrationEntry, MigrationPlan, MigrationReason, MigrationResult };