← Docs hub

SKIX 전체 진행 현황

목표는 DeviceAgent를 설치하거나 실행하지 않아도 Framework가 현재 제품 기능을 수행하는 것입니다. 10/20 현재 로봇 이동·위치 발행·매핑의 실행 책임과 Host 연결을 소스에서 계속 이관했지만, 실제 제품 효과 공급체와 부팅 시 조립·소비자 등록이 남아 있어 전체 독립 실행 완료는 아닙니다.

갱신 2026-10-20 · 기준 refactor/blueprint-foundation / 4d9b1a57 + 미커밋 변경. 변경 묶음별 소스 해시·검증 기록으로 구분합니다. 이번 갱신은 문서 배포이며 기기에 접근하지 않았습니다.

10/20 현재 위치 · 통합 시험 확대, 제품 시작 연결은 진행 중

현재는 이동청정의 주요 실행 로직과 Host 연결을 이관하고, 같은 원 Task에서 이동→Scan 측정→최악 공간 복귀→Basic 청정까지 이어지는 경로를 Host/JVM 시험으로 확인한 단계입니다. DeviceAgent 없이 제품 전체가 부팅·동작하는 단계는 아직 아닙니다.

구분 현재 확인한 범위 남은 조건
이동·Location·Scan·Basic 조립 같은 Task·공동 예약·부모 Location을 유지하는 Host 진입점과 실행 조립 검증 실제 제품 시작 경로에서 첫 native 이동 전에 조립 호출
최근 통합 시험 실제 Host Scan factory/Core·관측 monitor·부모 transaction·Basic 연결. CW 논리 도착→pause→native CCW, 보고 1회·최악 공간 복귀·Scan 정리 후 Basic 시작 확인 한 공간·합성 센서/시계·제어된 native/제품 대역·수동 회전 도착 입력 범위를 넘는 실기 인수
청정 요청 시작·완료 구현 중. 기존 Core·공유 요청 상태를 사용하는 Host binding 추가, 요청 교체·폐기 후 완료 차단 집중 시험 1건 통과 원 Task를 캡처하는 factory, 영향 시험·명세/품질 검토·최신 Host 컴파일 미완료
전체 제품 효과·시작 경로 소스 감사에서 transaction의 18개 위임 효과와 시작 override·전체 robot runtime 호출 연결의 공백 확인 실제 제품 효과 공급체와 시작 호출 연결. 18개는 해당 계약의 메서드 수이며 전체 잔여 기능 수가 아님
native 관측 실행별 원점 식별 계약 미해결 수신 시점의 현재 Task를 임의 부착하지 않고 실제 실행·목표·기기 세대와 상관관계 확보
전체 DeviceAgent 독립 실행 미완료 오류·이력·초기화·WSS/streaming·소비자/데이터 소유권·MR6 task_manager 이관, 최신 APK·플랫폼 서명·DeviceAgent 없는 실기 인수

검증 근거: C20261020-moving-full-scan-completion/evidence.json은 저장된 영향 2건 통과(26.23초, 상속 중복 포함), 명세→품질 검토 통과와 당시 9개 소스 해시 확인을 기록합니다. 제품 수정·빌드·기기 접근 없이 통합 시험을 보강한 결과입니다. 이후 Host 청정 요청 구현이 진행 중이므로 당시 Host 해시·컴파일 결과를 현재 변경 전체의 검증으로 간주하지 않습니다. C20261020-moving-product-endpoints/evidence.json은 소스 감사 정확성 검토 통과이며 제품 공백 해결 완료가 아닙니다. C20261020-moving-robot-cleaning/green-first.log의 1건 통과(3.32초)는 집중 시험 중간 결과입니다.

얼마나 진행했나: 이동청정은 개별 로직 이관에서 같은 Task의 통합 경로 시험까지 진전했습니다. 다음 관문은 청정 요청 lifecycle과 실제 제품 효과를 원 Task에 연결하고 첫 native 이동 전 시작 경로에 통합하는 것입니다. 전체 기능별 완료 기준·규모가 확정되지 않아 전체 완료율은 미산정입니다. 시험 수나 18개 위임 메서드를 전체 진행률로 환산하지 않습니다.

이번 갱신은 문서만 수정·배포하며 기존 구현 변경을 보존합니다. 제품 시험·빌드는 재실행하지 않으며 기기에 접근하지 않습니다. ACK·논리 완료는 물리 도착·정지·Task 성공·자원 해제 증거가 아닙니다. 기준은 refactor/blueprint-foundation / 4d9b1a57 + 미커밋 변경이며 총 토큰·동등 작업 비교 기준은 미측정입니다.

이전 체크포인트 · native 이동과 부모 Scan 조립 검증 완료

현재 단계는 원 Task·부모 Location·Basic·Scan을 제품 시작 경로에 통합하는 중입니다. DeviceAgent 없이 전체 기능이 동작하는 제품 인수는 아직 완료되지 않았습니다.

구분 진행 상태 남은 작업
같은 부모 Location의 Scan·최악 공간 복귀 구현·명세/품질 검토·Host Java 컴파일 완료 실제 기기 이동·도착·정지 검증
Scan 이동 상태 입력 검증 완료. 원 상태를 기존 Core에 전달하며 복귀 상태를 도착·완료로 승격하지 않음 부모 관측 공급체와 제품 시작 경로 연결
Scan 효과 독립 주입 검증 완료. 10개 Scan 효과를 별도 계약으로 위임하고 기존 생성자·부모 params/clock/movement 유지 실제 부모 Scan 실행 공급체를 Host factory에 주입
부모 Scan 실행 공급체 검증 완료. 재진입으로 폐기된 완료 callback 전달을 차단하고 공간 identity·순서와 기존 완료→release 순서를 보존 실제 Host factory·부모 관측 주입
실제 Host Scan Session 검증 완료. 기존 MovingScanBinding을 부모 Session 계약에 연결. 실제 Core 진행/일시정지 조회와 전체 정리를 위임 같은 Task의 factory·관측 연결
Host Scan factory 검증 완료. 생성 시 동작하지 않으며 초기화 때 같은 Location을 연결. 조립 실패 시 미공개 Scan 소유권 누수 수정·회귀 검증 같은 부모에 Scan 실행·관측 동시 주입
최악 공간 복귀 중 일시정지/재개 검증 완료. 기존 Core 정책·세대 검사와 제어 중 동기 도착 차단 유지. 기본 robotStatus 0의 논리 일시정지는 모터 명령을 내리지 않음 물리 정지·재개 실기 인수
부모 Scan 실행·관측 동시 조립 검증 완료. 같은 Location으로 Scan 상태·도착·진행 관측을 전달하며 부모 종료/조립 실패 시 로컬 Scan 정리. Android Host 컴파일·API/해시·계층 확인 완료 실제 제품 시작 경로 연결·실기 인수
native 이동과 부모 Scan 조립 검증 완료. 원 Task·예약·Location을 유지하는 명시적 Host 진입점 추가. 첫 이동 전 조립하며 기존 진입점 보존 실행별 native 관측 식별, 전체 제품 효과 공급체·제품 시작 경로 연결
전체 DeviceAgent 독립 실행 미완료 native 관측 상관관계, 오류·이력·초기화·WSS/streaming·소비자/데이터 소유권·MR6 task_manager 이관, 최신 APK·플랫폼 서명·실기 인수

검증 정본: C20261019-moving-scan-status-ingress/evidence.json은 영향 3건 통과(31.66초), 명세→품질 검토, Host Java exit 0(110.75초), 컴파일 API·2개 소스 해시 확인까지 완료했습니다. 이전 체크포인트의 품질/API/해시 대기는 해소됐습니다. C20261019-moving-scan-effect-supplier/evidence.json은 영향 5건 통과(44.36초), 명세→품질 검토, Host Java exit 0(113.87초), 컴파일 API·3개 소스 해시 확인을 기록합니다. 부모 공급체의 후속 완료 근거는 C20261019-moving-parent-scan-supplier/evidence.json: 영향 6건 통과(51.16초), 명세→품질 검토, Host Java exit 0(90.69초), API·2개 소스 해시·계층 확인입니다. 실제 Host Session은 C20261019-moving-host-scan-session/evidence.json: 17시나리오를 포함한 영향 4건 통과(36.82초), 명세→품질 검토, Host Java exit 0(104.88초), API·3개 소스 해시·계층 확인입니다. 후속 factory는 C20261019-moving-host-scan-factory/evidence.json에서 영향 3건 통과(27.28초)와 추가 집중 1건(11.14초, 중복), 명세→품질 검토, Host Java exit 0(107.15초), API·2개 소스 해시·계층 확인까지 완료했습니다. 복귀 제어는 C20261019-moving-scan-return-controls/evidence.json: 영향 4건 통과(41.06초), 명세→품질 검토, Host Java exit 0(111.91초), API·2개 소스 해시·계층 확인입니다. 부모 동시 조립의 최종 정본은 C20261019-moving-parent-scan-composition/evidence.json: 영향 6건 통과(51.04초), 명세→품질 검토, Host Java exit 0(104.83초), 컴파일 API·3개 소스 해시·계층 확인까지 완료했습니다. 후속 C20261019-moving-native-scan-composition/evidence.json은 native 이동과 같은 부모 Scan의 조립 진입점을 검증합니다. 영향 4건 통과(36.75초), 명세→품질 검토, Host Java exit 0(113.56초), 컴파일 API·생산 소스 해시·계층 확인을 기록합니다. 별도 배치 회귀 3건은 앞선 시험과 중복되므로 합산하지 않습니다. native peer와 Scan Session 대역을 포함한 검증이며 실제 Core·Host factory 전체 조합 및 제품 시작 호출자·전체 제품 효과 공급체는 남아 있습니다.

