DeviceAgent 기능을 SKIX로 옮기는 순서
- 이 그림이 답하는 질문: 기존 DeviceAgent의 273개 명령을 중복 실행 없이 새 ManagerService 책임으로 어떻게 옮기는가?
- 읽는 순서: 왼쪽 기준선 확정부터 관측 연결·결과 비교·책임 전환·기존 경로 제거 순서로 읽고, 아래 안전 조건을 함께 확인한다.
- 현재 검증 범위: MR6
task_manager를 이식 원본, MR7refactor/blueprint-foundation을 통합 대상으로 한 전환 설계다. 실기기 전환 완료 증거는 아니다.
DeviceAgent의 273개 legacy command를 일괄 교체하지 않는다.
- command owner와 Bundle wire contract를 동결한다.
- MR6 producer 결과를 legacy와 typed State에
dual-publish한다. - value/source/timestamp/TTL/dedup의
shadow parity를 측정한다. - 신규 client를 typed Manager로 전환하고 legacy 요청은
forwarding한다. - 도메인별 실행
owner 전환후 중복 writer를 차단한다. - 실기기·rollback Gate를 통과한 command만 legacy path를 제거한다.
TaskManager MR6 task_manager는 persistence/timeout/recovery의 선택 이식 원본이며 현재 MR7 통합 완료가
아니다. migration 중에도 command owner는 항상 하나여야 하며 DeviceAgent는 compatibility gateway다.
근거: apps/DeviceAgent/app/src/main/java/com/sk/airbot/deviceagent,
tools/verify-deviceagent-command-owners.sh, compatibility/java, MR6 task_manager branch.