← Docs hub

SKIX 로보틱스 프레임워크 전체 구조 Atlas

처음 읽는 순서: 이 페이지에서 전체 구성 확인 → 폴더별 역할과 상태 책임 → 요청·실행·결과 흐름의 실제 사례 → 구현 진행 현황. 영문 클래스 이름은 소스를 찾기 위해 유지하고, 무엇을 하는지는 한국어 역할 설명으로 읽으면 된다.

실행 구현과 프레임워크의 차이: AI Agent·LLM 도메인·TaskManager 관계 해설과 확대 구조도. 아래 폴더 구조 지도를 함께 보면, TaskManager가 왜 상단 실행권(공통)이고 AMR/Cleaning/Llm/Vision이 왜 별도 도메인인지(기능 소유권 기준) 빠르게 확인됩니다. 아래 전체 구조는 유지하며, TTS 사례의 실제 실행 주체와 미구현 연결을 별도로 설명한다.

공통 작업 관리와 도메인 실행의 폴더 경계

TaskManager는 AMR·Cleaning보다 넓은 공통 작업 관리 책임이다. 폴더의 물리적 부모가 아니라 모든 도메인이 사용하는 실행권·Task 상태의 공통 소유자라는 뜻이다.

위치 소유하는 책임
server/execution/task/ TaskManagerService: 접수·대기열·실행권·취소·Task 결과
server/domain/amr/execution/ 공통 실행권으로 이동을 수행하는 실행기·세션; 별도 TaskManager 아님
server/domain/cleaning/execution/ 청소 정지 요청·확인 계약; 전체 청소 실행기 이관 완료 아님
server/domain/cleaning/handoff/ Cleaning 자신의 구동 자원 정지·반환·재확인 수명

Task 상태·실행 배정은 공통 실행 계층, 장치 명령·도메인 상태·정지 절차는 각 도메인에 둔다. 현재 AMR–Cleaning 직접 협력은 유지되며, 폴더 분리가 범용 도메인 조정자 구현을 의미하지 않는다. 클래스명·공개 계약·동작은 유지하고 내부 package/import와 대응 테스트 경로를 함께 옮긴다.

전체 모듈과 역할을 먼저 보기

먼저 AOSP Plane부터 읽기

SKIX는 먼저 Android가 기기를 올리는 계층을 먼저 보면 빠르게 이해됩니다.

한 번에 보려면:
서비스 호출(Manager) → Task 배정 → 도메인 실행기 → 상태/완료 반영
순서로 읽으시면 됩니다.
이 순서에서 Task가 실행을 직접 하지 않는 이유는 정책/자원/취소의 단일 소유자와 실행 도메인의 책임 분리를 유지하기 위해서입니다.

상태 기준은 아래 폴더 역할 지도에서 한 번에 확인하세요.
[폴더 모듈 지도(대형)](skix-folder-module-role-map-2026-09-08.html).

전체 구조를 한 가지 요청으로 이해하기

예를 들어 “주방으로 이동하면서 안내해 줘”라는 요청에는 주행과 음성이라는 서로 다른 기능이 있다. 상위 앱·서비스가 요청을 구성하고, 프레임워크는 각 기능의 실행 조건과 작업 상태를 관리한다. 목표 구조에서는 AMR 도메인이 주행 구현에, LLM 도메인이 AI Agent에 연결한다. LLM이 주행까지 직접 관리하거나, TaskManager 안에 모든 기능 코드를 넣는 구조가 아니다.

요청을 따라가는 순서 담당 구성요소 담당하지 않는 것
무엇을 할지 요청 앱·상위 서비스와 SDK Manager 앱이 서버의 안전 정책을 임의로 해제하지 않음
실행해도 되는지 확인 해당 도메인과 공통 Policy·Resource 요청을 받았다는 이유만으로 장치를 움직이지 않음
작업 진행을 관리 TaskManagerService 문장 합성·모터 제어를 직접 구현하지 않음
각 기능을 실행 구현에 연결 AMR·LLM 등 도메인 ManagerService 다른 도메인의 상태와 제품 조건을 대신 소유하지 않음
실제 실행과 결과 보고 AI Agent·기존 장치 제어 구현 명령 전송 성공을 실제 동작 완료로 대신하지 않음