얼마나 진행했나: 이동청정 내부 실행과 Host 공급체, SDK/Launcher 일부 연결에 이어 원 Task의 native 이동·부모 Location·Scan 실행·관측을 함께 조립하는 코드까지 검증했습니다. 다음 관문은 이전 실행의 늦은 관측을 새 Task에 전달하지 않도록 실행 ID·기기 세대·관측 순번을 연결하고, 전체 제품 효과 공급체와 첫 이동 전 제품 시작 경로를 조립하는 것입니다. 이후 최신 APK·플랫폼 서명과 DeviceAgent 미설치/미실행 기기의 기존 기능 인수가 필요합니다. 전체 기능별 인수가 닫히지 않아 전체 완료율은 미산정입니다. 시험 수 합산을 완료율로 환산하지 않습니다.

기준은 refactor/blueprint-foundation / 4d9b1a57 + 보존된 미커밋 변경입니다. 이번 업데이트는 저장된 근거를 사용한 문서 작업이며 제품 시험·빌드·기기 접근을 재실행하지 않았습니다. Host/JVM·컴파일 증거는 APK·서명·실제 물리 동작 증거와 구분합니다. 주/검토 모델 총 토큰과 비교 기준도 미측정입니다. 아래 내용은 각 시점의 이전 체크포인트입니다.

10/19 최신 현황 · 같은 Location의 Scan·최악 공간 복귀 이관

현재는 이동청정의 원 Task·공동 예약을 유지하면서 부모 Location·Basic 자식·Scan을 연결하는 단계입니다. 같은 Location의 Scan 연결은 검증했으며, 실제 큐 시작 경로의 전체 조립과 DeviceAgent 없는 실기 인수는 남아 있습니다. 전체 완료율은 미산정입니다.

범위 확인한 진척 남은 조건
원 Task의 이동·부모 Location 첫 목표·후속 이동·회전·제어·도착 관측과 기존 Basic 시작 연결 실제 시작 경로에서 첫 native 이동 전에 전체 실행 조립
취소 후 캡처 정지 원 소유권 유지 시 기존 Location 정지 순서와 native pause를 1회 실행. tilt 해제 후 pause 실제 기기의 물리 정지·복구 인수
추가 검증 · 같은 부모 Location의 Scan 원 Task 예약과 같은 Location을 configured Scan에 연결. continuation/resume, native 호출 전후 권한 검사, 취소 후 캡처 정지 연결 부모 Scan lifecycle·관측 공급체 및 production startup
최신 보완 · 최악 공간 복귀 도착 측정 종료 뒤 정상 복귀 발행이 반환된 경우에만 원 구역·복귀 상태·방문 완료·비일시정지 조건으로 도착 1회 수락. 중복·동기 재진입 차단 컴파일 API·소스 해시 정리 완료. 실제 기기의 도착·정지 인수는 남음
추가 완료 · 같은 Location의 최악 공간 복귀 기존 측정 결과로 선택한 공간을 원 Task·부모 Location의 native 이동 경로로 전달. 복귀 발행 중 동기 도착·중복·취소·일시정지 재진입 차단 부모 전체 실행 조립과 실제 native/기기 수락
검토 중 · 이동 상태 입력 원 상태를 기존 Scan Core에 전달. CW 회전 완료는 기존 대기 단계로 이어지고 복귀 중 상태를 도착·완료로 승격하지 않음. 영향 3건 및 Host Java 통과, 명세 검토 통과 최종 품질 검토·컴파일 API/해시 증거 정리. 부모 관측 공급체는 아직 미연결
전체 독립 실행 Host·SDK·Launcher 연결과 내부 실행 로직을 단계별 검증 실행별 native 관측 상관관계, 오류·이력·초기화·WSS/streaming·나머지 소비자/데이터 소유권, MR6 task_manager 감사·이관, 최신 APK·플랫폼 서명·DeviceAgent 없는 실기 인수

저장된 검증 근거: C20261019-moving-location-captured-stop/evidence.json은 최종 증거 정리를 완료했습니다. C20261019-moving-shared-scan/evidence.json은 영향 시험 4건 통과(31.44초), 후속 9시나리오 포함 집중 시험 1건 통과(9.47초, 앞선 시험과 중복), 명세→품질 검토 통과, Host Java 컴파일 exit 0(105.35초), 컴파일 API·소스 해시·계층·추가 공백 확인을 기록합니다. C20261019-moving-scan-parent-ingress는 RED 재현 뒤 최신 영향 시험 3건 통과(32.71초), 명세→품질 검토 통과, Host Java 컴파일 exit 0(112.74초), 최종 API·소스 해시 확인까지 완료했습니다. 서로 겹치는 시험 수를 합산해 전체 진척률로 계산하지 않습니다.

추가 검증 정본: C20261019-moving-scan-native-return/evidence.json은 12시나리오 포함 영향 3건 통과(28.60초), mapping/release/product-state 회귀 3건 통과(7.46초), 명세→품질 검토, Host Java 컴파일 exit 0(106.49초), API·소스 해시·계층·추가 공백 확인을 기록합니다. C20261019-moving-scan-status-ingress는 영향 3건 통과(31.66초), Host Java 컴파일 exit 0(110.75초), 명세 검토 통과까지 확인했으며 최종 품질 검토와 증거 정리는 진행 중입니다. 두 결과 모두 실제 하드웨어 완료 증거는 아닙니다.

다음 한 단계: 부모 Scan lifecycle·관측 공급체를 같은 원 Task·부모 Location에 연결한 뒤, 큐의 첫 native 이동 전에 전체 실행을 조립합니다. 현재 production Port에 이 시작 override가 없다는 점을 확인했으며, 먼저 이동한 뒤 runtime을 붙이는 방식은 사용하지 않습니다.

검증 한계: 위 결과는 저장된 Host/JVM 시험·컴파일 기록이며 Android/native 대역을 포함합니다. 이번 Wiki 갱신에서 제품 시험·빌드 재실행이나 기기 접근은 하지 않았습니다. ACK·논리 OFF·화면 완료는 물리 도착·정지, Task 성공 또는 자원 해제의 증거가 아닙니다. 기준은 refactor/blueprint-foundation / 4d9b1a57 + 보존된 미커밋 변경입니다. 전체 기능별 인수 기준이 닫히지 않아 전체 완료율은 미산정이며, 주 모델·검토 모델의 총 토큰과 동등 작업 기준도 미측정입니다.

이전 체크포인트 · 원 Task의 native 이동과 부모 Location 연결

진행 단계: Framework 내부 실행 로직과 Host·SDK·Launcher 연결을 넘어, 원래 이동청정 Task의 이동 제어를 부모 실행에 연결하고 있습니다. 제품 시작 경로 통합과 DeviceAgent 없는 실기 인수는 아직 남아 있습니다. 전체 완료율은 미산정입니다.

구분 이번에 확인한 진척 남은 작업
검토 완료 · 원 Task native 이동 공급체 첫 목표·후속 이동·회전·일시정지/재개·복귀를 기존 Task와 공동 예약에 결합. 취소 뒤 정리는 원 소유권에서 한 번만 허용 같은 부모 Location의 Scan 전체 조립 및 실제 시작 호출 경로
검토 완료 · Scan 취소 경계 마지막 하드웨어 조회 중 Task가 취소되어도 이후 효과를 차단. 취소 시점 120곳을 순회하는 시험 포함 같은 부모 Location의 이동·회전·보고 효과 공급
검토 완료 · 부모 Location과 native 연결 하나의 부모 Location에 원 Task의 목표·후속 이동·복귀·제어와 도착 관측 연결. 첫 이동 1회·기존 Basic 시작·native 직전 home-lock 재검증 확인 같은 Location의 Scan 연결·production startup
검토 완료 · 원 소유권의 캡처 정지 기존 Location의 전체 정지 순서와 원 Task native pause 연결. Task 취소 뒤에도 원 Host·queue·motor·공동 예약·하드웨어 소유권이 유지될 때 1회만 허용. MOVING/DOCKING tilt 해제 후 pause 순서 확인 Scan에서 이 정지 경로 소비, 실제 기기 정지·복구 인수

저장된 검증 기록: C20261019-moving-native-owner/evidence.json은 영향 시험 5건 통과(43.67초), 명세→품질 검토 통과, Host Java 컴파일 exit 0(152.36초)입니다. C20261019-moving-scan-final-fence/evidence.json은 영향 시험 3건 통과(46.42초), 명세→품질 검토 통과, Host Java 컴파일 exit 0(175.04초)입니다. C20261019-moving-parent-native-location/evidence.json은 최종 영향 시험 5건 통과(42.67초), 명세→품질 검토 통과, Host Java 컴파일 exit 0(119.23초)입니다. 후속 C20261019-moving-location-captured-stop은 영향 시험 7건 통과(44.86초), tilt 순서 보강 시험 1건 통과(12.63초, 앞선 시험과 중복), 명세→품질 검토 통과, Host Java 컴파일 exit 0(117.51초)를 기록했습니다. 후속 묶음은 검토·시험·컴파일 통과 상태이며 최종 증거 정본 정리는 남아 있습니다. 시험은 제어된 native/Android 대역을 포함하므로 물리 이동·도착·정지 증거가 아닙니다. 이번 문서 갱신에서 제품 시험이나 빌드를 재실행하지 않았습니다.

얼마나 남았나: 다음 통합 관문은 검증된 부모 Location·캡처 정지를 같은 Task의 Scan에 연결하고, 큐의 첫 native 이동 전에 전체 실행을 시작하는 것입니다. 그 뒤 실행별 관측·물리 완료·취소 복구, 오류·이력·초기화·WSS/streaming·나머지 소비자/데이터 소유권, MR6 task_manager 감사·이관, 최신 APK·플랫폼 서명·DeviceAgent 없는 실기 인수가 남습니다. 작업별 규모와 인수 기준이 달라 시험 수나 작업 구역 수를 퍼센트로 환산하지 않습니다. 기기 접근·설치·배포는 수행하지 않았습니다. 총 토큰과 동등 작업 기준은 미측정입니다.

