"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.modularMonolithRulePack = void 0;
exports.modularMonolithRulePack = {
    id: 'modular-monolith',
    title: 'Modular Monolith Governance',
    description: 'Strict modular boundaries with contract and dependency enforcement for modular monolith projects.',
    architectureStyle: 'modular_monolith',
    validationConfig: {
        rules: {
            'AP-ARCH-001': { enabled: true, severity: 'error' },
            'AP-ARCH-004': { enabled: true, severity: 'warning' },
            'AP-ARCH-006': { enabled: true, severity: 'error' },
            'AP-ARCH-008': { enabled: true, severity: 'error' },
            'AP-DEP-001': { enabled: true, severity: 'error' },
            'AP-DEP-002': { enabled: true, severity: 'error' },
            'AP-DEP-003': { enabled: true, severity: 'error' },
            'AP-DEP-004': { enabled: true, severity: 'error' },
            'AP-DEP-005': { enabled: true, severity: 'error' },
            'AP-DEP-006': { enabled: true, severity: 'warning' },
            'AP-DEP-008': { enabled: true, severity: 'error' },
            'AP-DEP-009': { enabled: true, severity: 'warning' },
            'AP-DEP-010': { enabled: false, severity: 'info' },
        },
    },
    dependencyRulesTemplate: {
        modules: {},
    },
    recommendedAdrs: [
        'Tenant model and data isolation strategy',
        'Public entrypoint and module boundary policy',
        'Cross-module dependency governance',
        'Module contract enforcement strategy',
    ],
    recommendedNotes: [
        'Keep cross-module imports limited to declared public entrypoints.',
        'Keep module contracts aligned with architecture registry.',
        'Prefer explicit dependency declarations over implicit cross-module coupling.',
    ],
};
//# sourceMappingURL=modularMonolithRulePack.js.map