A2A Evidence Index
이 문서는 A2A Wiki의 각 장이 어떤 소스, 설계 문서, 테스트, 검증 증거에 기대고 있는지 한 곳에서 추적하기 위한 근거 색인이다.
목적은 단순한 링크 모음이 아니다. 독자가 문서를 읽다가 “이 주장은 어디에서 나온 것인가”, “구현은 어느 repo에 있는가”, “검증은 어떤 명령이나 artifact로 증명되는가”를 바로 확인할 수 있게 하는 것이다.
1. 읽는 법
| 구분 | 의미 |
|---|---|
| 설계 근거 | 기능 요구, 아키텍처, 계약, 상태 전이의 원천 문서 |
| 구현 근거 | 실제 repo와 주요 파일 |
| 검증 근거 | 테스트, dry-run, lint, build, ADB/logcat, fixture |
| 남은 공백 | 아직 실기기/업체 구현/benchmark artifact로 확인해야 하는 부분 |
문서가 “충분”하다고 판단되려면 최소한 설계 근거와 구현 근거가 연결되어 있어야 한다. 제품 통합 완료로 보려면 검증 근거까지 연결되어야 한다.
2. 핵심 문서별 근거
| Wiki 장 | 설계 근거 | 구현 근거 | 검증 근거 | 남은 공백 |
|---|---|---|---|---|
| System Overview | 사용자 발화가 Cloud plan, On-device bridge, DeviceAgent task로 내려가는 전체 구조 | Cloud orchestrator.py, task_manager.py; On-device ForegroundService.kt; DeviceAgent TaskManager.java |
llmwiki build, 구조도 생성 |
실기기 전체 E2E |
| Planner and Routing | route family, turn_mode, multi-step, STT_NULL, second pass 정책 |
gemini/a2a/planner/main_router_api.py, assets/main_router.system_prompt.txt, response schema |
benchmark/full-run artifact, planner sample tests | 최신 prompt 기준 결과 보존 |
| Contract Matrix | Cloud, On-device, DeviceAgent payload 경계 | Cloud runtime response, On-device request parser, DeviceAgent TaskManager API | contract fixture, task event verifier | 실제 callback payload 호환 검증 |
| Device Task Flow | 복합명령을 sequential workflow와 dependency로 실행하는 구조 | build_device_task_requests(...), CloudIntentWorkflowRunner.kt, DeviceIntentExecutor.kt |
dry-run, runner unit tests | DeviceAgent native task E2E |
| Scenario Walkthroughs | 실제 발화를 plan/input_from/output_key/device request로 바꾸는 예시 | Cloud planner output schema, runtime task conversion | planner live/dry-run output | fixture를 versioned artifact로 보존 필요 |
| 19.comToMe A2A Workflow Example | /home/silogood/work/19.comToMe 원본 설계 |
ComeToMe는 구현 예정 기능. DeviceAgent TaskManager/SoC domain 연결 필요 | 문서/구조도 build 검증 | 실제 comeToMe method, stage gate, callback 구현 |
| 19.comToMe DeviceAgent Contract | ComeToMe system design, speaker recognition scenario | DeviceAgent TaskManager, Speaker/Location/DoA/Vision/AMR/FollowMe domain 구현 필요 |
JSON fixture, vendor acceptance 예정 | 업체와 method/reason/payload 확정 필요 |
| SoC TaskManager Execution Subsystem | TaskManager를 SoC 실행 오케스트레이션으로 보는 설계 | TaskManager.java, TaskReasonContract.java, TaskEventListener.java, DevicePlanningContextProvider.java |
unit/instrumented test 예정 | 업체 구현물과 라인 단위 diff/evidence 필요 |
| DeviceAgent / SoC Domain Map | task, moving, cleaning, map, schedule, interaction 도메인 경계 | moving/, cleaning/, map/, schedule/, interaction/ package |
source scan, static mapping | 실제 task method별 executor binding 검증 |
| Memory and Personalization | session/day/week/profile memory 계층 설계 | 구현 예정 DB/repository/sync worker | 문서 설계 수준 | migration, sync, privacy, deletion 구현 필요 |
| Benchmark and Router Evolution | family별 성능 개선과 실패 축 | benchmark scripts/results folders | full-run benchmark artifact | 최신 채택 버전 고정 필요 |
| Validation Guide | ADB-free, dry-run, real-device 검증 단계 | Cloud tools, On-device tests, DeviceAgent tests | llmwiki lint, dry-run, ADB/logcat 예정 |
실기기 연결 후 artifact 수집 |
3. Repo별 근거 위치
3.1 Cloud A2A
/home/silogood/work/8.cloudLLM/backend-cloud-llm-lambda
주요 근거:
| 영역 | 파일 |
|---|---|
| Planner entry | gemini/a2a/planner/main_router_api.py |
| Planner prompt | gemini/a2a/planner/assets/main_router.system_prompt.txt |
| Planner response schema | gemini/a2a/planner/assets/main_router.response_schema.json |
| Runtime orchestrator | gemini/a2a/runtime/orchestrator.py |
| Device task conversion | gemini/a2a/runtime/task_manager.py |
| Workflow event state | gemini/a2a/runtime/workflow_state.py |
| Device E2E tools | gemini/a2a/tools/device_e2e_*.py, task_event_contract_verifier.py |
3.2 On-device Bridge
/home/silogood/work/2.A1_LLM_Aent/skmagic_ondeviceai_agent
주요 근거:
| 영역 | 파일 |
|---|---|
| Cloud response entry | ForegroundService.kt |
| Device intent workflow | CloudIntentWorkflowRunner.kt |
| Device intent execution | DeviceIntentExecutor.kt |
| DeviceAgent communication | DeviceCommunicator.kt |
| Request model | CloudDeviceTaskRequests.kt, ManagedDeviceTask.kt |
3.3 DeviceAgent / SoC
/home/silogood/work/1.A1_SoC_new/SoC/a1-packages
주요 근거:
| 영역 | 파일 |
|---|---|
| TaskManager API | apps/DeviceAgent/app/src/main/java/com/sk/airbot/deviceagent/task/TaskManager.java |
| Event callback | TaskEventListener.java |
| Reason contract | TaskReasonContract.java |
| Planning context | DevicePlanningContextProvider.java |
| Ingress classification | TaskIngressClassifier.java |
| API gateway | apps/DeviceAgent/app/src/main/java/com/sk/airbot/deviceagent/main/api/MainApi.java |
| Movement domain | moving/ package |
| Cleaning domain | cleaning/ package |
| Map/domain data | map/ package |
| Schedule domain | schedule/ package |
3.4 19.comToMe
/home/silogood/work/19.comToMe
주요 근거:
| 영역 | 파일 |
|---|---|
| ComeToMe system design | docs/strategy/short-term/com-to-me-system-design.md |
| Speaker recognition scenario | docs/strategy/short-term/com-to-me-speaker-recognition-service-scenario.md |
| ComeToMe flow | docs/diagrams/com-to-me-flow.mmd |
| Speaker recognition SVG | docs/diagrams/com-to-me-speaker-recognition-service.svg |
4. 검증 수준 분류
| 수준 | 의미 | 현재 예 |
|---|---|---|
| L0 문서화 | 설계와 책임이 문서로 정리됨 | Memory, ComeToMe stage 설계 |
| L1 소스 연결 | 문서가 실제 source file과 연결됨 | Source Map, DeviceAgent Domain Map |
| L2 정적 검증 | build/lint/source scan이 통과함 | llmwiki build, llmwiki lint |
| L3 dry-run 검증 | 실제 runtime output 또는 fixture로 구조 검증 | planner/device task dry-run |
| L4 통합 검증 | On-device와 DeviceAgent callback까지 연결 | runner/unit/instrumented test |
| L5 실기기 검증 | ADB/logcat/artifact validator로 확인 | 아직 남은 영역 |
현재 A2A Wiki는 대체로 L1~L2까지 정리되어 있고, 일부 Cloud/On-device 경로는 L3 근거가 있다. 제품 통합 완료 문서가 되려면 L4~L5 evidence가 추가되어야 한다.
5. 남은 근거 수집 체크리스트
| 우선순위 | 필요한 증거 | 연결할 문서 |
|---|---|---|
| P0 | ADB 실기기 logcat에서 device_task_requests -> TaskManager -> callback trace 확인 |
Validation Guide, Status and Gap Audit |
| P0 | DeviceAgent 업체가 제출하는 submitTask, submitWorkflow, onTaskEvent 테스트 결과 |
Vendor Test Evidence Template |
| P1 | comeToMe method/stage/reason payload 실제 구현명 확정 |
19.comToMe DeviceAgent Contract, Vendor Open Questions |
| P1 | 최신 router benchmark full-run 결과와 family별 실패 샘플 | Benchmark and Router Evolution |
| P2 | Memory DB migration/repository/sync worker 구현 diff | Memory DB and Sync Contract |
| P2 | SoC/AOSP init/service/HAL/AIDL/SELinux 경계 분석 | 향후 SoC/AOSP architecture page |