← Docs hub

Agentic Capability Change Ledger 2026-07-30

이 문서는 A2A·온디바이스·MR6 DeviceAgent·wiki 변경 범위를 섞지 않고 추적하기 위한 작업 기록이다.

1. 이번 작업 패키지

범주 저장소 파일 변경 목적 Runtime 영향 검증
대표 시나리오 llmwiki adaptive-home-guardian-supervisor.md 전체 기능을 하나의 Agentic 목표 루프로 설명 없음 문서 테스트·build·lint
구조도 llmwiki adaptive-home-guardian-supervisor.svg Goal/Observe/Decide/Act/Evidence와 현재 공백 시각화 없음 XML parse·public asset 확인
계획 계약 llmwiki adaptive-home-guardian-plan-contract.json 단계·관찰·재계획·readiness를 machine-readable하게 고정 없음 JSON schema 성격 테스트
데이터 흐름 llmwiki cloud-ondevice-deviceagent-data-flow.md 기존 SVG만 있던 Cloud→On-device→DeviceAgent 스키마 설명 복구 없음 기존 data-flow 문서 테스트
탐색 경로 llmwiki deviceagent-agentic-function-catalog.md, deviceagent-agentic-capability-composition-guide.md, index.md 새 대표 시나리오 연결 없음 링크·discoverability 테스트
검증 계약 llmwiki test_adaptive_home_guardian_scenario.py 과장된 완료 주장과 capability 불일치 방지 없음 pytest
Cloud 관찰 ingest Cloud A2A semantic_observation.py, lambda_function.py, workflow_state.py 의미 관찰 검증·dedup·workflow 반영 있음 전용 7건, 관련 회귀 41건
로컬 shim Cloud A2A local_lambda_shim.py observation 전용 test transport 테스트 환경 전용 2건
완료 증거 producer MR6 DeviceAgent SemanticObservationStore.java, TaskCompletionStateStore.java, DevicePlanningContextProvider.java 물리 완료 evidence 저장·context 노출 있음 관련 JVM 테스트 성공
실시간 observation callback MR6 DeviceAgent SemanticObservationCallbackPublisher.java, ModuleCmdCallbackPolicy.java, DeviceAgent.java 신규 observation을 LLM bridge에 즉시 방출 있음 전체 unit·APK build 성공
durable callback relay On-device DurableOrderedDeviceEventOutbox.kt, DeviceCommunicator.kt, ForegroundService.kt task/observation 저장·순서·retry·restart replay 있음 전체 unit·APK build 성공
공통 orchestration response dispatch On-device CloudTaskEventOrchestration.kt, DeviceCommunicator.kt, ForegroundService.kt, CloudOrchestrationResponseDispatchTest.kt semantic observation과 task-event 응답의 workflow/task/control 요청을 동일 관문으로 TaskManager bridge에 전달하고 legacy/fallback 호환 유지 있음 전용 4건, 전체 unit, assembleDebug, lintDebug 성공
typed Experience Supervisor Cloud A2A experience_supervisor.py, semantic_observation.py, lambda_function.py explicit 의미 경계만 LLM 판단, budget·dedup·etag guard 있음 관련 회귀 94 passed
Supervisor decision-to-plan bridge Cloud A2A experience_decision_plan.py, semantic_observation.py, lambda_function.py typed Supervisor 결정을 catalog-grounded task 또는 bounded Planner replan으로 변환. 임의 taskMethod·capability·argument 생성 차단 있음 전용 25 passed, Cloud 관련 회귀 206 passed
AWS connectivity producer MR6 DeviceAgent ConnectivityObservationBridge.java, MainApi.java, DevicePlanningContextProvider.java IotAgent 연결 상태를 개인정보 없는 snapshot·semantic observation으로 노출 있음 타깃 test 및 전체 unit·APK build 성공
WSS/Vision semantic adapter MR6 DeviceAgent WssSemanticObservationAdapter.java, WssManager.java, DevicePlanningContextProvider.java domain 판정 이벤트와 현재 Security 상태를 bounded observation/context로 노출 있음 adapter 12건, context test, 전체 unit·APK build 성공
WSS person·verification 의미 경계 MR6 DeviceAgent MainApi.java, WssManager.java, WssSemanticObservationAdapter.java, WssIpcEventBundleFactory.java 지속 감지된 사람과 PIN/얼굴 인증 결과를 신원정보 없는 typed observation으로 변환하고 TaskManager 시작 workflow/step ID를 별도 보존 있음 타깃 12건, 전체 unit·APK build 성공
Managed Security Cloud 계약 Cloud A2A capability_registry.v2.json, device_task_contract.py, task_manager.py security_patrolstart/pause/resume/stop을 typed task와 completion target으로 변환 있음 관련 Cloud 회귀 포함 126 passed
Managed Security 범용 전달 증거 On-device ManagedDeviceTaskTest.kt 전용 문장 규칙 없이 임의 Security taskMethod, completion target, workflow/step ID를 기존 범용 TaskManager bridge가 보존함을 고정 테스트만 전용 unit test와 관련 build 성공
Managed Security 실행·완료 계약 MR6 DeviceAgent·TaskManagerClient TaskMethods.java, TaskPolicyRegistry.java, TaskExecutorBootstrap.java, MainApiTaskExecutor.java, MainApi.java, WssManager.java, WssTaskCompletionReporter.java WSS pause/resume/stop을 관리 task로 등록하고 실제 상태 전이·idempotent 성공·abort를 terminal evidence로 연결 있음 DeviceAgent 214 tests와 APK build, TaskManagerClient 전체 test 성공
장시간 도메인 자원 admission 1차 MR6 DeviceAgent·TaskManagerClient TaskDomainResourcePolicy.java, TaskManager.java, TaskDomainResourcePolicyTest.java, API_SPEC.md 발화 규칙 없이 typed task와 실제 Security·Streaming·VitalSign 상태로 명백한 충돌을 조기 거절하고 workflow step마다 재검사 있음 전용 5건, TaskManagerTest, DeviceAgent 전체 220건과 release build 성공
실기기 배포·Security ingress A1 baseline·MR6 산출물 platform-signed DeviceAgent release, Binder TaskManager ingress signer·APK hash·부팅·queue·terminal callback을 실기기에서 검증 있음 remote/local APK SHA 일치, 등록 task method 56개, dry-run Security STARTED/COMPLETED, 실제 availability 조회 완료
LLM·음성 pipeline producer MR6 DeviceAgent LlmPipelineObservationBridge.java, LlmManager.java, MainApi.java, DevicePlanningContextProvider.java 발화 내용 없이 reported pipeline 상태를 typed observation과 voice_llm snapshot으로 노출 있음 타깃 10 tests, 전체 unit·APK build 성공
Agentic device context projection Cloud A2A main_router_api.py voice_llm, network, security와 최근 non-stale semantic event 최대 6건의 allowlist만 Planner compact context로 투영 있음 Planner 40 passed, Supervisor·observation 17 passed
Device source freshness 계약 MR6 DeviceAgent·Cloud A2A SourceFreshnessTracker.java, battery/AQ producer, AWS/LLM bridge, DevicePlanningContextProvider.java, main_router_api.py, orchestrator.py 주기 sample과 이벤트 기반 상태를 구분하고 오래되거나 무효인 값을 Planner condition과 사용자 답변에서 제외 있음 DeviceAgent 227 tests·APK build, Cloud 영향 모듈 79 passed, 광역 596 passed
Active workflow observation policy Cloud A2A·llmwiki semantic_observation_registry.v1.json, observation_policy.py, Planner schema/prompt, workflow state, deviceagent-semantic-observation-catalog.* 발화 keyword가 아니라 Planner가 선택한 catalog contract, workflow correlation, freshness, privacy, step scope, decision budget으로 Supervisor 호출 경계를 결정 있음 Cloud 전용 10 passed, wiki 계약 3 passed; platform-signed observation→replan→physical terminal E2E는 미검증
Task runtime Planning Context MR6 DeviceAgent·Cloud A2A·llmwiki TaskManager.java, DevicePlanningContextProvider.java, main_router_api.py, Planner prompt, deviceagent-agentic-io-coverage-matrix.* 기존 TaskRecord를 유일한 권위로 active workflow/current step과 recent terminal을 bounded allowlist로 Planner에 제공 있음 MR6 231건·APK build, Cloud 관련 141건, wiki 전용 8건 통과; platform-signed callback/replan E2E는 미검증
공통 decision-evidence loop Cloud A2A·On-device·llmwiki workflow_state.py, experience_decision_plan.py, lambda_function.py, 공통 orchestration response COMPLETEDWORKFLOW_STEP_COMPLETED를 단계 완료로 정규화해 step_results와 다음 dependency를 해제하고 Supervisor/Replanner 질문을 replan_decision.tts_response로 전달 있음 RED 3건 확인 후 GREEN, Cloud 관련 회귀 112 passed, On-device 공통 응답 unit과 wiki 계약·asset 44 passed; platform-signed 실기기 E2E는 미검증
Capability result binding boundary MR6 DeviceAgent·Cloud A2A·llmwiki TaskManager.java, workflow_state.py, task_manager.py, capability_registry.v2.json, data-flow·Welcome 문서 DeviceAgent가 실제 step method/result를 완료 event에 싣고, Cloud result_contract_defaults·bindable_result_fields와 destination slot으로 다음 단계 입력을 제한. 미선언 reference는 STEP_RESULT_BINDING_FAILED로 재계획 대기 있음 TDD RED 2건 후 GREEN, same-turn reference 4건, Cloud 관련 회귀 128 passed, MR6 TaskManagerTest 전체 Gradle 성공; platform-signed 실기기 연쇄 E2E는 미검증
Experience Replanner result-dependent plan Cloud A2A·llmwiki experience_decision_plan.py, workflow_state.py, semantic_observation.py, lambda_function.py, data-flow·Welcome 문서 bounded Replanner가 catalog allowlist의 input_from만 생성하고 첫 ready step만 Cloud가 제출. plan을 workflow state에 설치해 terminal callback이 허용 result를 다음 slot에 바인딩하고 후속 step을 재개 있음 TDD RED 2건 후 GREEN, focused 46건, Cloud 관련 회귀 156 passed; platform-signed 실기기 연쇄 E2E는 미검증
DeviceAgent execution-surface alignment MR6·Cloud A2A·llmwiki 4개 AIDL, TaskExecutorBootstrap.java, Capability Card·runtime binding manifest, inventory audit 저수준 AIDL 68개·executor 9개·TaskManager method 56개·Card 연결 method 24개를 분리하고 Card를 실제 Cloud catalog·전문 Agent·workflow primitive에 14 connected·3 partial·1 blocked로 명시 연결. framework API를 TaskManager method에서 분리 문서·감사 계약 MR6 source와 Cloud registry를 읽는 자동 감사 통과. 실기기 Agentic 연쇄 E2E는 별도
Agentic I/O 전체 원장 MR6·Cloud A2A·llmwiki deviceagent-agentic-io-coverage-matrix.*, audit_deviceagent_agentic_inventory.py, Welcome plan result binding 실제 MR6의 56개 task method, 12개 Planning Context bundle, 9개 semantic observation, 18개 capability card를 12개 기능군의 Observe·Decide·Act·Evidence 폐루프로 대조 문서·계약만 MR6 source 대조·SVG parse 포함 wiki 전용 8 passed; physical E2E는 미검증
기능 인벤토리 정합 MR6·llmwiki TaskExecutorBootstrap.java, MR6 source ledger, function catalog, Capability Card, Guardian plan/SVG 실제 56개 등록 method와 9개 executor 객체, 현재 network·voice_llm·security·semantic observation·Supervisor bridge 상태로 문서와 기계 계약 갱신 문서·계약만 정합 테스트, JSON/SVG parse
Executor 폐쇄성 원장 MR6·Cloud·On-device·llmwiki 2026-07-30-agentic-executor-closure-matrix.md, deviceagent-executor-closure-matrix.md 56개 등록 method를 Cloud 의미 계획, 범용 전달, domain terminal, 내부 전용으로 분리하고 setLanguage·setPuiWaitingScreenTheme fallback 의존과 interSchedule typed action 공백을 기록 문서·계약만 56개 행·상태 합계·핵심 경계 문서 테스트
실행 폐루프·freshness 감사 MR6·On-device·llmwiki DevicePlanningContextProvider.java, CleaningAmpTaskExecutor.java, VisionAIManager.java, StreamingControlStub.java, DeviceCommunicator.kt 등록 기능과 실제 실행 가능성, sensor freshness, Cloud plan 생성과 On-device dispatch를 분리해 기록 문서·계약만 source 재확인, 문서 정합 테스트

