SKIX Product Domain Services 리팩터링
Domain 경계
| Canonical Manager | ManagerService | 기존 API / Agent |
|---|---|---|
SkixAmrManager |
AmrManagerService |
AMR+Map / AMRAgent |
SkixIotManager |
IotManagerService |
IoT / IotAgent |
SkixLlmManager |
LlmManagerService |
LLMAgent |
internal SkixMcuManager |
McuManagerService |
MCUAgent |
SkixVisionManager |
VisionManagerService |
Camera / VisionAgent |
SkixUpdateManager |
UpdateManagerService |
UpdateAgent |
SkixPairingManager |
PairingManagerService |
Provisioning / PairingAgent |
SkixEventAssetManager |
EventAssetManagerService |
EventAssetAgent |
SkixCleaningManager |
CleaningManagerService |
AirCleaner API |
SkixAirQualityManager |
AirQualityManagerService |
AirQuality API |
SkixPowerManager |
PowerManagerService |
Battery·charging·power sleep; Manage battery forwarding |
SkixUiManager |
UiManagerService |
LCD+Toast |
SkixSystemManager |
SystemManagerService |
non-power Manage+Setting+Wifi |
SkixDiagnosticsManager |
DiagnosticsManagerService |
Error+ICT+SelfTest |
SkixSecurityManager |
SecurityManagerService |
Security API |
Vision, Cleaning, Task 관련 scheduling은 generic common manager에 흡수되지 않는다. Task는 실행 계층의
TaskManagerService, scheduling은 TaskSchedulerManagerService가 별도로 소유한다.
Cleaning, AirQuality, Power, UI도 각각 CleaningManagerService, AirQualityManagerService,
PowerManagerService, UiManagerService가 독립 상태·정책·lifecycle을 소유한다. 초기에 같은 Runtime process를
사용하는 것은 배포·장애 격리 선택이지 도메인 authority 통합이 아니다.
제품 조건도 generic domain manager 하나에 모으지 않는다. 첫 slice에서 Mobility와 Interaction이 각각
자기 상태의 tilt 요구를 만들고 PolicyManagerService가 충돌을 조정하도록 분리했다. 다른 조건의 발견·확정
상태는 도메인 정책 사양 카탈로그에서 관리한다.
상태 판정
| 설계 완료 | 소스 반영 | JVM 검증 | APK 빌드 | 실기기 검증 |
|---|---|---|---|---|
| 15개 Domain 확정 | 도메인별 concrete *ManagerService lifecycle 골격 + Mobility/Interaction policy rule factory |
15개 타입·ID 독립성 + 첫 Tilt rule·5개 typed observation adapter PASS | FrameworkService APK PASS | producer 연결·실기기 미검증 |
여기서 lifecycle 골격은 도메인 권위의 파일·타입·component ID를 실제 코드로 분리했다는 뜻이다. 기존 DeviceAgent/Agent의 각 명령 구현까지 이식 완료했다는 뜻은 아니다.