본문으로 건너뛰기

애플리케이션 구현 결과

Command입력 VO 합성핵심 흐름결과
RegisterModelCommandApplyT(Name, Version, Purpose)VO 합성 -> 위험 분류 -> 모델 생성ModelId
ClassifyModelRiskCommandRiskTier.Create모델 조회 -> 재분류 -> 업데이트
CreateDeploymentCommandApplyT(Url, Env, Drift)VO 합성 -> 모델 확인 -> 배포 생성DeploymentId
SubmitDeploymentForReviewCommand배포/모델 조회 -> 적격성 검증 -> 제출
ActivateDeploymentCommand배포/평가 조회 -> guard 통과 -> 활성화
QuarantineDeploymentCommand배포 조회 -> 격리
InitiateAssessmentCommand모델/배포 조회 -> 평가 생성AssessmentId
ReportIncidentCommandApplyT(Severity, Description)VO 합성 -> 배포 조회 -> 인시던트 생성IncidentId
Query포트필터/옵션
GetModelByIdQueryIModelDetailQuery배포/평가/인시던트 집계 포함
SearchModelsQueryIAIModelQuery위험 등급 필터, 페이지네이션
GetDeploymentByIdQueryIDeploymentDetailQuery
SearchDeploymentsQueryIDeploymentQuery상태/환경 필터, 페이지네이션
GetAssessmentByIdQueryIAssessmentRepository평가 기준 포함
GetIncidentByIdQueryIIncidentRepository
SearchIncidentsQueryIIncidentQuery심각도/상태 필터, 페이지네이션
Event Handler트리거 이벤트조건동작
QuarantineDeploymentOnCriticalIncidentHandlerModelIncident.ReportedEventSeverity.RequiresQuarantine배포 자동 격리
InitiateAssessmentOnRiskUpgradeHandlerAIModel.RiskClassifiedEventNewRiskTier.RequiresComplianceAssessment활성 배포에 평가 생성
포트기본 CRUD커스텀 메서드
IAIModelRepositoryGetById, Create, Update, DeleteExists(spec), GetByIdIncludingDeleted(id)
IDeploymentRepositoryGetById, Create, Update, DeleteExists(spec), Find(spec)
IAssessmentRepositoryGetById, Create, Update, DeleteExists(spec), Find(spec)
IIncidentRepositoryGetById, Create, Update, DeleteExists(spec), Find(spec)
포트역할
IAIModelQuery모델 목록 검색
IModelDetailQuery모델 상세 (집계 데이터 포함)
IDeploymentQuery배포 목록 검색
IDeploymentDetailQuery배포 상세
IIncidentQuery인시던트 목록 검색
포트반환 타입IO 패턴
IModelHealthCheckServiceFinT<IO, HealthCheckResult>Timeout + Catch
IModelMonitoringServiceFinT<IO, DriftReport>Retry + Schedule
IParallelComplianceCheckServiceFinT<IO, ComplianceCheckReport>Fork + awaitAll
IModelRegistryServiceFinT<IO, ModelRegistryEntry>Bracket
AiGovernance.Application/
├── Using.cs
├── AssemblyReference.cs
└── Usecases/
├── Models/
│ ├── IAIModelQuery.cs
│ ├── IModelDetailQuery.cs
│ ├── Commands/
│ │ ├── RegisterModelCommand.cs
│ │ └── ClassifyModelRiskCommand.cs
│ └── Queries/
│ ├── GetModelByIdQuery.cs
│ └── SearchModelsQuery.cs
├── Deployments/
│ ├── IDeploymentQuery.cs
│ ├── IDeploymentDetailQuery.cs
│ ├── IModelHealthCheckService.cs
│ ├── IModelMonitoringService.cs
│ ├── Commands/
│ │ ├── CreateDeploymentCommand.cs
│ │ ├── SubmitDeploymentForReviewCommand.cs
│ │ ├── ActivateDeploymentCommand.cs
│ │ └── QuarantineDeploymentCommand.cs
│ └── Queries/
│ ├── GetDeploymentByIdQuery.cs
│ └── SearchDeploymentsQuery.cs
├── Assessments/
│ ├── Commands/
│ │ └── InitiateAssessmentCommand.cs
│ ├── Queries/
│ │ └── GetAssessmentByIdQuery.cs
│ └── EventHandlers/
│ └── InitiateAssessmentOnRiskUpgradeHandler.cs
└── Incidents/
├── IIncidentQuery.cs
├── Commands/
│ └── ReportIncidentCommand.cs
├── Queries/
│ ├── GetIncidentByIdQuery.cs
│ └── SearchIncidentsQuery.cs
└── EventHandlers/
└── QuarantineDeploymentOnCriticalIncidentHandler.cs
패턴적용 수예시
ApplyT (VO 병렬 합성)4RegisterModel, CreateDeployment, ReportIncident
FinT LINQ (from…in)8모든 Command Handler
guard (조건부 실패)1ActivateDeploymentCommand
MustSatisfyValidation8+모든 Validator
IDomainEventHandler2QuarantineDeployment, InitiateAssessment
Nested Class15모든 Command/Query

전체 솔루션 기준 268개 테스트가 2개 어셈블리에서 실행됩니다. Application 레이어 코드는 단위 테스트(Architecture 규칙)와 통합 테스트(Endpoint E2E)에서 함께 검증됩니다.

다음 단계에서는 어댑터 기술 요구사항에서 이 포트를 구현하는 Adapter 레이어를 정의합니다.