이 표는 목표 흐름의 설명이다. 현재 MR7에서 이 요청 전체가 새 경로로 실행된다는 뜻은 아니다. 조건부 재개·동시 실행·취소는 정책과 자원 계약에 따라 조정하며, 위 예시가 동시 실행 허용 사양을 새로 정하지 않는다.

지금 진행률을 읽는 기준: 분리, 연결, 제품 검증

현재는 “내부 책임 분리”가 진행된 상태이며 “제품 실행 전환”까지 완료된 상태는 아니다. 클래스 수나 테스트 수 하나로 전체 이식률을 표시하지 않는 이유다.

구분 현재 확인된 내용 아직 필요한 내용
소스 분리 skix-framework/base/ 아래 공개 계약·서버·Android 연결·호환 계층 구분 기존 앱에 남은 제품 조건과 실행 경로의 단계별 이관
Task 내부 관리 접수·큐·상태 전이·취소 의도·이력 관리 실제 목적지·문장 전달, 실행 조정, 시간 제한·재시도 연결
외부 호출과 기동 Root Binder와 내부 객체 조립 코드 Task 전용 외부 계약, Android Service 호스트, 부팅·제품 연결
검증 내부 JVM 테스트와 소스 경계 검사 기록 실제 Binder 왕복, 제품 부팅, 주행·음성 등 물리 결과 확인

MR6 task_manager 브랜치는 계속 이식 원본이다. MR7에 같은 이름의 클래스나 옵션이 있다고 MR6 실행 동작까지 이식된 것은 아니다. 구체적인 차이는 TaskManager가 지금 하는 일과 남은 이식을 읽으면 된다.

이 문서 묶음에서 무엇을 보면 되는가

알고 싶은 것 읽을 문서 읽고 나면 알 수 있는 것
프레임워크 전체가 어떻게 나뉘나? 이 페이지의 전체 구조도 앱 요청 창구·공통 관리·도메인·실제 실행의 위치
그 구성요소의 코드는 어디 있나? 폴더·모듈 상세 지도 폴더별 책임과 협력 대상
TTS는 AI Agent 기능인데 LLM 서비스는 왜 있나? AI Agent와 프레임워크 역할 해설 실행 엔진과 연결·작업 관리의 차이, 상태와 정책의 차이
실제로 어디까지 옮겼나? 진행 현황 구현·검증·미연결 항목과 다음 작업

현재 위치를 한 문장으로: 프레임워크 소스의 폴더와 내부 관리 코드는 분리하고 있지만, 기존 앱의 모든 제품 동작이 새 서비스로 전환된 단계는 아니다. 아래 상세 SVG는 전체 목표와 내부 구성요소를 보존한 지도다. 상자가 있다는 것과 제품에서 연결되어 돈다는 것을 구별한다.

최근 실제 폴더 경계 수정: 도메인별 통신 계약과 DeviceAgent 빌드 범위. LLM 처리기의 통신 이름은 도메인별 공용 Constants를 참조하고, DeviceAgent는 그 계약 폴더만 컴파일한다. 이는 소스 의존성 분리이며, 기존 청소·잠금·주행 정책이 모두 새 서비스로 옮겨졌다는 뜻은 아니다.

<a id="runtime-wiring-status"></a>

폴더가 실제 서비스로 실행되기까지

2026-09-09 현재: 내부 관리 코드는 있으나 Android 서비스 기동 연결은 아직 없다. 폴더 지도와 아래 상세 SVG는 유지한다. 다만 코드의 책임 구조와 부팅된 제품의 실행 상태를 구분해야 한다.

