Specialized Agents Directory (23 Agents)
Overview
The platform uses a swarm of 23 specialized artificial intelligence agents built using the Pydantic AI framework (src/agents/). Each agent is configured with dependency injection (RunContext[GxpAgentDeps]), structured output validation models, and access to zero-trust hybrid retrieval tools.
Master Directory of 23 Specialized Agents
| # | Agent Class | Specialization | Governing Regulations | Primary Output Schema |
|---|---|---|---|---|
| 1 | RequirementsTraceabilityAgent | Traceability Engineer | GAMP 5, 21 CFR 11.10(a) | TraceabilityMatrixResponse |
| 2 | RiskAssessmentAgent | GAMP 5 & CSA Strategist | FDA CSA, GAMP 5, ISO 14971 | RiskAssessmentResponse |
| 3 | ValidationTestingAgent | Protocol Specialist | 21 CFR 11.10, Annex 11 Clause 4 | ValidationTestingResponse |
| 4 | DeviationRcaAgent | Quality Incident & RCA Lead | 21 CFR 211.192, ISO 13485:8.5.2 | DeviationRcaResponse |
| 5 | CapaChangeControlAgent | Continuous Improvement Lead | ISO 13485:8.5.2 / 8.5.3 | CapaChangeControlResponse |
| 6 | DataIntegrityAuditAgent | 21 CFR Part 11 Auditor | 21 CFR Part 11, ALCOA+ | DataIntegrityAuditResponse |
| 7 | PeriodicReviewAgent | Lifecycle Governance Lead | Annex 11 Clause 11, GAMP 5 | PeriodicReviewResponse |
| 8 | AssetManagementAgent | Equipment & Metrology Sentry | ISO 13485:7.5.1, GAMP 5 | AssetManagementResponse |
| 9 | CmmsMaintenanceAgent | Maintenance Governance Lead | 21 CFR 211.67, ISO 13485:6.3 | CmmsMaintenanceResponse |
| 10 | BatchRecordReviewAgent | Batch Release & RFT Sentry | 21 CFR 211.188, Annex 16 | BatchRecordReviewResponse |
| 11 | OosInvestigationAgent | QC Analytical OOS Lead | FDA OOS Guidance, ISO 17025 | OosInvestigationResponse |
| 12 | GxpTrainingCompetencyAgent | Curriculum & Training Sentry | 21 CFR 211.25, Annex 11 Clause 2 | GxpTrainingResponse |
| 13 | ItHelpdeskAgent | GxP Service Desk Specialist | 21 CFR 11.10(d), 11.300 | HelpdeskTicketResponse |
| 14 | DocumentAuthoringAgent | Quality & CSV Document Drafter | ISO 13485:4.2, GAMP 5 | DocumentAuthoringResponse |
| 15 | SupplierQualityAgent | Supplier Purchasing Lead | ISO 13485:7.4, FDA QMSR | SupplierQualityResponse |
| 16 | ComplaintVigilanceAgent | Post-Market Vigilance Lead | ISO 13485:8.2.2, 21 CFR 803 | ComplaintVigilanceResponse |
| 17 | ApqrQualityMetricsAgent | Annual Product Review Sentry | 21 CFR 211.180(e), EU GMP Ch 1 | ApqrMetricsResponse |
| 18 | AuditInspectionReadinessAgent | Inspection Readiness Auditor | ISO 13485:8.2.4, CP 7382.850 | InspectionReadinessResponse |
| 19 | SystemInterfaceMigrationAgent | Data Migration Specialist | GAMP 5 App D6, ALCOA+ | DataMigrationResponse |
| 20 | SpreadsheetValidationAgent | Spreadsheet Validator | 21 CFR Part 11, GAMP 5 Cat 5 | SpreadsheetValidationResponse |
| 21 | DisasterRecoveryAgent | Business Continuity & DR Lead | 21 CFR 11.10(c), Annex 11 Cl 7/16 | DisasterRecoveryResponse |
| 22 | VendorAssessmentCsaAgent | Cloud & AI Foundation Assessor | ISO 13485:7.4, ISO/IEC 42001 | VendorAssessmentResponse |
| 23 | DocumentTriageAgent | S3 File Ingestion Classifier | GAMP 5 Category Selection | DocumentTriageResponse |
Technical Implementation Details
1. Dependency Injection (GxpAgentDeps)
All agents inherit dependencies defined in src/agents/deps.py:
@dataclassclass GxpAgentDeps: pg_pool: asyncpg.Pool qdrant_client: QdrantClient memgraph_client: MemgraphDriver rustfs_client: RustFSClient langfuse_tracker: LangfuseTracker system_code: Optional[str] = None regulatory_mode: str = "operational"This enables agents to interact with all three databases and storage engines concurrently while recording hierarchical traces in Langfuse.
2. EvidenceGate Integration
Before an agent receives retrieved context chunks from Qdrant or Memgraph, the chunks pass through EvidenceGate:
- Unverified chunks or chunks failing PostgreSQL hash validation are removed.
- Superseded documents are filtered out.
- The agent prompt receives only verified, active regulatory evidence.
3. Structured Pydantic Output Enforcement
Agents return strictly typed Pydantic models. For example, RiskAssessmentAgent returns:
class RiskItem(BaseModel): hazard_id: str description: str severity: int = Field(ge=1, le=5) occurrence: int = Field(ge=1, le=5) detection: int = Field(ge=1, le=5) rpn: int = Field(ge=1, le=125) csa_rigor: Literal["FULL_SCRIPTED_TESTING", "LIMITED_SCRIPTED_TESTING", "UNSCRIPTED_EXPLORATORY_TESTING", "VENDOR_AUDIT_LEVERAGING"] mitigation_action: str
class RiskAssessmentResponse(BaseModel): system_name: str gamp_category: int critical_thinking_rationale: str risk_items: List[RiskItem] overall_risk_level: str evidence_citations: List[str]If an LLM produces an invalid calculation or schema violation, Pydantic AI automatically requests self-correction from the model before returning the response.