초기 작업 패키지는 문서와 계약만 수정했지만, 이후 별도 vertical slice에서 Cloud, On-device, MR6 runtime source를 수정했다. 현재 callback 생성부터 Cloud ingest와 Supervisor decision-to-plan 생성은 연결됐고, On-device semantic response dispatch는 코드 연결됨 상태다. 즉, Cloud decision-to-plan 생성은 연결 상태를 유지하면서 실행 관문까지 확장한 것이다. semantic observation과 task-event는 동일한 OrchestrationResponse handler에서 workflow/task/control request를 처리한다. 로컬 단위·전체 빌드 검증은 통과했지만 platform-signed 실기기 E2E는 미검증이다. 따라서 Supervisor 재계획 dispatch를 physical terminal까지 완료했다고 간주하지 않는다. 현재 MR6 산출물은 A1 platform certificate로 서명해 실기기에 배포했다. 재부팅·TaskManager 초기화와 Security dry-run callback까지 확인했지만, 현재 WSS 가용성 조회가 실패하므로 실제 Security session과 도메인 실충돌 E2E 완료로 보지 않는다.

2. 현재 누적 Runtime 변경 범주

아래는 현재 working tree에 존재하는 누적 변경 범주다. 단순 git status만으로 작성 주체를 모두 판별할 수 없으므로, 이번 작업 패키지의 신규 수정으로 간주하지 않는다.

