"use strict";
/**
 * W3: Pack version migration manifest.
 *
 * Declarative list of pack version transitions with deprecation dates and
 * breaking-change notes. Loaded at boot by MigrationManifest.applyBootChecks().
 *
 * Rules:
 *   - Deprecated pack versions remain enforceable for a minimum of 180 days.
 *   - Boot-warning at 90 days before deprecation date.
 *   - Hard-refuse (GovernanceMigrationError) at the declared deprecation date.
 *
 * Adding a new deprecation entry:
 *   1. Set deprecationDate to at least 180 days from the current date.
 *   2. Document breakingChangeNotes so operators know what to fix.
 *   3. Set upgradeTo to the recommended successor version.
 *
 * @connexum/ai-governance
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.defaultMigrationManifest = void 0;
exports.buildMigrationManifest = buildMigrationManifest;
const index_1 = require("./index");
/**
 * All known pack deprecation entries.
 * Currently empty -- all packs are at v1.0.0 and none are deprecated yet.
 *
 * This manifest is intentionally forward-looking: entries will be added
 * when specific pack versions are superseded by newer ones that contain
 * breaking changes to classifiers, categories, or validator contracts.
 *
 * Example entry (DO NOT uncomment -- this is illustrative only):
 *
 * {
 *   packId: 'hipaa',
 *   deprecatedVersion: '1.0.0',
 *   deprecationDate: '2027-01-01',
 *   upgradeTo: '1.1.0',
 *   breakingChangeNotes:
 *     'HIPAA 2025 NPRM finalised: mandatory encryption at rest; ' +
 *     'categoryClassifiers updated for MFA patterns.',
 * },
 */
const ENTRIES = [
// No deprecated versions yet. Entries will be added as packs evolve.
];
/**
 * The default migration manifest instance.
 * Loaded at boot by the governance server via applyBootChecks().
 */
exports.defaultMigrationManifest = new index_1.MigrationManifest(ENTRIES);
/**
 * Build a migration manifest with custom entries and/or clock override.
 * Used in tests to inject a test clock (nowFn) and synthetic entries.
 */
function buildMigrationManifest(entries, nowFn) {
    return new index_1.MigrationManifest(entries, nowFn);
}
//# sourceMappingURL=migration-manifest.js.map