이전 체크포인트 · Launcher 알림과 원 Task의 Scan lifecycle binding 완료

현재는 Framework 내부 로직을 Host·SDK·Launcher에 연결하고, 원래 이동청정 Task에 configured Scan의 lifecycle binding을 결합했습니다. 부모 Location 기반 Scan 전체 조립과 production startup은 남아 있습니다. 첫 이동부터 최종 정지까지 Framework만으로 실행하는 제품 통합과 DeviceAgent 없는 실기 인수는 아직 미완료입니다. 전체 완료율은 미산정입니다.

구분 검증된 구현 범위 아직 남은 조건
이동청정 부모·Basic·Location·transaction 원래 Task와 이동/팬 공동 예약을 유지하는 Host 조립, 표시 공기질·센서 플래그·자식 팬·온도 보정 연결 큐가 첫 native 이동을 발행하기 전에 실제 제품 실행을 시작하는 호출 경로
도킹 저장 상태 Framework 소유 저장소에 실제 도킹·이동 시작 관측을 연결하고 Host transaction에서 조회 기존 DA 저장값 이관과 LED·오류·설정 등 나머지 생산자. 저장 상태는 신선한 telemetry와 구분
추가 완료 · Launcher 청정 운전 알림 실제 transaction → Host 제품 모드 정책 → ProductSettings Binder/AIDL → SDK → Launcher App의 SettingsViewModel 연결. 진단 모드 차단, 연결 교체·종료 후 callback 방어 -PskixFrameworkCleaningSyncMode=true 프로필에서만 기존 DA 동기화 callback 억제. 기본값은 false이므로 기본 빌드 전체의 독립 실행 완료는 아님
추가 완료 · 원 이동청정 Task의 Scan lifecycle binding 기존 configured Scan의 lifecycle·측정·보고 binding을 원 Task·queue·Host·motor에 결합. 권한 실패·취소·교체 이후 재사용 차단, pause 세대와 정상 stop/release 경로 검증 실제 같은 부모 Location을 통한 이동·회전·보고 효과 공급과 production startup 연결. factory 생성 자체는 첫 이동을 발행하지 않음
전체 인수 기존 이관 기록은 아래 체크포인트에 보존 native 실행별 도착·정지 상관관계, 취소 후 복구, 오류·이력·초기화·WSS/streaming·나머지 소비자와 데이터 소유권, 최신 APK·플랫폼 서명·실기 인수

저장된 검증 근거: 알림 연결은 C20261019-cleaning-sync-callback/evidence.json 기준 영향 시험 14건과 fixture·변형 복원 시험 7건(중복 1건)을 합쳐 고유 시험 20건, 명세→품질 검토 통과, 실제 Host/SDK 컴파일 exit 0(174.84초), Launcher 해당 프로필 컴파일 exit 0(157초, 입력 894개 불변)입니다. 이전 Wiki의 App/profile 실패 기록 이후 연결·검토·컴파일을 완료했습니다. 최초 잘못된 경로의 실패는 유효한 RED로 계산하지 않았으며 세부 이력은 해당 provenance.md에 보존했습니다.

Scan 결합은 C20261019-moving-scan-task-binding/evidence.json 기준 영향 시험 6건 통과(27.74초), 정상 stop/release 보강 시험 1건 통과(10.76초, 앞선 6건과 중복), 명세→품질 검토·계층 검사 통과, 실제 Host Java 컴파일 exit 0(107.67초)입니다. 실제 Host Scan/Core를 시험했지만 Android·Task admission 등은 대역입니다. 서로 다른 묶음의 시험 수를 합산해 진행률로 바꾸지 않습니다.

한계: boolean IPC에 종단 간 Task 식별자가 없으므로 Binder 승인 이후 이미 전송된 알림까지 Task 취소와 연계했다고 주장하지 않습니다. Scan의 close()는 로컬 timer·관측 정리이며 물리 정지나 부모 Task/공동 예약 해제를 뜻하지 않습니다. ACK·논리 OFF·화면 완료도 물리 도착·정지 또는 Task 성공의 증거가 아닙니다.

다음 한 단계: 원래 부모 Location과 Scan의 실제 이동·회전·보고 효과를 연결한 뒤, 큐의 첫 native 이동 전에 동일 Task·예약의 전체 실행을 시작합니다. 먼저 이동하고 나중에 runtime을 붙이는 방식은 중복 이동 위험 때문에 사용하지 않습니다.

기준은 refactor/blueprint-foundation / 4d9b1a57 + 보존된 미커밋 변경입니다. 위 시험·컴파일은 저장된 구현 검증 결과이며 이번 문서 갱신에서 재실행하지 않았습니다. 최신 Scan 변경의 Host·시험 소스 2개와 알림 묶음의 나머지 소스 10개를 정본 해시와 대조했습니다. Host는 Scan 후속 변경이 있으므로 알림 묶음의 이전 Host 해시와 동일하다고 주장하지 않습니다. 이번 작업은 문서 갱신이며 제품 코드·기기를 변경하지 않았습니다. 총 토큰 및 동등 작업 비교 기준은 미측정입니다.

이전 체크포인트 · 실제 제품 transaction 효과 연결

현재 단계는 Framework 내부 구현과 Host 조립을 거쳐 실제 제품 시작 경로를 연결하기 직전입니다. DeviceAgent 미설치·미실행 상태의 전체 제품 동작은 아직 검증하지 못했습니다. 전체 기능 목록별 인수 기준이 닫히지 않아 전체 완료율은 산정하지 않습니다.

구분 완료한 범위 남은 범위
이동청정 실행 조립 동일 Task·이동/팬 공동 예약 아래 부모·Basic 자식·Location·transaction 조립 실제 큐 첫 native 이동 전에 조립된 실행을 시작하는 production caller
실제 제품 효과 연결 transaction → Framework 표시 공기질·공기질 종류 초기화, 공유 로봇 센서 요청 플래그 해제, 단일 Host 팬 온도 보정, 기존 자식 팬 재사용 앱 main callback 실제 소비자 및 저장된 도킹 상태 생산자 연결
최신 검증 저장된 영향 시험 5파일 9건 통과(49.59초), 명세→품질 검토 통과, 계층 검사 통과, Host Java 컴파일 exit 0(102.08초), 컴파일 API·2개 소스 해시 확인 APK·플랫폼 서명·설치·실기 동작 검증
나머지 독립 실행 기존 이관 기록은 아래 체크포인트에 보존 Scan·native 실행 상관관계, 오류·이력·초기화·WSS/streaming·소비자·데이터 소유권 등 잔여 이관과 전체 인수

당시 factory는 생성만으로 팬·타이머·Task·예약을 추가하지 않습니다. 원래 params/state/clock과 Task 권한을 유지하며 소유자 교체·취소 뒤 효과를 차단합니다. 당시 main callback과 도킹 상태는 호출자가 공급하는 필수 입력이었습니다. 현재는 Host 자체 도킹 저장소를 공급하는 factory를 추가했고 main callback 소비자 연결은 남아 있습니다. 따라서 factory 완료를 제품 시작 연결 완료로 해석하지 않습니다.

다음 한 단계: main callback 소비자를 연결한 뒤, 첫 native 이동 전 startup을 통합합니다. 도킹 저장 상태를 신선한 telemetry 조회로 단순 대체하지 않습니다. 논리 정지·ACK는 물리 정지나 Task 성공의 증거가 아닙니다.

근거: refactor/blueprint-foundation / 4d9b1a57 + 보존된 미커밋 변경, C20261019-host-product-transaction/evidence.json. 최신 소스 해시를 정본과 대조했습니다. 위 시험·컴파일은 저장된 구현 검증 결과이며 이번 문서 작업에서 재실행하지 않았습니다. 기기 접근도 하지 않았습니다. 총 토큰·동등 작업 기준값은 미측정입니다.

10/19 최신 추가 · transaction 매너·야간 모드와 기존 자식 팬 연결 완료

얼마나 진행했나: 이동청정 부모·Basic 자식·Location·transaction의 Host 조립 이후, 같은 Task의 팬에 transaction 공기질을 전달하는 경로와 실제 MCU 온도 처리기의 제품 보정 입력까지 추가했습니다. 논리적 팬 운전 상태 → Host 수명의 온도 보정 소유자 → 실제 MCU 처리기 연결까지 검토·컴파일을 완료했습니다. transaction → 현재 Basic 자식의 기존 팬 연결도 검토·컴파일을 완료했습니다. 실행 전·일시정지 뒤의 자식이 팬을 새로 시작하지 못하도록 차단했습니다. 전체 제품 시작 경로와 DeviceAgent 없는 독립 실행 인수는 아직 미완료입니다. 전체 완료율은 미산정입니다.