계층 누적 변경 범주 대표 파일
Cloud A2A typed action, capability grounding, task/workflow compiler, callback state와 bounded replan main_router_api.py, task_manager.py, workflow_state.py
On-device context 첨부, Cloud workflow 제출, task-event relay, TTS 이후 dispatch ForegroundService.kt, DeviceCommunicator.kt, CloudIntentWorkflowRunner.kt
MR6 DeviceAgent TaskManager lifecycle, movement/cleaning completion, schedule admission, monitor/Iot/Launcher bridge TaskManager.java, MovementTaskExecutor.java, TaskMonitorCommandPoller.java
Wiki/Console A2A Text Console, Task Monitor, capability/context/contract 문서 apps/a2a-text-console, apps/task-monitor-dashboard, docs/a2a

3. 이번 조사에서 확인한 사실

항목 판정 근거
이동·복귀 연결됨 MR6 MovementTaskExecutor, movement.arrived, movement.stationCharging
generic TaskManager lifecycle 연결됨 TaskManager event와 TaskCompletionStateStore
WSS/Vision 의미 관찰 부분 연결 WSS session, low-light, condition, 지속 person 감지와 PIN/face 인증 outcome은 연결. TaskManager correlation은 코드 연결됐고 asset lifecycle·실기기 E2E는 미검증
Cloud Security planning 코드 연결됨 security_patrol capability가 lifecycle operation을 typed DeviceAgent task로 변환. Vision은 raw 실행 capability가 아니라 의미 observation으로 유지
Supervisor 계획 변환 코드 연결됨 return_to_station은 catalog default operation으로 직접 컴파일하고, 일반 replan은 현재 plan의 allowed_action_contracts 안에서만 두 번째 bounded Planner를 호출
On-device Security 전달 코드 연결됨 기존 generic ManagedDeviceTask가 Security task method와 workflow metadata를 그대로 전달. 별도 문장 adapter는 추가하지 않음
WSS pause/resume/stop managed lifecycle 코드 연결됨 security queue, policy, validator, executor, MainApi, WSS 상태 전이와 security.paused/resumed/stopped 완료·abort 연결
WSS admission 거절 코드 연결됨 시작 가용성 실패는 security_command_rejected로 즉시 task 실패. completion timeout으로 대기하지 않음
Security·Streaming·VitalSign 충돌 admission 1차 코드 연결됨 startSecurityMode와 VitalSign launcher task의 확정 충돌만 typed contract와 현재 상태로 조기 거절. workflow는 각 step 직전에 재평가하며 종료·복구 명령은 허용
Device context의 AWS 상태 부분 연결 IotAgent 상태 cache를 network.aws_iot_connected로 노출. 구독 완료·publish ACK는 아님
Device context의 Security/Vision 부분 연결 session, stage, area, low-light, low-battery pause를 bounded snapshot으로 노출
Device context의 LLM 부분 연결 pipeline state, busy, voice session, backend, output은 연결. model readiness와 native death signal은 미연결
Device context의 Task runtime 코드 연결됨, 실기기 미검증 device-task-manager-context.v1이 active workflow/current step 최대 4건과 recent terminal 최대 4건을 기존 TaskRecord에서 projection. Cloud에서 재차 allowlist하며 raw input/result/message/conditions/reason params는 제외
Semantic decision 실행 폐루프 코드 연결됨, 실기기 미검증 Cloud decision-to-plan 생성과 On-device 공통 orchestration dispatch는 연결. platform-signed observation→replan→TaskManager→physical terminal E2E는 미검증
이전 단계 결과의 다음 단계 입력 코드 연결됨, 실기기 미검증 move_to_room·stationary_purify result allowlist, destination slot 검증, invalid binding fail-closed와 Experience Replanner의 동적 plan 설치·callback resume가 연결됨. 나머지 capability schema는 후속
Active workflow observation promotion 코드 연결됨, 제한적 producer 명시 경계 또는 active workflow의 catalog subscription으로 Supervisor 후보를 만든다. WSS Security event는 TaskManager 시작 workflow와 correlation 가능하지만 AWS·LLM observation은 아직 unscoped
상태 freshness 1차 코드 연결됨 배터리·공기질은 TTL, AWS·LLM은 event-driven source validity로 구분. Cloud는 explicit unusable/stale 값을 조건·답변에서 제외. 위치·Map·실기기 cadence 검증은 남음
Adaptive Home Guardian 전체 E2E 미검증 runtime 연결 공백과 실기기 terminal evidence 부족