단계 쉽게 말하면 소스 위치 현재 확인
1. Android 시작 연결 부팅 때 프레임워크를 찾아 연결한다 base/services/systemserver/ README·설계만 존재. SystemService Java는 후속
2. 격리 Runtime 호스트 별도 프로세스에서 관리 서비스들을 만들고 종료한다 base/services/runtime/, apps/SkixFrameworkService/ Binder·호출자 어댑터 존재. Manifest Service와 호스트 생성 경로는 없음
3. 서비스 조립 Task·State·Policy 등 내부 객체를 구성한다 base/services/core/…/server/runtime/SkixFrameworkCompositionRoot.java 기본 7개 Java 서비스 조립 구현. 제품 기동과는 별개
4. 앱의 기능별 호출 앱이 작업 제출·조회·취소 등을 요청한다 base/core/aidl/, base/services/runtime/…/entrypoint/binder/ Root version/discovery/getManager 계약·Stub 존재. Task 전용 Binder는 후속
5. 실제 기능 실행 AI Agent·기존 DeviceAgent·장치 구현과 왕복한다 도메인별 서비스·어댑터·기존 앱 내부 관리 구현과 기존 실행 경로가 공존. 새 경로의 제품 종단 검증 전

표의 …는 서버 Java 패키지 com/sk/airbot/frameworkservice 이하 경로를 줄인 것이다. base/Android.bp도 현재 filegroup이며, 제품에 설치할 APK·systemserver jar 모듈을 완성한 상태가 아니다. 기존 DeviceAgent를 삭제하거나 모든 기능을 새 서비스로 넘긴 것은 아니다.

부팅 설계도 바로잡았다. 로컬 QSSI의 SystemServer.java는 phase 500 이후에 config_deviceSpecificSystemServices의 서비스를 만든다. 이미 지나간 phase는 다시 보내지 않으므로, 이 경로의 SKIX 서비스가 500에서 초기화·bind한다는 이전 설명은 맞지 않는다. 정정한 목표 순서는 생성 직후 onStart() 초기화 → 520 제품별 준비 → 600 Runtime 연결 → 준비 조건 확인 후 READY다. 아직 이 순서대로 SKIX가 실기기 부팅됐다는 의미는 아니다.

근거: MR7 70bf49c, docs/refactor/skix-runtime-host-wiring-audit-2026-09-09.md; 로컬 QSSI frameworks/base/services/java/com/android/server/SystemServer.java의 2697·2776·2803·2975행과 frameworks/base/services/core/java/com/android/server/SystemServiceManager.java의 서비스 등록·부팅 단계 전달 구현. 제품 include 후보는 확인했지만 실제 MR7 lunch 대상·설치·SELinux·부팅 검증은 남아 있다.

폴더 기준 전체 런타임 지도

폴더 기준으로 전체 책임을 한 번에 보려면 여기로 이동합니다.

아래 다섯 영역 표는 이 목표 구조의 책임 지도이며, 위 표는 현재 연결 상태다.

먼저 다섯 영역으로 나누어 읽기

아래는 목표 책임 구조다. 표의 한 행을 하나의 APK로 만드는 것은 아니며, 실제 연결 완료 여부는 뒤의 구현 범례로 확인한다.

영역 쉽게 말하면 들어 있는 구성요소 소스에서 찾는 곳
Android 시작·접근 통제 기기가 켜질 때 프레임워크를 연결하고, 허용된 호출인지 확인 AOSP 시작 연결, 루트 Binder, 호출자 검사 base/services/systemserver/, base/services/runtime/java/
앱의 요청 창구 Launcher나 다른 앱이 기능을 요청하는 공통 사용법 공개 Skix*Manager, 요청·결과 계약 base/core/
공통 실행 관리 요청을 받아도 되는지, 어떤 작업인지, 자원을 써도 되는지 관리 Policy·Resource·Capability·Task·Workflow·State·Evidence base/services/core/…/server/control/, execution/
기능별 책임자 주행·청소·음성 등 자기 기능의 상태와 실행 연동 관리 AMR·Cleaning·AirQuality·LLM·Vision·UI 등 도메인 서비스 base/services/core/…/server/domain/
실제 실행 연결 기존 앱이나 장치 구현에 요청을 전달하고 결과를 돌려받음 AI Agent·DeviceAgent·ROS 2·MCU·HAL 연결 base/adapters/, base/compatibility/, 기존 apps/ 및 별도 Agent 저장소