구분 확인한 진척 남은 조건
이동청정 팬 공기질 전달 완료 원래 Task·공동 예약을 유지하는 팬 2인자 API에 transaction의 표시 공기질과 -1 값을 전달. 영향 시험 7건 통과(31.81초), Host Java exit 0(109.30초), 명세→품질 검토 통과 전체 transaction 제품 효과와 시작 caller 연결
실제 Basic 자식 팬 전달 완료 자식 시작·공기질 callback의 값이 같은 팬 API까지 전달되도록 연결. 영향 시험 6건 통과(40.44초), Host Java exit 0(110.26초), 명세→품질 검토 통과 제품 전체 시작·Scan 통합과 실제 장치 검증
MCU 온도 처리기의 제품 입력 완료 실제 normal 공기질 처리기가 외부 제품 온도 보정 함수를 소비. 센서 재준비·관측 공백에도 외부 보정 이력 보존. 영향 시험 8건 통과(18.67초), Host Java exit 0(110.75초), 명세→품질 검토 통과 Host 연결은 아래 후속 묶음에서 완료. 전체 제품 시작·실기 검증은 남음
Host 논리 팬·온도 보정 연결 완료 관리 팬 시작·정지·최종 실패 → 단일 Host 보정 소유자 → 양쪽 MCU 처리 profile 연결. 저장된 영향 8파일 18건 통과(47.51초), 보완 후 명세→품질 검토 통과, Host Java exit 0(111.16초), 컴파일 API·6개 소스 해시 확인 관리 팬 경로의 완료이며 전체 transaction 효과·제품 시작·실기 검증은 남음
transaction → 기존 자식 팬 연결 완료 별도 팬·예약 없이 현재 실행 중인 Basic 자식의 팬으로 매너·야간 모드 명령 전달. 부모 설정·상태 identity와 Task 권한 유지; 시작 전·일시정지 뒤·교체·취소 뒤 명령 차단 최종 영향 시험 7건 통과(51.96초), 명세→품질 재검토 통과, 계층 검사 통과, Host Java 컴파일 exit 0(106.51초), 실제 컴파일 API·4개 소스 해시 일치. 전체 시작 경로 및 실기 인수 증거는 아님

기존 제품의 온도 보정 입력은 측정 RPM과 별개인 논리적 팬 운전 상태입니다. 이번 연결에서도 일시적인 팬 전원 재시도와 최종 정지·실패를 구분합니다. 논리 OFF·정지 요청은 물리 정지·Task 성공·예약 해제의 증거가 아닙니다.

다음 단계: 나머지 실제 transaction 제품 효과 공급체 완성 → 큐의 첫 native 이동 전에 같은 부모·Location 실행 시작 → Scan·관측·취소/장애 통합 → 잔여 오류·이력·초기화·WSS/streaming·소비자 이관 → 최신 서명 APK와 DeviceAgent 미설치/미실행 실기 인수.

근거: 4d9b1a57 + 보존된 미커밋 변경; 완료 정본은 C20261019-moving-fan-quality, C20261019-child-fan-quality, C20261019-product-thermal-input, C20261019-host-thermal-owner의 evidence.json. 팬 연결 완료 정본은 C20261019-transaction-shared-child-fan/evidence.json입니다. 이전 5통과·2실패 기록은 보존하고 최종 7통과 기록으로 갱신했습니다. AUTO 팬의 개선 즉시 반영이라는 시험 기대를 실제 지연 표시 정책에 맞게 수정했으며, 품질 검토에서 발견한 시작 전 팬 제어 결함은 회귀 실패 재현 뒤 수정했습니다. 각 검증은 해당 변경 범위의 증거입니다. 시험 수는 중복되므로 합산 완료율로 바꾸지 않습니다. 이번 Wiki 작업에서는 제품 코드를 수정하거나 제품 시험·Android 빌드를 재실행하지 않았으며 기기에 접근하지 않았습니다. 총 토큰·동등 작업 기준값은 미측정입니다.

이전 체크포인트 · Location·청정 transaction의 Host 조립

현재 위치: 핵심 로직 이관과 실행 소유권 분리를 지나, Framework Host에서 이동청정 부모·Basic 자식·Location·청정 transaction을 같은 Task와 이동/팬 공동 예약으로 조립하는 단계입니다. DeviceAgent 없이 제품 전체가 동작하는 단계는 아직 아닙니다. 전체 완료율은 미산정입니다.

최근 완료 묶음 저장된 검증 결과 실제 제품 연결에서 남은 일
Location 이동 효과 이동·정지·일시정지·재개·복귀·회전 억제 등 9개 효과를 실제 Location runtime에 위임. 영향 시험 8건 통과(49.42초), Host Java 컴파일 exit 0(107.19초) native 관측과 전체 Scan 연결
Location·부모·자식 Host 조립 같은 Task·예약·transaction으로 Location 복합 runtime과 Basic 자식, 준비된 CLEANING callback을 조립. 시작 전 관측 폐기·시작 후 세대 활성화·교체/취소 차단·실패 rollback 검증. 5건 통과(52.55초), Host Java exit 0(107.68초) 큐가 첫 이동을 발행하기 전 실제 제품 시작 경로에서 호출해야 함
구체 청정 transaction 기존 상태·시계 로직을 상속하고 10개 필수 제품 효과를 실행 권한 검사 전후로 연결. 5건 통과(14.69초), 기존 transaction 비교 144건 포함. Host Java exit 0(83.88초) 필수 효과 인터페이스의 실제 제품 endpoint 조립은 미완료
transaction Host 생성 원래 실행 중인 이동청정 Task·예약과 Host/hardware 수명에 묶은 factory 추가. 취소·교체·예약 상실 뒤 보관된 효과 차단. 7건 통과(40.20초), Host Java exit 0(106.86초) 실제 제품 시작 caller 및 전체 효과 공급 연결
센서 요청 해제 endpoint 기존 로봇 실행의 공유 센서 요청 플래그만 해제. 요청·이동 모드·앱 요청 상태 보존, 중복 해제·이전 소유자 접근 차단. 4건 통과(10.64초), Host Java exit 0(101.99초) transaction 제품 효과에서 실제 호출하는 조립 필요

각 묶음은 계층 검사와 명세→품질 검토를 통과했습니다. 시험은 서로 겹치므로 합산하지 않습니다. 수치는 저장된 제품 검증 기록이며 이번 Wiki 갱신에서는 제품 시험·Android 빌드를 재실행하지 않았습니다. Host Java 컴파일은 APK·서명·실제 장치 동작 증거가 아닙니다.

다음 순서: 실제 팬·표시 공기질·동기화 callback·센서/공기질 초기화 등 transaction 제품 효과 조립 → 큐 startMovingCleaning에서 첫 이동 전 같은 실행을 시작 → Scan·관측·취소/장애 통합 → 오류·이력·초기화·WSS/streaming·소비자 등 잔여 이관 → 최신 서명 APK와 DeviceAgent 미설치/미실행 상태의 실기 인수. 현재 실제 Host의 시작 override와 production caller는 미연결입니다. 팬 정지 요청·화면 완료·ACK를 물리 정지·Task 성공·자원 해제로 간주하지 않습니다.

근거: refactor/blueprint-foundation / 4d9b1a57 + 미커밋 변경; 검증 정본은 C20261019-moving-location-effects, C20261019-moving-location-host, C20261019-product-transaction, C20261019-host-transaction, C20261019-host-sensor-reset의 evidence.json입니다. 기존 변경을 보존했으며 이번 문서 갱신에서 기기에 접근하지 않았습니다. 총 토큰과 동등 작업 기준값은 미측정이므로 절감률도 미산정입니다.

이전 체크포인트 · 요청 스냅샷·부모 시작 조립

진행 단계: 이동청정의 실제 팬·보고·공기질 공급체와 부모·자식 교체 경계에 이어, 요청 시점 공기질 보존 계약을 검증하고 부모 시작 조립을 구현해 영향 시험까지 통과했습니다. 제품 전체 시작 경로 연결과 DeviceAgent 없는 독립 실행 인수는 미완료이며 전체 완료율은 미산정입니다.

구분 최신 확인 결과 남은 조건
요청 시점 공기질 계약 실제 accessor·Core 수신·보고서 복사를 사용하는 3파일 6건 통과(16.27초), 명세→품질 검토 통과. 나중 센서값으로 요청 이미지를 치환하는 변형은 기대대로 실패 계약 회귀 검증이며 전체 센서 요청 생산자→부모 시작 연결은 남음
부모 시작 조립 실제 Host 정상 공기질 공급자→부모 보고서 복사→시작 시각 설정→센서 범위 선택→상태 발행→동일 자식 시작을 연결. 초기 미시작 상태의 준비·운전 경계 수정까지 영향 5파일 11건 통과(71.02초). 명세 보완→품질 검토, Host Android Java 컴파일 exit 0(105.54초), 컴파일 API·4개 소스 해시 확인 실제 제품 시작 caller, 첫 목표·첫 이동 발행·Scan 연결 및 실기 검증 미완료
전체 독립 실행 핵심 runtime·Host 공급체 연결과 실행 교체 방어를 순차 이관 중 첫 목표/첫 이동·Scan 조립, 잔여 도메인 이관, 최신 APK·서명·DeviceAgent 없는 실기 인수 필요

요청 당시의 구역 공기질과 요청 시점 보고서 대체값을 나중 관측으로 바꾸지 않습니다. null 자동 입력은 이전 cache를 보존하고, 명시적으로 빈 입력은 시작 시점 보고서를 사용합니다. 일반 시작 이미지의 시각은 부모 보고서에 복사한 뒤 설정하며, 센서 요청 이미지는 기존 시각을 유지합니다. 부모 시작 시험에서는 상태 발행·시각 공급 중 자식 교체와 실행 취소 뒤 이전 자식의 시작·팬 효과 차단도 확인했습니다.

초기 시작 순서 수정: 기존 자식 준비 → 부모 시작 상태 설정 → 자식 운전 순서를 유지했습니다. 아직 시작하지 않은 부모에서도 센서 등록·자식 생성은 효과 없이 준비할 수 있고, 시작 전 운전은 차단합니다. 시작 전 받은 관측의 뒤늦은 재사용, 운전 후 시작 상태 해제·소유권 상실 뒤 재활성화도 차단합니다. 초기 실패 재현 후 수정했으며, 부모 시작 상태를 미리 켜는 우회는 사용하지 않았습니다.

정본: C20261019-moving-request-snapshot-contract/evidence.json 및 C20261019-moving-parent-start/evidence.json. 부모 입장은 수동 구성이고 HAL·상태·시각·스냅샷 endpoint는 시험용 대역입니다. 실제 Host의 정상 관측 호출은 컴파일했지만 실제 MCU 관측 증거는 아닙니다. 최신 11건은 종전 warm 상태 7건을 대체하는 통합 결과이며 과거 시험 수와 합산하지 않습니다. 이번 Wiki 갱신에서는 제품 코드를 수정하거나 시험·Android 빌드를 재실행하지 않았으며 기기에 접근하지 않았습니다.