4. 실기기 배포 및 Security 경로 증거

2026-07-30 기준 실기기 192.168.123.118:5555에 MR6 DeviceAgent release를 배포했다.

경계 확인 결과
서명 A1 platform certificate SHA-256 일치
APK 동일성 local release와 system priv-app SHA-256 일치
부팅 sys.boot_completed=1, DeviceAgent·MaumAi·Launcher 프로세스 유지
초기화 Schedule DB, WSS, Streaming, semantic observation producer 기동
TaskManager executor 56개, public queue 11개, 현재 task 0개
Security dry-run PENDING -> STARTED -> COMPLETED, 온디바이스 callback 수신
Security 실제 조회 checkSecurityBasicAvailability 완료. reasonCodes=5는 WSS 미구독 + PIN 미등록이며 privacy/network/camera 오류는 아님

이 결과는 “Cloud Planner가 실제 Security session을 성공시켰다”는 증거가 아니다. 아래 경로 중 DeviceAgent ingress와 terminal callback 경계만 검증한 것이다.

사용자 발화
-> Planner typed Security action
-> On-device ManagedDeviceTask
-> DeviceAgent submitTask
-> TaskManager security queue
-> MainApi executor
-> onTaskEvent STARTED/COMPLETED

Planner와 On-device까지 포함한 전체 경로, 실제 WSS session, Security·Streaming·VitalSign 실충돌은 별도 E2E로 남는다.

