← Docs hub

SoC TaskManager Vendor Briefing Path

이 문서는 SoC/DeviceAgent 업체와 회의하거나 설명할 때 사용할 진입로다. 업체에게 처음부터 전체 소스 설명을 던지면 흐름을 잃기 쉽기 때문에, “왜 바꾸는가 -> 무엇이 바뀌는가 -> 어디를 구현하는가 -> 무엇을 제출해야 하는가” 순서로 설명한다.

SoC TaskManager Vendor Briefing Path

1. 10분 요약 설명

업체에게 가장 먼저 전달할 메시지:

이번 작업은 Cloud LLM 전용 기능 추가가 아니다.
기존 DeviceAgent의 직접 method 실행 구조 앞에 TaskManager layer를 추가해서,
Cloud A2A, MQTT 서버, App/Remote, 예약/자동화, 로컬 음성 명령을 같은 SoC 실행 framework로 수용하려는 작업이다.

10분 안에 설명할 핵심:

순서 내용 보여줄 문서
1 기존 DeviceAgent는 MainApi.executeMethod(...) 중심으로 직접 실행한다. Before/After Change Model
2 기존 Layer와 변경 Layer를 먼저 그림으로 보여준다. DeviceAgent Layer Transition
3 MainApi.executeMethod(...) 안에서 TaskManager가 어디에 삽입되는지 보여준다. MainApi TaskManager Insertion
4 각 layer가 어떤 Java 파일과 연결되는지 보여준다. DeviceAgent TaskManager Layer Source Map
5 submitTasksubmitWorkflow가 실제 runtime에서 어떤 순서로 도는지 보여준다. DeviceAgent Task Lifecycle Detail
6 source가 늘어나면 직접 실행 경로가 분산된다. Background
7 TaskManager는 기존 domain handler 앞단에 admission/queue/workflow/event/reason layer를 추가한다. Before/After Change Model
8 실제 domain logic은 기존 handler를 유지하고 executor adapter로 연결한다. Source-Level Implementation Guide
9 완료 판정은 API/event/reason/logcat evidence로 한다. Vendor Implementation Workbook

2. 30분 구조 설명

30분 회의에서는 아래 순서로 설명한다.

2.1 기존 구조

DeviceAgent
-> MainApi.executeMethod(...)
-> executeMethodInternal(...)
-> FrameworkCommandBridge / command handler / domain manager
-> AppCmd callback

핵심 포인트:

2.2 변경 구조

Cloud/MQTT/App/Local Voice/Internal Schedule
-> submitTask / submitWorkflow
-> TaskManager
-> validation / policy / queue / workflow
-> TaskExecutorRegistry
-> 기존 domain handler 또는 SoC executor
-> onTaskEvent

핵심 포인트:

2.3 업체가 구현해야 할 경계

계층 업체 구현 포인트
MainApi hook TaskManager API 선처리, legacy path 보존
TaskManager core submit/query/cancel/workflow/event lifecycle
Policy/Validation method별 queue, timeout, retry, 필수 slot
Executor Adapter 기존 domain handler와 TaskManager 연결
Reason Contract domain error를 표준 reason code로 mapping
Planning Context battery/map/location/cleaning/movement/queue/capability snapshot
Evidence sample bundle, event trace, logcat, diff summary

3. 60분 구현 딥다이브

구현자와는 아래 순서로 본다.

순서 문서 확인할 질문
1 DeviceAgent Layer Transition 어느 layer가 신규/변경/유지되는가
2 MainApi TaskManager Insertion 기존 명령이 MainApi에 모이는 위치와 TaskManager hook이 정확히 어디인가
3 DeviceAgent TaskManager Layer Source Map layer별 실제 소스 파일과 업체 작업 범위가 무엇인가
4 DeviceAgent Task Lifecycle Detail submitTask/submitWorkflow가 validation, policy, executor, event를 어떻게 통과하는가
5 Source-Level Implementation Guide MainApi.executeMethod(...) 앞단에 hook이 들어가는가
6 Implementation Worklog 어떤 파일이 추가/수정되어야 하는가
7 Vendor Implementation Workbook source별 sample payload를 처리할 수 있는가
8 Architecture event/reason/source trace가 어떤 흐름으로 올라오는가
9 Framework Refactor Roadmap 장기적으로 service/framework 경계가 어떻게 분리되는가

4. 설명 중 반드시 짚을 오해

오해 정정
Cloud LLM만 붙이면 되는가 아니다. MQTT/App/예약 source도 같은 TaskManager API를 타야 한다.
기존 command handler를 전부 다시 만들어야 하는가 아니다. 기존 handler는 유지하고 executor adapter로 연결한다.
모든 event를 Cloud로 올려야 하는가 아니다. 정상 progress/completed는 상태 갱신이고, 판단 필요한 실패만 replan/report 후보가 된다.
get/status도 모두 queue task인가 아니다. get 계열은 DIRECT 또는 planning context query가 기본이다.
reason은 자연어 메시지면 충분한가 아니다. reason_code, reason_params, recoverability, suggested_action이 필요하다.

5. 회의 후 업체에게 요청할 산출물

산출물 내용
구현 diff summary 원본 대비 변경 파일과 변경 이유
API sample bundle submitTask, submitWorkflow, getTaskStatus, cancelTask
Event trace onTaskEvent normal/failure/workflow sample
Reason mapping table domain error -> standard reason code
Planning context sample 실제 기기 상태 snapshot
Test result unit/integration/instrumented/logcat evidence
Open question list 미확정 method, queue, timeout, source policy