10/19 최신 현황 · 부모 시작 조립 시험 통과, 실제 제품 시작 경로 연결 대기

얼마나 진행했나: 이동청정의 팬·정지·보고·완료 판단·표시 타이머 공급체와 실제 Host 생성 경로, Core 예상시간 계산에 이어 Host 공기질 수신 → 부모 실행별 센서 종류·선택 구역 등급 → 완료 판단·화면·예상시간 계산 연결까지 검증했습니다. 부모 소유 Basic 자식 runtime 구현·검토·Java 컴파일까지 마쳤으며, 실제 팬·보고·공기질 공급체를 묶는 Host 생성 경로까지 완료했습니다. 부모·자식 교체 경계와 위 부모 시작 조립 시험까지 통과했으며, 실제 제품에서 이를 호출하는 시작 경로 연결은 남았습니다. DeviceAgent 없이 현재 제품 기능 전체를 수행하는 단계는 아닙니다.

최근 작업 확인한 결과 남은 검증·연결
실행별 센서 입력 기존 등급 정책 재사용, 부모 실행·선택 구역 보존. 공기질 스냅샷 저장 중 초기화가 겹쳐도 이전 수신이 되살아나지 않도록 수정. 취소·종료·교체 뒤 입력 차단 최신 APK·실제 장치 관측. 전체 부모/자식 시작 경로 연결
청정 요청 정보 기존 DeviceAgent의 AI 호출 여부·센서 종류·실외 공기질 해석을 Core 불변값으로 이관. DeviceAgent와 Host가 같은 파서를 사용하고 Host가 요청에서 한 번 읽어 부모 센서 입력에 보관. 원본 Bundle 변경의 영향 차단 Host Java 컴파일·컴파일된 API 확인 완료. 실제 전체 요청 admission·시작 경로 연결과 최신 APK·실기 검증 필요

센서 입력 완료 근거: C20261019-moving-sensor-input/evidence.json 기준 영향 3파일 7건 통과(29.07초), 계층·변경분 검사 및 명세 보완 검토→품질 검토 통과, Host Java 컴파일 exit 0(103.02초), 해당 묶음 4개 소스 해시·실제 컴파일 API 확인입니다. 종전 공개 문서의 7건/28.47초는 중간 결과였으며, 초기화 중 이전 수신 재반영 경계의 실패 재현과 수정 후 위 결과로 교체했습니다.

요청 정보 이관 근거: C20261019-cleaning-start-metadata의 integrated-green.log 기준 관련 3파일 8건 통과(36.86초), request-parity-final.log 기준 고정한 기존 DeviceAgent 동작과 9,264개 경우가 일치했습니다. 기본값·AI 분기·잘못된 값의 예외·알 수 없는 정수 보존, 요청 변경 영향 차단·부모 취소 뒤 접근 차단을 확인했습니다. 계층·변경분 검사와 명세→품질 검토도 통과했습니다. 후속 검증에서 이 묶음의 Host Java 컴파일 exit 0(118.07초), 변경 6개 소스 해시 유지와 실제 Core·Host 컴파일 API 확인까지 완료했습니다. 앞선 공개판의 컴파일 미완료 표시는 당시 시점의 상태였으며 이번에 갱신했습니다. 위 수치는 기록된 실행 결과이며 이번 문서 갱신에서 제품 시험·Android 빌드를 재실행하지 않았습니다.

추가 완료 · 부모 상태 보존: 자식 정지가 부모의 청정 시작 상태와 운전시간까지 초기화할 수 있던 경계를 실제 runtime 시험으로 재현하고, 자식 정리 상태를 분리했습니다. 시간 판단은 부모 시계를 사용합니다. C20261019-moving-child-parent-state/evidence.json 기준 관련 2파일 7건 통과(17.22초), 계층·변경분 검사와 명세→품질 검토 통과, Host Java 컴파일 exit 0(83.02초), 2개 소스 해시 유지·실제 컴파일 API 확인까지 완료했습니다. 앞선 공개판의 검토·컴파일 대기 표시는 당시 시점이며 이번에 갱신했습니다.

추가 완료 · 부모 소유 Basic 자식 runtime: AndroidMovingBasicCleaningChild가 공통 BasicRun과 팬·보고·공기질 공급체 호출을 연결합니다. 동기 샘플 실패 뒤 시작 지속, 이전 monitor의 재개 후 정지, 권한을 잃은 자식의 로그 효과를 재현하고 수정했습니다. C20261019-moving-basic-child/evidence.json 기준 영향 3파일 8건 통과(21.71초), 계층·변경분 검사와 명세 보완→품질 검토 통과, Host Java 컴파일 exit 0(88.36초), 2개 소스 해시 유지·실제 컴파일 API 확인까지 완료했습니다. 이전 공개판의 완료 callback 실패는 최소 운전시간 이전에 정지를 기대한 시험 조건을 바로잡았으며 제품의 최소 운전시간 정책은 바꾸지 않았습니다. 이 조립 시험은 공급체 대역을 사용하므로 실제 공급체 전체 통합의 증거는 아닙니다.

최신 완료 · 부모·자식 교체 경계: 실제 부모 runtime과 Host factory·팬/보고/공기질 공급체 조립 시험 3파일 5건(22.52초), 명세→품질 검토, Host Java 컴파일(83.99초)·2개 소스 해시/API 확인을 완료했습니다. 완료·교체·생성 실패 뒤 이전 실행 권한을 폐기하며, 시험상 RPM 0 뒤 같은 예약 전환을 검증했습니다. 정본: C20261019-moving-parent-basic/evidence.json. 부모 입장은 수동 구성하고 시작·상태·HAL 일부는 대역이므로 제품 전체 시작·물리 정지·Task 성공 증거가 아닙니다.

남은 작업: 실제 센서 생산자→실행별스냅샷 연결, 검증된 부모 시작 조립을 호출하는 실제 제품 경로와 첫 이동/Scan 연결, 최신 APK·서명·DeviceAgent 없는 실기 인수, 잔여 도메인 이관. 전체 완료율은 미산정입니다. 이번 문서 갱신에서 제품 검증을 재실행하지 않았습니다.

다음 순서: 요청 센서 생산자부터 실행별 스냅샷까지 실제 제품 경로 연결 → 검증된 부모 시작 조립을 호출하고 첫 목표·첫 이동 발행부터 소유하는 전체 시작 경로 → 장치 관측·물리 완료 및 DeviceAgent 없는 인수 시험. 잔여 오류·이력·초기화·WSS 등 도메인 이관도 남아 있습니다. 작업 구역별 규모와 제품 인수 기준이 달라 전체 완료율과 확정 잔여 일수는 미산정입니다. 위 제품 시험·컴파일 수치는 저장된 실행 기록이며 이번 문서 갱신에서는 재실행하지 않았습니다.

10/19 최신 추가 · 실제 Host 조립과 Core 예상시간 연결

현재 단계: 이동청정의 부모 실행에 속한 팬·정지·보고·공기질 완료 판단 공급체와 Host 생성 진입점을 준비했습니다. 이후 완료 판단·화면 상태·표시 타이머를 같은 자식 조립체로 연결했습니다. 실제 Host 생성 경로에 부모 설정·운전시간·최신 공기질과 Core 예상시간 계산기를 연결했습니다. 실행별 센서값 생산 경로는 위 후속 묶음에서 연결했으며, 전체 자식 실행 조립은 남아 있습니다. 따라서 DeviceAgent 없는 전체 제품 동작이 완성된 단계는 아닙니다.

추가 묶음 구현·검증한 범위 남은 범위
자식 보고 같은 부모 Task·공동 예약·보고 세션에서 자식별 보고 index 유지. 취소·교체·재진입 뒤 변경 및 불확실한 효과의 재시도 차단. 부모 보고 저장·초기화·예약 해제 수행 안 함 전체 자식 실행에 실제 보고 공급체 연결
공기질 완료 판단 기존 최소 운전시간·표시 완료·센서 좋은 공기질 10초 유지·완료 callback 순서 보존. 자식별 유지 상태 분리, 재귀 호출·취소·권한 교체 뒤 효과 차단. Host에서 부모 설정·타이머·표시 상태와 최신 관측 공급 공통 조립체 연결 완료. Host 입력·Core 계산 연결 완료. 완료 효과와 전체 실행 조립 필요
표시 타이머 실제 Android Handler 기반 자식별 타이머. 기존 20 tick 감소·10 tick 완료·일반 표시 전환과 시작 시 기준값 보존. 종료·교체·권한 상실 뒤 남은 callback 효과 차단 화면·완료 판단 공유 조립 완료. Host 입력·Core 예상시간 연결 완료. 전체 자식 실행 연결 필요

검증 정본: C20261019-moving-child-report/evidence.json은 영향 4파일 9건 통과(24.12초), Host Java 컴파일 exit 0(2분 8초)입니다. C20261019-moving-child-quality/evidence.json은 영향 4파일 6건 통과(16.75초), 기존 완료 판단 10,009개 trace/state와 모니터 6,000개 비교를 포함하며 Host Java 컴파일 exit 0(133.68초)입니다. 두 묶음 모두 계층·변경분 검사 및 명세→품질 검토를 통과했습니다. 서로 겹치는 시험을 누적 합산해 완료율로 쓰지 않습니다.

표시 타이머 검증: C20261019-moving-child-display/evidence.json 기준 영향 3파일 6건 통과(13.77초), 독립적으로 고정한 기존 동작과 200,000 이벤트 비교, 계층·변경분 검사와 명세→품질 검토 통과. 최종 Host Java 컴파일 exit 0(88.28초)입니다. 이는 JVM·Java 컴파일 근거이며 최신 APK·실제 화면·물리 완료의 증거는 아닙니다.

