export declare const UPGRADE_FIXTURE_PLAN_MARKER = "omx-upgrade-fixture-plan-v0.20"; export declare const UPGRADE_FIXTURE_SPEC_MARKER = "omx-upgrade-fixture-spec-v0.20"; export declare const UPGRADE_FIXTURE_CONTEXT_MARKER = "omx-upgrade-fixture-context-v0.20"; export type UpgradeInstallMode = "legacy" | "plugin"; export interface UpgradeFixtureSeed { root: string; planPath: string; specPath: string; contextPath: string; statePaths: string[]; planContent: string; specContent: string; contextContent: string; } export interface UpgradeNeutralizeResult { ran: boolean; touched: string[]; skipped: number; } export interface UpgradeFixtureResult { mode: UpgradeInstallMode; root: string; codexHomeDir: string; plansPreserved: boolean; hooksReregistered: boolean; pluginRootsVersioned: boolean; /** True when the upgrade did not rewrite or terminalize any authoritative projection. */ stateProjectionsPreservedVerbatim: boolean; neutralize: UpgradeNeutralizeResult; pluginCacheDir?: string; } /** * Seed a 0.20.x-shaped tree using C7's `{mode}-state.json` projection names. */ export declare function seed020xUpgradeFixture(root: string): Promise; /** * Retire stale 0.20.x projections through the explicit `omx doctor --repair-state` archive path. * * The automatic launch-time neutralizer was removed: it rewrote projections in place with no * version or provenance check, so it could terminalize a valid CURRENT active run on first launch. * Upgrading is now an explicit operator action that archives under `.omx/archive/` instead of * mutating state, and the current session scope is preserved rather than neutralized. */ export declare function neutralizeStale020xState(root: string): Promise; /** * C8-shaped plugin root assertion: cache materializes under a versioned path. */ export declare function assertVersionedPluginRoots(options: { codexHomeDir: string; packageRoot?: string; previousVersion?: string; previousMustRemain?: boolean; }): Promise<{ ok: boolean; currentCacheDir?: string; message: string; }>; export declare function run020To021UpgradeFixture(options: { mode: UpgradeInstallMode; packageRoot?: string; retainPreviousPluginRoot?: boolean; }): Promise; export declare function cleanupUpgradeFixtureRoot(root: string): Promise; //# sourceMappingURL=upgrade-from-0-20.d.ts.map