5. Semantic Observation vertical slice

TaskCompletionStateStore
  -> SemanticObservationStore
  -> DevicePlanningContextProvider

DeviceAgent callback producer  [연결됨]
  -> DeviceCommunicator receiver
  -> durable ordered outbox
  -> ChatRepository
  -> Cloud semantic observation ingest
  -> workflow observation delta

현재 연결 상태

경계 상태 비고
물리 완료 evidence 생성 연결됨 telemetry-only observation 생성
bounded context snapshot 연결됨 boot ID, source sequence, TTL/freshness 포함
On-device receiver/API 연결됨 전용 계약 직렬화·파싱 검증
Cloud 검증·dedup 연결됨 일반 chat/model 호출과 분리
MR6 실시간 callback 방출 연결됨 신규 event만 LLM caller로 방출
실제 Supervisor 판단 코드 연결됨 typed enum, budget, decision dedup, etag guard
restart-safe relay 코드 연결됨 실기기 kill/restart 증거 필요
AWS 연결 상태 observation 코드 연결됨 최초 상태·전이만 telemetry로 기록, workflow correlation은 없음
WSS/Vision observation 코드 연결됨 세션·저조도·조건·지속 person 감지·인증 outcome만 allowlist. TaskManager 시작 workflow/step correlation은 코드 연결, 신원정보와 실기기 증거는 없음
LLM·음성 observation 코드 연결됨 내용 없는 상태 전이만 기록. model readiness와 workflow correlation은 없음
Planner agentic context projection 코드 연결됨 voice_llm, network, security와 최근 non-stale 의미 event 최대 6건만 투영. battery/AQ/network/voice_llm은 explicit source freshness가 사용 가능할 때만 condition path를 연다. 자체 재계획은 하지 않음
Semantic/task-event 공통 응답 dispatch 코드 연결됨 workflow/task/control request, agent activity, workflow state, replan TTS를 공통 handler에서 처리. legacy handler와 direct fallback 유지