완료 판단·화면 조립 추가: AndroidMovingCleaningQualityDisplay가 실제 monitor·표시 상태·Handler 타이머를 소유합니다. 완료 판단 후 화면 적용, 공기질 악화 시 같은 완료 유지시간 초기화, 화면 callback 후 예상시간 효과 요청 순서를 보존했습니다. 종료·자식 교체·권한 상실·비동기 타이머 실패 뒤 효과를 차단합니다. C20261019-moving-child-quality-display/evidence.json 기준 영향 4파일 7건 통과(14.09초, 기존 200,000 이벤트 비교 포함), 계층·변경분 검사와 명세→품질 검토 통과, Host Java 컴파일 exit 0(106.89초)입니다. 이는 기록된 소스 해시와 대조한 기존 검증 결과이며 이번 문서 작업에서 재실행하지 않았습니다. 이 묶음 당시 Host factory·Core 계산 연결은 남아 있었으며, 아래 후속 묶음에서 연결했습니다. 센서 종류/선택 등급 생산 경로는 위 후속 묶음에서 연결했습니다. startup·최신 APK·실기 검증은 여전히 미완료입니다.

실제 Host 연결 추가: prepareMovingCleaningQualityDisplay가 같은 부모 Task·이동/팬 공동 예약·현재 자식 권한을 확인하고 부모 설정·운전시간·최신 공기질을 공통 조립체에 공급합니다. 예상시간은 실제 Core의 기존 계산 정책을 호출하며 센서 종류·센서 등급은 실행 소유 공급체로 명시합니다. 생성 자체는 청정·타이머·이동을 시작하지 않습니다. C20261019-moving-child-quality-display-host/evidence.json 기준 영향 5파일 8건 통과(21.62초, 기존 200,000 이벤트 비교 포함), 계층·변경분 검사와 명세→품질 검토 통과, Host Java 컴파일 exit 0(104.79초), 실제 컴파일된 factory API 확인 기록이 있습니다. 해당 묶음의 문서 배포 당시 3개 소스 해시 대조 기록이며, 이후 진행 중인 센서 입력 변경에 대한 컴파일 결과로 확대하지 않습니다. 실제 센서값 생산자의 실행별 등록은 위 후속 묶음에서 연결했습니다. 전체 Basic 자식·첫 목표/첫 이동 startup·최신 APK·실기 검증은 남아 있습니다.

검증 한계: 넓힌 시험에서 기존 실패 5건을 변경 전 소스에서도 재현했습니다. 이번 변경에 직접 관련된 표시 상태 시험 대역을 보완했고, 기존 설정 기준 시험의 schema·Bundle·Host processor 대역 문제 4건은 남아 있습니다. 전체 회귀 통과로 표현하지 않습니다. 최신 APK·서명·실제 장치 동작과 DeviceAgent 없는 부팅·재연결·장시간 인수는 이번 검증 범위가 아닙니다.

얼마나 진행했나: 핵심 실행 책임과 Host 경계를 옮기면서 이동청정의 실제 공급체를 채우는 단계입니다. 현재 완료 판단·화면·표시 타이머 공통 조립체와 실제 Host factory·Core 예상시간까지 연결했습니다. 실행별 센서 입력 생산 경로와 요청 정보 해석도 위 후속 묶음에서 연결했습니다. 요청 정보·부모 상태 보존 묶음의 Host Java 검증은 완료했습니다. 다음은 요청 시점 스냅샷·제품 시작 연결 → 첫 이동 → 장치 관측과 완료 검증입니다. 잔여 도메인 이관도 남아 있으므로 전체 완료율·확정 잔여 일수는 미산정입니다.

10/19 추가 완료 · 이동청정 자식 정지 경로

공통 BasicRun.stopChildExecution은 팬 OFF 요청·보고서·타이머·상태 정리를 마친 뒤 부모에게 종료를 알립니다. 이어 실제 제품 클래스 AndroidMovingBasicCleaningRuntime의 stop()을 이 진입점으로 고정해 직접 정지·타이머 만료·지연 requestStop()이 같은 순서를 사용하도록 연결했습니다. 부모 통지 후 콜백 예외가 발생하면 이전 자식의 예약 콜백이 정리나 실패 보고를 다시 수행하지 않도록 했습니다. 정리 도중의 실패 처리는 유지하며 기존 단독 Basic 경로의 순서도 보존합니다.

검증: C20261019-moving-child-stop-routing의 소스 해시·시험·검토 기록을 기준으로, 실제 제품 자식 클래스를 컴파일하는 영향 시험 10건이 통과했습니다(24.08초). 직접·타이머·지연 정지, 부모 통지 후 예외, 정리 실패 및 기존 단독 동작을 확인했고 계층 검사·변경분 검사·명세→품질 검토도 통과했습니다. 앞선 C20261019-moving-child-stop의 4건과 중복 합산하지 않습니다.

이 묶음 당시 한계와 다음 작업: 자식용 runtime의 정지 경로는 연결했지만 팬·보고·상태 등 실제 공급체를 갖춘 전체 Host 자식 조립은 아직 남아 있습니다. 다음에는 부모 소유 Basic 자식을 실제 Host에 조립하고 Scan·보고·첫 이동 시작을 같은 Task와 예약으로 연결해야 합니다. 이번 결과는 실제 팬 정지·Task 성공·예약 해제나 최신 APK·기기 시험의 증거가 아닙니다. 전체 DeviceAgent 독립 실행은 미완료이고 완료율은 미산정입니다.

10/19 최신 현황 · 얼마나 진행했나

이관 묶음 현재 확인한 진전 남은 조건
로봇 이동 실행 책임 실제 DeviceAgent의 요청 선택·dispatch·이동 상태/도착 처리를 공통 AndroidRobotMovementRuntime으로 연결. Host pause/resume/stop도 같은 runtime 사용 실제 제품 효과 공급체, 정확한 Task owner와 시작 경로 연결
Host 이동 관측 Host binding이 공통 이동 callback을 구현하고 같은 runtime으로 상태·도착 전달. 기존 알림 wire·5초 완료 예약 유지, owner 교체 뒤 효과/요청 commit 차단 canonical ROBOT callback 등록·해제와 각 관측의 owner 검사까지 연결. 실제 제품 startup·효과 공급체 활성화와 물리 도착 검증은 남음
위치 발행 실제 DeviceAgent의 발행 조립을 공통 ProductLocationRuntime으로 이동. 현재 callback·이동 모드·공유 상태를 사용 로봇의 정확한 Host owner 등록 및 Mapping factory 연결 완료. 청정·Interaction·WSS 등 나머지 소비자의 등록과 실제 startup 연결은 남음
매핑·스캔 실행 Host configured 경로의 초기화·구역 선택·측정 요약·완료·owned release·로그 공급 연결. 기존 순서·부분 실패·callback/queue 소유권 보존 실제 이동/청정 제공자와 admission→시작 연결, 장치 결과 검증
이동청정 관측 실제 DeviceAgent 상태·도착 처리를 공통 AndroidMovingCleaningRuntime.MovingObservationBinding으로 연결. 같은 MovingRun의 현재 전이·전이 요청·보고서 무효 상태를 사용 CLEANING slot에 공통 binding 직접 등록까지 완료. 실제 Host 전체 효과 공급체·startup 연결 필요
제품 독립 실행 위 공통 runtime과 Host 경계의 소스 검증 축적 전체 효과 공급·startup·잔여 도메인 이관·최신 APK·DeviceAgent 없는 실기 인수 미완료

진행률 해석: 아래 7개 작업 구역 모두에 제품 인수 잔여 항목이 있습니다. 구역별 크기와 완료 기준이 달라 이를 같은 비중의 퍼센트로 환산하지 않습니다. 지금은 “핵심 실행 책임을 공통 runtime으로 옮기고 Host 연결을 확장한 단계이며, 전체 독립 제품 조립·실기 인수 전”입니다. 전체 완료율은 미산정입니다.

이후 추가 완료한 세 묶음:

위 세 묶음은 각각 계층·변경분 검사와 명세→품질 검토를 통과했습니다. 검증 정본은 순서대로 C20261019-robot-location-registration, C20261019-mapping-robot-registration, C20261019-cleaning-observation-owner의 evidence.json이며 기준 커밋 위 미커밋 변경을 묶음별 해시로 식별합니다. 묶음 간 시험 중복이 있어 합산하지 않습니다. APK·서명·장치 동작 증거는 아닙니다.

추가 완료 · 이동청정의 실행 연결 준비:

묶음 완료한 범위 검증과 한계
CLEANING callback 직접 등록 DeviceAgent CLEANING slot에 공통 MovingObservationBinding 직접 등록. 같은 runtime으로 상태·도착 전달 고유 영향 시험 16건/7파일, Host·DeviceAgent Java 컴파일 exit 0. 전체 Host 시작 연결은 미완료
실행 권한 연결점 기존 이동청정 Task·permit·owner·이동/팬 공동 예약의 동일성과 유효성 검증. 대기·외부 실행·취소·종료·예약 상실 거부 영향 시험 9건/2파일. 실제 Java queue/Task/resource 검증이며 새 Android 빌드·기기 시험 없음
Host 위치 조립 위 권한을 소비하는 이동청정 전용 위치 factory. 표시·틸트 조립 공유와 실행별 검사 유지 고유 영향 시험 12건/5파일, Host Java 컴파일 exit 0. 실제 시작 caller와 전체 제품 효과 공급은 미연결

정본은 순서대로 C20261019-cleaning-callback-registration, C20261019-moving-execution-authority, C20261019-moving-host-location의 evidence.json입니다. 각 묶음은 명세→품질 검토를 통과했습니다. 시험 수는 중복될 수 있어 합산하지 않습니다. APK·장치 동작 증거가 아닙니다.