여기서 base/는 저장소 최상위의 skix-framework/base/다. apps/에 있는 빌드 프로젝트와 실제 실행 앱을 모두 없애는 것이 아니라, 재사용할 프레임워크 소스의 주인을 base/로 옮기는 것이다. systemserver/의 시작 연결과 격리 Runtime 호스트는 제품 통합 후속이며, 폴더가 있다는 이유로 부팅 연결이 끝난 것은 아니다.

그림 속 영문은 다음처럼 읽으면 된다. AOSP Trust / Boot Plane은 “Android 부팅·권한 확인 영역”, Runtime은 “서비스들을 함께 시작하고 종료하는 실행 기반”, Provider는 “실제 기능을 실행하는 구현”, Evidence는 “수행 중에 수집한 관측·결과 근거”다. 별개의 새 제품 이름이 아니다.

그림을 읽을 때 따라갈 질문

  1. 누가 요청하는가? 위쪽 앱·상위 서비스에서 SDK Manager로 들어온다.
  2. 누가 판단하고 관리하는가? 공통 서비스가 정책·자원·작업을, 도메인 서비스가 자기 기능을 맡는다.
  3. 누가 실제로 실행하는가? 아래쪽 Agent·ROS 2·MCU·HAL 등 연결된 구현이 실행한다.
  4. 어떤 결과가 돌아오는가? 실행별 진행·종료 관측이 Task·State·Evidence에 반영되는 경로를 읽는다.
  5. 지금 어디까지 연결됐는가? 기본 조립 7개, 선택 내부 구현, 실제 장치 연결 후속을 구분한다.

TTS라면 AI Agent가 실제 합성·재생, LLM 도메인이 실행 연동, Task가 해당 요청의 진행·결과 관리를 맡는다. 이 세 역할을 구분하는 것이 핵심이지, TTS 기능을 AI Agent에서 떼어내겠다는 뜻은 아니다.

폴더 기준으로 읽기: base/ 폴더 → 포함 모듈 → 담당 역할 SVG. 소스 소유 구조를 먼저 보고 아래 역할 지도와 모듈별 설명을 함께 읽는다.

위쪽 공통 모듈 9개는 상태·판단·작업을 관리하고, 가운데 제품 도메인 15개는 각 기능을 책임지며, 아래 실행 구현은 실제 장치를 움직인다. 각 상자에는 모듈 이름뿐 아니라 입력과 결과, 담당 역할을 적었다.

전체 모듈 24개의 역할과 입력·결과 지도

모듈 역할 지도 크게 열기 · Mermaid 원본

각 모듈이 정확히 무엇을 하는지: 모듈 역할 사전과 실제 소스 위치. 공통 기반 10개(Runtime 포함), 제품 도메인 15개, SDK·Binder·기존 Agent 연결부를 담당 업무 / 협력 대상 / 실제 폴더 / 구현 범위로 정리했다. 주행 요청 하나를 따라가는 설명도 함께 읽을 수 있다.

예를 들어 주행 요청은 Task가 작업으로 관리 → Policy가 허용 조건 판단 → Resource가 자원 사용 조정 → AMR이 주행 기능을 책임지고 provider에 실행 요청 → State가 현재 상태, Evidence가 수행 근거를 제공하는 방향이다. 상위 지능 서비스는 이 정보를 보고 계획을 수정한다. 이는 목표 협력 흐름이며 모든 연결이 완료된 것은 아니다.

자주 혼동되는 구분 누가 무엇을 하는가
Manager / ManagerService / Agent 앱의 호출 창구 / 서버의 기능 책임자 / 실제 실행 구현
Task / Workflow / TaskScheduler 개별 작업 관리 / 작업 묶음의 순서·변경 관리 / 작업을 시작할 시점 관리
State / Evidence 지금 어떤 상태인지 / 어떤 관측과 결과를 근거로 그렇게 판단하는지
Cleaning / AirQuality 청정 운전 / 공기질 관측. 서로 협력하지만 별도 소유권
Health / Diagnostics 프레임워크 서비스 건강 / 제품·장치 진단
LLM / 상위 지능 서비스 Experience 기기 측 AI Agent 실행 연동·상태 관리 / 상위 상황 추론과 재계획. 실제 합성·재생 엔진은 AI Agent 쪽에 유지