의미 경계

6. 다음 Runtime 작업 후보

Runtime 수정은 아래 범주를 각각 독립 작업으로 선언한 뒤 진행한다.

  1. Vision, Streaming, WSS, VitalSign, LLM resource lease와 admission matrix.
  2. Console Experience timeline과 outbox 상태.
  3. 실기기 Home Guardian E2E 및 restart replay evidence.
  4. Supervisor decision-to-plan bridge의 platform-signed 실기기 dispatch와 callback correlation 증거.
  5. AWS 연결 observation의 active workflow correlation과 실기기 callback 증거.
  6. WSS observation correlation과 Managed Security lifecycle의 platform-signed 실기기 E2E, asset lifecycle, person/verification callback 증거.
  7. LLM 상태 observation의 workflow/step correlation과 native model readiness/death 계약.
  8. 위치·Map revision·Security·Streaming source freshness와 실기기 sample cadence 검증.

장시간 도메인 자원 admission 1차 경계

이번 변경은 완전한 resource lease registry가 아니다.

7. 설명 원칙

향후 변경 설명은 다음 순서로 제공한다.

사용자 목표
-> Planner가 만든 의미 계획
-> 온디바이스가 변환한 요청
-> TaskManager가 관리하는 단계
-> DeviceAgent가 실행한 실제 기능
-> callback과 완료 증거
-> 남은 미연결 구간

“기능이 소스에 있다”와 “A2A 복합 workflow에서 검증됐다”를 같은 뜻으로 표현하지 않는다.

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