다음 구현 순서도 수정했습니다. 제품 소스 대조 결과, 일반 이동청정 runtime 시작은 첫 이동까지 발행하며 Scan 모드 1은 첫 분할 공간을 선택하고 회전을 억제합니다. 현재 queue의 대표 좌표 이동 뒤에 runtime을 시작하면 중복 이동이나 Scan 동작 차이가 생길 수 있습니다. 같은 Task·이동/팬 공동 예약 아래에서 실제 제품 runtime이 첫 목표 선택과 첫 이동부터 담당하도록 연결해야 합니다. C20261019-moving-start-contract의 명세·품질 검토를 통과한 소스·설계 분석이며 구현 완료가 아닙니다.

최신 추가 · 부모 실행과 팬의 연결:

묶음 완료한 범위 검증과 한계
이동 발행 실패 처리 이동청정 발행을 시도한 뒤 정책 예외가 발생하면 원래 이동/팬 공동 예약을 재확인 필요 상태로 유지하고 재발행 차단. 발행 전 거부와 비청정 경로의 기존 처리 보존 고유 영향 시험 9건·강화 경계 재시험, 계층·변경분 검사와 명세→품질 검토 통과. Android 빌드·실기 시험 없음
부모 예약 팬 공급체 Host가 현재 이동청정 Task와 원래 공동 예약을 확인해 실제 팬 binding을 생성. 부모 취소·예약 상실·자식 교체 뒤 추가 구동 차단, 자식 정지·교체가 부모 예약을 해제하지 않도록 연결 실제 queue·팬 runtime·ResourceManager 시험: 당시 혼합 실행 로그는 1실패·회귀 6통과이며, 실패한 신규 시험을 수정·강화한 최신 단독 실행은 1통과. 두 기록의 서로 다른 시험은 7건이며 7건 전체를 한 번에 통과한 실행은 아님. Host Java 컴파일 exit 0, 명세→품질 검토 통과. Basic 자식 전체 흐름·Scan·전체 시작 연결은 아직 없음

검증 정본은 C20261019-moving-dispatch-failure/evidence.json과 C20261019-moving-child-fan/evidence.json입니다. 팬 공급체는 실제 제품 제어 클래스를 시험했지만 MCU 경계는 시험 대역이므로 물리 구동 증거가 아닙니다. 현재는 이동청정 전체 실행을 연결하기 위한 실제 공급체를 채우는 단계입니다. 다음은 부모 실행에 속한 Basic 자식 전체 흐름을 연결하고, Scan·보고·타이머와 첫 이동 시작까지 같은 실행으로 조립하는 작업입니다. 단독 Basic의 전역 소유권·보고 모드를 그대로 재사용할 수 없다는 소스 분석도 완료했습니다.

독립 실행까지 남은 핵심 순서: 실제 이동청정 효과 공급·시작 연결 → 같은 실행으로 식별 가능한 장치 관측 → 청정·보고·복귀와 취소/장애 검증 → 잔여 도메인·소비자 이관 → 최신 서명 APK와 DeviceAgent 없는 실기 인수. 전역 상태나 ACK만으로 Task 성공·물리 완료·예약 해제를 인정하지 않습니다.

DeviceAgent 컴파일의 의미: 이관 중 기존 진입점이 공통 runtime을 호출하도록 바뀐 부분의 호환성 검증입니다. 최종 목표는 DeviceAgent 미설치·미실행 상태의 Framework 독립 동작입니다.

아래 10/13–15 APK·기기 기록은 당시의 이력입니다. 10/19 소스가 해당 APK나 기기에 반영됐다는 뜻이 아닙니다. 10/16 발표 자료도 해당 날짜의 자료입니다.

현재 위치: 소스 이관에서 제품 인수까지

1. 지금 어디까지 왔나

구분 확인한 범위 아직 끝나지 않은 범위
소스 이관 SDK→Binder→Host 연결, 실행 조건·상태 소유권 이동, 관련 회귀시험·독립 검토·Java 컴파일 센서·이동청정 전체 실행 조립, 남은 제품 정책과 제공자 연결
APK 후보 Host·시험앱·AMR·IoT 새 4종 후보에 예약 복귀·Interaction·AQM·Vision 조회 반영, 서명·내용 검사 최신 후보 묶음의 기기 설치·실동작 확인. 센서/이동청정 전체 실행은 미완료
기기 확인 이력 10/13–14 DeviceAgent 없이 기본 고정청정 시작·일시정지·재개·정지·보고의 일부 경로 확인 최신 소스의 동작, 복합 실행·장애·재연결·전체 인수

독립 실행의 의미: 앱을 끄는 것만으로 이관이 끝나는 것은 아닙니다. Framework가 요청·정책·실행 상태·완료 근거를 소유하고, DeviceAgent가 없어도 같은 기능을 수행해야 합니다.

10/15 변경 두 가지 · 당시 소스 완료 / APK 미반영

기능 이전 → 현재 검증 기록 다음 단계
공기질 조회 시험 화면 DeviceAgent 전용 실내/실외 중복 버튼 제거 → 공개 Framework 측정 결과로 초점 이동. 실내·실외·AQM 측정·공간 목록에 6초 UI 대기 한도 영향 시험 26건 통과, 명세→품질 검토, 시험앱 Java 컴파일 32초 APK 반영·실제 센서값/화면 확인. UI 한도는 실행 중인 Binder 호출 취소가 아님
MQTT 모드 생략 일시정지·재개 항상 DeviceAgent 준비 대기 → 현재 Host가 독립 실행이면 기존 BASIC 청정 Task로 전달 실제 parser/dispatcher·중복/연결 교체 포함 영향 시험 12건 통과, 명세→품질 검토, IoT Java 컴파일 33초 APK 반영·실제 MQTT→장치 확인. 명령 접수는 실제 동작 완료가 아님

호환 기준: Host가 명시적으로 COMPATIBILITY라고 응답한 경우에만 기존 경로를 유지합니다. 연결 실패·조회 실패·실행 차단·소유자 교체를 이유로 DeviceAgent에 우회하거나 명령을 재전송하지 않습니다. 같은 요청은 기존 Task 기록을 먼저 조회합니다. NEXT와 명시적인 비고정청정 모드의 전체 이관은 이번 범위가 아닙니다.

APK와 구분: 아래의 기존 4종 후보 준비 기록은 유효하지만, 위 두 변경은 그 후보보다 뒤에 작성한 소스입니다. 이번 업로드는 문서 배포이며 앱 설치나 기기 재시작을 수행하지 않았습니다.

이전 누적 변경 · APK 후보까지의 이력

상태 변경 내용 확인 범위
소스·APK 후보 완료 시험앱 Vision 조회에서 DeviceAgent 연결 요구 제거. 기존 Framework Host 요청 상태 조회로 연결 영향 시험 8건·명세/품질 검토. 요청 상태이며 실제 카메라 동작 상태는 아님
4종 후보 갱신 완료 Host·시험앱·AMR·IoT 재패키징. 예약 복귀·Interaction·AQM 요청/표시 상태 포함 서명·DEX·자산·Host 플래그·SDK 일치 검사. 기기 미설치
소스 검증 완료 IoT 고정청정 명령 → 기존 Framework Cleaning Task. 새 START만 시작 요청 식별자 저장, 과거 중복 조회는 현재 값을 보존 영향 시험 7건·명세→품질 검토·Java 컴파일 31초. 후속 IoT 후보 반영 완료·기기 미설치
소스 검증 완료 MQTT 고정청정의 잘못된 요청이 legacy 경로로 재전달되는 문제 수정 실제 Gson/parser 회귀 포함 16건·명세→품질 검토·Java 컴파일 24초. IoT 후보 반영 완료. 옵션 없는 기존 NEXT/PAUSE/RESUME 호환 유지
소스 검증 완료 고정청정·지도 생성·지도 업로드·배경화면을 DeviceAgent 준비 조건과 분리 AWS/IoT 연결·기존 30초 검사 공유. 영향 21건 통과·기존 시험 대역 컴파일 실패 1건 공개, 배경 callback 집중시험 1건 통과·명세→품질 검토·Java 컴파일 28초. IoT 후보 반영 완료·기기 미설치
최신 IoT 후보 준비 완료 위 고정청정 Task·parser·독립 진입 4종을 IoT devRelease에 반영. 다른 3종은 기존 검증 후보를 재사용 빌드 1분 38초·기기에서 보관한 IoT 인증서와 후보 서명 일치·SDK/R8/DEX 검사·4 ABI native 동일성·명세→품질 검토. 설치·MQTT 실동작은 미검증
핵심 남음 독립 센서/이동청정 전체 실행, 실행별 도착·도킹 완료 근거, 제품 인수 최신 APK 설치·실제 동작 검증과 함께 수행 필요

실행 조건·상태·정책도 같이 옮기고 있나?

같이 이관 중이지만, 기능 전체의 이관이 끝난 상태는 아닙니다. 폴더 이동만으로 완료 처리하지 않고 아래 책임을 나누어 연결합니다.

책임 목표 소유자 현재 상태
사용자 입력·안내·화면 표시 Launcher / 소비 앱 화면 책임 유지. 일부 기존 정책 검사는 안내 목적으로 남음
실행 허용 조건·공통 자원 충돌 Framework 정책 / Task / Host 개인정보·배터리 등 이동청정 조건을 제출/실행 시 검사. 전체 기능 조건의 전수 정합은 남음
도메인 상태·실행 수명·완료 판단 Framework 도메인 Service AQM 상태·요청 분기 일부 이관. 센서청정 효과 adapter와 독립 Host 전체 조립은 남음
장치 명령·실제 관측 제공자 / HAL AMR·MCU 관측 연결. 특정 요청과 도착·도킹 응답을 대응시키는 완료 계약은 미완료

방금 달라진 점 · 이전 공유본 대비

2. 최근 실제로 옮긴 내용