여기서 모듈은 논리적 책임 단위다. 24개 APK나 24개 프로세스를 만든다는 뜻은 아니다. 현재 기본 실행 구성은 Runtime + State + Evidence + Policy + Resource + Capability + Task다. 자원·기능·작업 Runtime 상세에서 7개 실제 서비스와 상태 흐름을 확대한다. 그림에 표시한 소스 존재·골격·장치 통합 미완료를 구분해서 읽는다. Evidence의 관측 저장 이식 범위와 남은 연결을 별도 정리했다.

구성요소를 구체적으로 보려면: 전체 계층·15개 도메인·폴더와 구동 위치 상세 구조도. 각 서비스의 한국어 역할, 실제 소유 경로, 구현과 목표 결선의 차이를 세 장으로 펼쳤다.

계층별 상세로 나누기 전에 전체를 한 화면에서 보려면 SKIX 로보틱스 프레임워크 통합 전체 구조를 먼저 연다.

이 페이지가 전체 리팩터링의 첫 구조도다. 상세 페이지를 읽기 전에 앱에서 물리 장치까지의 레이어, process/partition, 24개 Manager owner, ROS 2 연계, 현재 구현과 후속 작업을 한 번에 본다.

이 문서가 다루는 범위

이 Atlas는 문서 메뉴가 아니라 Launcher/상위 지능 서비스에서 실제 구동부까지 이어지는 전체 topology다. 위에서 아래로는 요청과 명령, 아래에서 위로는 상태·Feedback·Evidence가 이동한다. 같은 Runtime process에 배치되더라도 공개 Manager, Binder 계약, ManagerService, provider는 다른 책임이다.

한 문장 구조

SKIX는 AOSP의 부팅·권한·Binder·프로세스 복구 위에서 상태, Capability, Policy, Resource, Task, Workflow, Evidence와 제품 도메인 실행을 관리하고, 기존 Agent·ROS 2·MCU·HAL을 물리 실행 provider로 연결하는 제품 로보틱스 프레임워크다.

SKIX 전체 로보틱스 프레임워크 구조

전체 크기 SVG 열기

전체 동작 구조

Request-to-Evidence 전체 흐름

전체 동작 SVG 열기

App/상위 지능 서비스 -> Skix*Manager -> Root Binder(admit) -> Task/Workflow(submit)
 -> Policy/Resource(resolve) -> Domain ManagerService(dispatch)
 -> Agent/ROS2/HAL -> feedback/observation/completion
 -> State/Evidence(project) -> subscriber/상위 지능 서비스(replan)

accepted != physically completed다. 요청 접수는 물리 완료가 아니다. 실행별 결과 근거를 확인해 Task를 종료하더라도 그 결과에는 성공·실패·취소가 포함될 수 있다. Task 종료, 실제 장치 동작 완료, 자원 재사용 가능 여부는 별도로 확인한다. 예를 들어 TTS Task가 종료돼도 그 사실만으로 스피커 출력이나 재생 정지를 직접 검증한 것은 아니다.

공식 Android/AOSP 설계 기준

외부 그림 자체를 복제하지 않고 Android 공식 문서가 계층과 경계를 나누는 방식을 적용했다.

공식 자료 SKIX에 적용한 기준
Android Platform Architecture 앱 → Framework API → Runtime/Native → HAL → Kernel의 수직 스택을 SKIX 5계층에 대응
AIDL overview 공개 SDK API와 프로세스 간 AIDL 계약, 서버 구현을 분리
Binder overview client proxy → Binder → server stub/service의 프로세스 간 왕복 표시
HAL overview 상위 도메인 서비스를 기기별 구현에서 격리하는 provider/HAL 경계 표시
Partitions overview system 계열과 vendor 계열의 배치 및 안정 계약 경계 표시

