UNPKG

adpa-enterprise-framework-automation

Version:

Modular, standards-compliant Node.js/TypeScript automation framework for enterprise requirements, project, and data management. Provides CLI and API for BABOK v3, PMBOK 7th Edition, and DMBOK 2.0 (in progress). Production-ready Express.js API with TypeSpe

242 lines 11.8 kB
/** * Document Validation Registry * * Centralized registry for document-specific validation rules and processors. * Each document type has its own validation context that determines which * PMBOK requirements are relevant and how they should be evaluated. * * @version 1.0.0 * @author Requirements Gathering Agent Team * @created June 2025 */ /** * Registry of document validation contexts * Each document type has a tailored validation approach */ export const DOCUMENT_VALIDATION_REGISTRY = { 'mission-vision-core-values': { documentType: 'mission-vision-core-values', category: 'strategic-statements', relevantPerformanceDomains: ['stakeholders'], // Only stakeholder alignment matters relevantPrinciples: ['value', 'leadership'], // Focus on value and leadership principles applicableQualityMetrics: ['specific', 'relevant'], // Should be specific and relevant to project relevantPerformanceMetrics: [], // No specific performance metrics needed relevantRiskManagement: [], // Risk management not relevant for mission/vision relevantStakeholderEngagement: ['stakeholder analysis'], // Should align with stakeholder needs relevantProjectLifecycle: [], // Lifecycle not relevant for mission/vision relevantResourceManagement: [], // Resource management not relevant relevantCommunication: [], // Communication methods not relevant relevantChangeManagement: [], // Change management not relevant relevantKnowledgeManagement: [], // Knowledge management not relevant relevantSustainability: ['long-term value'], // Should consider long-term sustainability relevantDigitalTransformation: [], // Digital transformation not relevant customValidationRules: ['alignment with project goals'], // Must align with project scoreWeight: 0.8, // Slightly less critical than project charter minimumScore: 60 }, 'project-charter': { documentType: 'project-charter', category: 'project-charter', relevantPerformanceDomains: ['stakeholders', 'planning', 'project work'], relevantPrinciples: ['stewardship', 'value', 'systems thinking', 'leadership'], applicableQualityMetrics: ['specific', 'measurable', 'achievable', 'relevant', 'time-bound'], relevantPerformanceMetrics: ['key performance indicators', 'performance baselines'], relevantRiskManagement: ['risk categories', 'risk thresholds'], relevantStakeholderEngagement: ['stakeholder analysis', 'communication requirements'], relevantProjectLifecycle: ['project phases', 'phase gates'], relevantResourceManagement: ['resource planning'], relevantCommunication: ['communication planning'], relevantChangeManagement: ['change control procedures'], relevantKnowledgeManagement: ['organizational process assets'], relevantSustainability: ['long-term value', 'economic sustainability'], relevantDigitalTransformation: [], customValidationRules: ['measurable objectives', 'project approval requirements'], scoreWeight: 1.0, // Highest priority document minimumScore: 80 }, 'stakeholder-register': { documentType: 'stakeholder-register', category: 'stakeholder-management', relevantPerformanceDomains: ['stakeholders'], relevantPrinciples: ['stakeholders', 'value', 'systems thinking'], applicableQualityMetrics: ['specific', 'measurable'], relevantPerformanceMetrics: [], relevantRiskManagement: [], relevantStakeholderEngagement: ['stakeholder analysis', 'power/influence grid', 'engagement assessment matrix'], relevantProjectLifecycle: [], relevantResourceManagement: [], relevantCommunication: ['communication requirements'], relevantChangeManagement: [], relevantKnowledgeManagement: [], relevantSustainability: [], relevantDigitalTransformation: [], customValidationRules: ['identification information', 'assessment information', 'stakeholder classification'], scoreWeight: 0.9, minimumScore: 70 }, 'stakeholder-engagement-plan': { documentType: 'stakeholder-engagement-plan', category: 'stakeholder-management', relevantPerformanceDomains: ['stakeholders', 'planning'], relevantPrinciples: ['stakeholders', 'leadership', 'tailoring'], applicableQualityMetrics: ['specific', 'measurable', 'achievable'], relevantPerformanceMetrics: [], relevantRiskManagement: [], relevantStakeholderEngagement: ['engagement strategies', 'communication methods', 'stakeholder management approach'], relevantProjectLifecycle: [], relevantResourceManagement: [], relevantCommunication: ['communication methods', 'communication frequency'], relevantChangeManagement: [], relevantKnowledgeManagement: [], relevantSustainability: [], relevantDigitalTransformation: [], customValidationRules: ['engagement strategies', 'communication requirements', 'stakeholder expectations'], scoreWeight: 0.8, minimumScore: 70 }, 'scope-management-plan': { documentType: 'scope-management-plan', category: 'management-plans', relevantPerformanceDomains: ['planning', 'project work'], relevantPrinciples: ['systems thinking', 'quality', 'tailoring'], applicableQualityMetrics: ['specific', 'measurable', 'achievable'], relevantPerformanceMetrics: ['control measures'], relevantRiskManagement: ['risk categories'], relevantStakeholderEngagement: [], relevantProjectLifecycle: ['project phases'], relevantResourceManagement: [], relevantCommunication: [], relevantChangeManagement: ['change control procedures', 'change impact assessment'], relevantKnowledgeManagement: ['lessons learned'], relevantSustainability: [], relevantDigitalTransformation: [], customValidationRules: ['scope definition', 'wbs development', 'scope verification', 'scope control'], scoreWeight: 0.9, minimumScore: 75 }, 'work-breakdown-structure': { documentType: 'work-breakdown-structure', category: 'planning-artifacts', relevantPerformanceDomains: ['planning', 'project work'], relevantPrinciples: ['systems thinking', 'quality'], applicableQualityMetrics: ['specific', 'measurable'], relevantPerformanceMetrics: [], relevantRiskManagement: [], relevantStakeholderEngagement: [], relevantProjectLifecycle: ['project phases'], relevantResourceManagement: ['resource planning'], relevantCommunication: [], relevantChangeManagement: [], relevantKnowledgeManagement: [], relevantSustainability: [], relevantDigitalTransformation: [], customValidationRules: ['work packages', 'deliverables', 'wbs dictionary'], scoreWeight: 0.8, minimumScore: 70 }, 'project-scope-statement': { documentType: 'project-scope-statement', category: 'scope-management', relevantPerformanceDomains: ['planning', 'project work'], relevantPrinciples: ['systems thinking', 'quality'], applicableQualityMetrics: ['specific', 'measurable', 'achievable'], relevantPerformanceMetrics: ['control measures'], relevantRiskManagement: ['risk categories'], relevantStakeholderEngagement: [], relevantProjectLifecycle: [], relevantResourceManagement: [], relevantCommunication: [], relevantChangeManagement: ['change control procedures'], relevantKnowledgeManagement: [], relevantSustainability: [], relevantDigitalTransformation: [], customValidationRules: ['product scope description', 'acceptance criteria', 'project deliverables'], scoreWeight: 0.9, minimumScore: 75 }, 'risk-management-plan': { documentType: 'risk-management-plan', category: 'management-plans', relevantPerformanceDomains: ['uncertainty', 'planning'], relevantPrinciples: ['risk', 'systems thinking', 'adaptability'], applicableQualityMetrics: ['specific', 'measurable'], relevantPerformanceMetrics: ['key performance indicators'], relevantRiskManagement: ['risk categories', 'risk breakdown structure', 'risk thresholds', 'risk tolerances', 'response strategies', 'contingency plans', 'risk monitoring'], relevantStakeholderEngagement: [], relevantProjectLifecycle: [], relevantResourceManagement: [], relevantCommunication: [], relevantChangeManagement: [], relevantKnowledgeManagement: ['lessons learned'], relevantSustainability: [], relevantDigitalTransformation: [], customValidationRules: ['risk methodology', 'risk categories', 'risk assessment'], scoreWeight: 0.9, minimumScore: 75 }, 'quality-management-plan': { documentType: 'quality-management-plan', category: 'management-plans', relevantPerformanceDomains: ['planning', 'project work'], relevantPrinciples: ['quality', 'systems thinking'], applicableQualityMetrics: ['specific', 'measurable', 'achievable'], relevantPerformanceMetrics: ['quality metrics', 'performance baselines', 'control measures'], relevantRiskManagement: [], relevantStakeholderEngagement: [], relevantProjectLifecycle: [], relevantResourceManagement: [], relevantCommunication: [], relevantChangeManagement: [], relevantKnowledgeManagement: ['best practices'], relevantSustainability: [], relevantDigitalTransformation: [], customValidationRules: ['quality standards', 'quality assurance', 'quality control'], scoreWeight: 0.8, minimumScore: 70 }, 'requirements-documentation': { documentType: 'requirements-documentation', category: 'management-plans', relevantPerformanceDomains: ['planning', 'stakeholders'], relevantPrinciples: ['systems thinking', 'quality'], applicableQualityMetrics: ['specific', 'measurable', 'achievable'], relevantPerformanceMetrics: [], relevantRiskManagement: [], relevantStakeholderEngagement: ['stakeholder analysis'], relevantProjectLifecycle: [], relevantResourceManagement: [], relevantCommunication: [], relevantChangeManagement: ['change control procedures'], relevantKnowledgeManagement: [], relevantSustainability: [], relevantDigitalTransformation: [], customValidationRules: ['functional requirements', 'non-functional requirements', 'acceptance criteria'], scoreWeight: 0.9, minimumScore: 75 } }; /** * Get validation context for a specific document type */ export function getValidationContext(documentType) { return DOCUMENT_VALIDATION_REGISTRY[documentType] || null; } /** * Get all registered document types */ export function getRegisteredDocumentTypes() { return Object.keys(DOCUMENT_VALIDATION_REGISTRY); } /** * Check if a document type is registered */ export function isDocumentTypeRegistered(documentType) { return documentType in DOCUMENT_VALIDATION_REGISTRY; } /** * Get documents by category */ export function getDocumentsByCategory(category) { return Object.values(DOCUMENT_VALIDATION_REGISTRY).filter(ctx => ctx.category === category); } //# sourceMappingURL=DocumentValidationRegistry.js.map