아래 항목은 소스 검증 결과입니다. 소스 완료 범위를 각 행에 한정하며, APK 설치·기기 성공을 의미하지 않습니다.

기능 이전 책임 → 현재 연결 이번에 확인한 것 다음 남은 일
공기질 표시·청정 완료 판단 상태 DeviceAgent의 5개 상태 → Core AirQualityManagerService 중복 필드 제거, 표시 20 tick 감소·완료 10 tick·기존 callback 순서 보존. 원본과 30,000개 입력 및 기존 완료 10,009개 trace/state 비교 Android 타이머·화면 callback은 제품 adapter에 남음. 독립 Host 센서청정 전체 조립
센서청정 요청 처리 DeviceAgent의 요청 분기·준비 순서 → Core 서비스 기존 분기·효과 순서를 보존하고 제품 효과는 adapter로 호출 목적지·공간·측정·보고를 연결한 독립 실행
고정청정 예약 복귀 기존 예약 규칙 → 공개 SDK/Binder → 현재 Host 실행 → 복귀 Task 예약 교체·취소·실행 교체 방어, 등록자 유지, 시험앱 1/5/10분·상태·Task ID 표시 실제 도킹 완료 상관. 예약은 프로세스 내 상태이며 재부팅 복원 없음
Interaction 상태 조회 시험앱 DeviceAgent 경로 → 기존 공개 LLM 경로 → 인증 Agent 상태명·원시 코드·엔진·순번·관측 시각 표시, 반환 전 현재 연결/최신 관측 검사 새 APK 후보 반영 완료·기기 조회 남음. 마이크 동작이나 Task 완료 검증과 별도
이동청정 시작 조건 Launcher 조건 → Host의 이동청정 Task 준비 개인정보·보정 배터리·기존 시작 조건을 제출/실행 전에 검사 현재 첫 이동 경로를 넘어 전체 청정·복귀 실행 연결
IoT 지도 업로드 DeviceAgent 준비·REQMAP 의존 → Framework AMR 관측 → 파일쌍 → HTTP → MQTT 현재 세대/증가 순번·요청별 plain/AES128 바이트 쌍, 중복·이전 연결 결과 방어 서버까지 실제 업로드, GET 응답과 요청의 상관, Task 완료

최근 세 묶음의 검증 근거: 공기질 표시 상태 영향 시험 5건과 DeviceAgent Java 컴파일, Interaction 영향 시험 13건과 Host/시험앱 Java 컴파일, 예약 복귀 영향 시험 14건과 타이머·표시 추가 검증 및 SDK/Host/시험앱 컴파일. 각 묶음의 명세→품질 검토를 통과했습니다. 테스트 수는 중복될 수 있으며 합산 완료율로 사용하지 않습니다.

비즈니스 로직 상세 변경 대장에서 이전 조건·보존 규칙·새 제한·미검증 범위를 비교할 수 있습니다.

3. 전체 작업 지도 · 7개 구역

모든 구역은 제품 전체 인수가 남아 있습니다. “소스 연결”과 “기기 일부 확인”을 구분합니다.

구역 현재 반영 범위 완료까지 남은 일
R1 구조·팀원 SDK 정합 공개 SDK·AIDL·소비자 정합, 공통 모듈/의존 방향 정리 최신 팀원 변경 누락 대조·소비 APK별 계약·실행 확인
R2 공통 상태·Task 큐·자원·취소·기록, 요청별 실행 상태, AMR 준비 실패 격리 기능별 같은 실행의 완료·중단 근거, 재시작 후 기록 조정
R3 청정·AMR·지도 기본 고정청정 기기 일부 확인. 센서청정 상태/요청·이동 조건·지도 요청/파일 전달·예약 복귀 소스 이관 센서/이동청정 전체 실행, 도착·도킹의 실행별 완료, 전체 중단
R4 음성·인식·WSS·바이탈 공개 Interaction 조회, WSS 정지감시 Task·LLM/화면/틸트 연결 자동 순찰·녹화/업로드 전체 흐름·바이탈 시작/종료·품질 확인
R5 IoT·설정·보고·Streaming 지도 업로드·고정청정 Task 소스 연결, 시작 식별자 보존, 설정/오디오 연결 복구 최신 IoT 후보 설치·전체 CLEAN 이벤트 수명, 서버까지 검증, APP 상태 생산자·Streaming 복구
R6 SystemUI·소비 앱 공용 SystemUI 제공 서비스와 Launcher 소비 경계, 시험앱 SDK 상태·예약/지도 조회 표시 남은 Launcher 정책 이관·공용 효과/세션·권한·화면 확인
R7 탑재·독립 부팅·제품 인수 전용 정책·서명 APK·DeviceAgent 없는 부팅/MCU 관측의 기기 이력 최신 후보 설치, 도메인별 독립 실행·장애·재연결·장시간 인수

목표 구조는 소비 앱 → 공개 Manager/SDK → Binder → Framework 공통 제어·Task·도메인 Service → 장치 제공자/HAL입니다. 공용 SystemUI는 시스템 소유의 제공 서비스이며 Launcher는 소비 앱입니다. AMR·IoT 제공자 앱이 남는 것과 DeviceAgent가 비즈니스 실행을 계속 소유하는 것은 다릅니다.

4. 10/13–15 APK와 실기기 이력 · 최신 소스와 구분

5. 다음 작업 · 완료 조건

순서 작업 묶음 끝났다고 판단할 기준
0 · 현재 구현 실제 Host 효과 공급·startup·5개 위치 소비자 등록 기존 admitted owner와 공통 runtime을 연결. 생성 시 실행하지 않고 DeviceAgent 우회 없이 같은 상태·효과 사용
1 · 구현 센서·이동청정 독립 실행 조립 목적지·공간·측정·청정·보고·복귀를 현재 실행 owner로 연결. DeviceAgent 우회 없음
2 · 계약/구현 AMR 완료·중단 근거 연결 요청 실행 ID와 장치 세대/순번이 대응하는 도착·도킹·정지 근거. 전역 ARRIVED만으로 특정 Task 성공 처리 금지
3 · 통합 10/19 이후 소스의 최신 APK 묶음·시험앱 반영 release 산출물의 실제 인증서·DEX/native/assets 확인. 기기 시험 시 권한 범위 내 설치·조회부터 검증
4 · 기기 검증 기능별 독립 동작·실패/복구 기본/센서/이동청정, AMR, IoT, WSS, SystemUI의 실제 결과·중단·재연결 근거
5 · 1차 릴리즈 판정 지원/미지원 범위 고정 공개 시험 항목과 실제 지원 범위 일치, 잔류 DeviceAgent 의존·미해결 위험 명시

현재 핵심 미완료: AMR 장치 응답에는 Framework 실행 ID가 그대로 돌아오는 계약이 없습니다. 전역 이동 상태에 현재 Task ID를 붙여 성공을 만들지 않습니다. 이 계약과 별개로 센서 실행 조립·소비 앱·설정/오류 경로의 독립 작업은 계속 진행할 수 있습니다. OTA 기존 데이터 이관은 별도 후속입니다.

6. 진행률·일정

전체 완료율과 확정 남은 일수는 아직 재산정하지 않았습니다. 최근 검증 묶음 수를 전체 기능 완료율로 바꾸지 않습니다. 먼저 위 1–2번의 실행 조립·완료 계약을 확정하고 최신 APK의 기기 결과를 얻어야 릴리즈 일정을 좁힐 수 있습니다.

이전 40.0 단계 지수(10/8), 19–35 작업일(10/12)은 과거 WBS·평가 보존본의 값이며 현재 완료율·납기가 아닙니다.

7. 검증 기록 찾아보기

10/19 최신 묶음은 검증 보관소의 각 checkpoint evidence.json이 정본입니다. 공개 페이지에는 원시 실행 로그나 로컬 경로를 싣지 않습니다.

최신 변경 식별자 확인 범위
C20261019-robot-routing-owner 13개 영향 시험·명세/품질·Host/DeviceAgent Java
C20261019-location-publication-owner 13개 영향 시험·명세/품질·Host/DeviceAgent Java
C20261019-robot-observation-owner 15개 영향 시험·명세/품질·Host/DeviceAgent Java
C20261019-host-robot-observation 7개 영향 시험·명세/품질·Host Java 통과(298.73초)
C20261019-mapping-platform-outputs 실제 Host configured 경로 JVM 시험·명세/품질·Host Java

아래는 10/15까지의 기록입니다.

저장소 docs/refactor/의 기능별 JSON이 정본입니다. 소스 SHA·명령·결과·로그·미검증 범위를 함께 기록합니다.

대상 정본
공기질 조회 시험 화면 skix-airquality-query-consumer-evidence-2026-10-15.json
모드 생략 PAUSE/RESUME skix-iot-optionless-cleaning-evidence-2026-10-15.json
공기질 표시 상태 skix-aqm-display-state-evidence-2026-10-15.json
센서청정 요청 처리 skix-aqm-sensor-request-flow-evidence-2026-10-15.json
예약 복귀 skix-basic-return-host-evidence-2026-10-15.json
Interaction 조회 skix-llm-independent-query-evidence-2026-10-15.json
이동청정 조건 skix-moving-cleaning-admission-evidence-2026-10-15.json
IoT 지도 skix-iot-canonical-map-evidence-2026-10-15.json
최신 IoT APK 후보·고정한 4종 묶음 skix-iot-independent-apk-evidence-2026-10-15.json 및 release-set.json
최신 Vision 조회·4종 APK 후보 skix-independent-vision-query-apks-evidence-2026-10-15.json
IoT 고정청정·MQTT 진입 skix-iot-basic-task-evidence-2026-10-15.json / skix-iot-command-ingress-evidence-2026-10-15.json
이관한 MQTT 4종 진입·시각 검사 skix-iot-migrated-ingress-evidence-2026-10-15.json
10/14 기기 결과 20261014-release-candidate/basic-configured-device-evidence.json

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