로컬 Android 13 QSSI에서는 SystemServer.java의 startBootstrapServices, startCoreServices, startOtherServices와 SystemService.java의 publishBinderService를 부팅·등록 골격의 근거로 확인했다. 현재 MR7은 이 구조를 목표로 한 골격이며 SkixFrameworkSystemService의 AOSP 제품 포함 전, SELinux 적용 전, 실기기 미검증 상태다.

어디를 보면 되는가

알고 싶은 것 상세 구조
부팅, process, partition, 죽음 복구 AOSP 부팅과 Runtime 수명주기
요청부터 물리 완료와 상위 지능 서비스 재계획 Request-to-Evidence 전체 흐름
Runtime 내부 책임과 호출 방향 Runtime 내부 토폴로지
정책 충돌, 자원, Task 상태 전이 Task·Policy·State 순환
공통 모듈과 15개 제품 도메인의 owner와 provider Domain Owner/Provider 맵
DeviceAgent를 중단 없이 걷어내는 순서 Legacy 이행 맵

구현·검증 상태 범례

초록은 자동 검증된 source, 파랑은 일부 구현, 주황은 연결 전 목표, 보라는 legacy, 회색은 외부 provider다. JVM 통과를 AOSP 제품 포함이나 실기기 완료로 해석하지 않는다.

전체 호출과 소유권

App / 상위 지능 서비스 experience planner
  -> typed Skix*Manager SDK
  -> AOSP root Binder + caller admission
  -> isolated SKIX Runtime
     -> Control: Health / State / Evidence / Policy / Resource / Capability
     -> Execution: Task / Workflow / Scheduler
     -> Product: AMR / IoT / LLM / MCU / Vision / Update / Pairing / EventAsset /
                 Cleaning / AirQuality / Power / UI / System / Diagnostics / Security
  -> provider adapter
  -> Agent / ROS 2 action-service-topic / MCU / HAL
  -> observation + feedback + completion evidence
  -> State / Evidence / Task lifecycle

Manager는 클라이언트 API이고 동일 이름의 ManagerService가 최종 상태와 도메인 규칙을 소유한다. TaskManagerService는 장기 명령의 접수·queue·cancel·timeout·terminal lifecycle을, WorkflowManagerService는 단계와 보상 흐름을 소유한다. 실제 모터·센서 제어는 provider가 수행하며 접수 성공 ≠ 물리 완료다.

Runtime 내부는 Control Plane, Execution Plane, Product Domain Plane으로 나뉜다.

AOSP와 Runtime 배치

영역 소유 책임 현재 상태
App/process Skix*Manager, 상위 지능 서비스가 만든 Task/Workflow 제출·수정·취소 Manager 골격·일부 typed API 구현
system_server boot phase, skix_framework root Binder, UID/permission/signature, Runtime death 감시 root AIDL v1·caller resolver·trust policy·Stub 구현/compile 검증; product scope/publish 후속
system_ext Runtime APK Control·Execution·Product ManagerService, 단일 상태 writer, Task/Evidence lifecycle composition·State·Task·Policy 일부 구현
legacy DeviceAgent.apk 기존 273 command 호환 gateway, 점진적 dual-publish/forwarding 유지 중; 실행 owner 즉시 제거 금지
provider/Agent AMR·IoT·LLM·Vision·MCU 등 실제 기능 연결 기존 구현 재사용, framework adapter 미완
vendor ROS 2/native service, HAL, MCU, kernel/driver 기존 물리 계층; 실기기 통합 미검증

무거운 로보틱스 실행을 system_server에 넣지 않는다. system_server가 Android 신뢰 경계와 부팅을 소유하고, 격리 Runtime이 로보틱스 상태·정책·Task를 소유하는 하이브리드다.

ROS 2 관념을 SKIX에 적용하는 방법

ROS 2 관념 SKIX 대응 Android 제품 보강
node/component ManagerService와 provider adapter process lifecycle, boot phase, health supervision
action 장기 Task + feedback + cancel/preempt + terminal evidence Binder identity, request/trace ID, caller death cleanup
service 짧은 typed Manager 요청 API version, permission, stable denial code
topic typed observation/event stream caller별 subscription, freshness, backpressure, Binder death
lifecycle node FrameworkManagedService dependency start, monotonic boot phase, reverse rollback
executor Task/Workflow/Scheduler Policy·Resource arbitration과 단일 command owner
QoS TTL/freshness/dedup/order 규칙 foreground/background, process restart, bounded history

SKIX는 ROS graph 자체가 아니다. ROS 2는 provider 중 하나이며 제품 권한·사용자·앱 lifecycle과 OTA 경계는 AOSP가 담당한다. 상위 지능 서비스의 Experience reasoning은 Framework 밖에서 계획을 만들고 수정할 수 있지만, Framework는 현재 상태와 evidence를 제공하고 안전 policy 위반은 이유와 함께 거부한다.

24개 Manager와 Runtime owner

Plane 공개 Manager Runtime owner
Control Health, State, Evidence, Policy, Resource, Capability 각각의 *ManagerService; 공통 관측·판정·자원 권위
Execution Task, Workflow, Scheduler 각각의 *ManagerService; 장기 실행과 단계 scheduling
Product A AMR, IoT, LLM, MCU, Vision 도메인별 *ManagerService와 Agent/provider adapter
Product B Update, Pairing, EventAsset, Cleaning, AirQuality 도메인별 상태·정책·결과 해석 owner
Product C Power, UI, System, Diagnostics, Security 도메인별 lifecycle과 typed API owner

Cleaning·AirQuality·UI·Power는 같은 Runtime process에 있을 수 있어도 같은 서비스가 아니다. 각자 상태 machine과 owner를 가지며 프로세스 공유는 배포 단위일 뿐 책임 통합을 뜻하지 않는다.

현재 구현 판정

Slice 판정
AOSP형 canonical tree와 Manager/ManagerService 도메인 분리 구현·정적 검증
managed lifecycle registry와 Runtime composition JVM 검증
Task core queue/state/cancel/history JVM 검증; MR6 persistence 전체 이식 전
State projection과 IoT·AMR·LLM·AirQuality·Power adapter JVM 검증; producer 미연결
Policy 기반과 tilt arbitration 첫 slice JVM 검증; 전체 정책 카탈로그 이식 전
root service/API/24 Manager ID와 admission JVM 검증
explicit Manager endpoint registry와 caller-scoped root endpoint JVM 검증; 24 concrete IBinder 조립 전
versioned root AIDL과 Binder Stub SDK 생성·JVM/Android release compile 검증; SystemServer publish 전
SystemServer/permission/SELinux/product packaging 미구현
DeviceAgent dual-publish와 Agent/provider 실제 연결 미구현
AOSP image·Binder death·센서/모터 실기기 실기기 미검증

다음 구현 순서

  1. product package/user별 ManagerScopePolicy grant 구성
  2. 24 concrete ManagerEndpointRegistry<IBinder> 조립
  3. root Binder publication과 SkixFrameworkSystemService boot phase 및 Runtime bind/death/generation 복구
  4. MR6 다섯 producer의 State dual-publish와 shadow parity
  5. Evidence/Capability/Resource managed services
  6. MR6 TaskManager persistence·timeout·recovery 선택 이식
  7. AMR와 Cleaning action-like vertical slice: feedback/cancel/completion evidence
  8. IoT·LLM·Vision·MCU 등 provider 확장
  9. SELinux/product makefile/signed image/실기기 Gate

상세 구조도 모음

코드 근거

Connections

Keyboard shortcuts

⌘K / Ctrl+KOpen command palette
/Focus search
g hGo to home
g pGo to projects
g sGo to sessions
j / kNext / prev row (tables)
?Show this help
EscClose dialogs

Structured queries

Mix key:value filters with free text in the palette:

type:sessionOnly session pages
project:llm-wikiFilter by project name (substring)
model:claudeFilter by model name (substring)
date:>2026-03-01Sessions after a date
date:<2026-04-01Sessions before a date
tags:rustPages mentioning a tag/topic
sort:dateSort results by date (newest first)

Example: type:session project:llm-wiki date:>2026-04 sort:date