Newt 앱 개발 오류
Newt에서 대화로 앱을 만들 때 앱 작업 메시지에 나오는 오류 코드별 뜻과 다음 행동이에요.
Newt 앱 작업이 멈추면 앱 작업 메시지에 오류 코드 · 단계 · 문제 · 원인 · 다음 행동이 함께 나와요.
원인을 확인하지 못했으면 "원인 미확인"으로 나오고, 짐작으로 권한이나 네트워크 탓을 하지 않아요.
이 페이지는 코드마다 무슨 일이 있었는지와 할 일을 적어 둔 곳이에요. 이 페이지를 열지 못해도 메시지의 다음 행동만으로 이어 갈 수 있어요. 전체 흐름은 Newt에서 대화로 앱 만들기에 있어요.
먼저 알아 둘 세 가지
같은 작업부터 다시 조회해요
응답이 끊기거나 결과가 애매하면 새로 시키지 말고 같은 작업의 상태를 물어봐요. 같은 요청을 처음부터 다시 시키면 새 작업이 생겨요.
방금 업무요청함 작업 상태 다시 확인해줘이미 된 일을 확인해요
메시지에는 저장 상태(저장 번호 · 시각)와 미리보기 · 운영 상태가 따로 나와요. 실패한 단계 앞에서 끝난 일은 그대로 남아 있어요. 검증을 통과하지 못한 코드는 Git에 저장되지 않아요.
문의할 때는 이것만 전해요
앱 소유자나 회사 관리자에게 작업 번호 · 단계 · 오류 코드 · 확인 시각을 전해요. 대화 전체, 비밀값, 로그 전체는 붙이지 마세요.
상황별로 찾기
| 이런 상황이면 | 볼 코드 |
|---|---|
| 앱 이름을 말했는데 못 찾아요 | app_not_found · app_ambiguous |
| 이 앱은 Newt로 못 고친대요 | app_unsupported · capability_disabled |
| Agent가 이 Agent로는 앱을 만들거나 고칠 수 없대요 | agent_coding_not_allowed |
| 코드는 보관됐는데 Git 저장이 안 됐어요 | git_save_failed · git_conflict |
| 다른 곳에서 먼저 고쳐서 충돌났어요 | source_conflict · git_conflict |
| 첫 배포는 됐는데 미리보기가 안 열려요 | first_deployment_failed · staging_unavailable · preview_failed |
| 새 패키지를 추가했더니 멈췄어요 | dependency_resolution_failed · dependency_set_unavailable |
| 운영 배포가 멈춰 있어요 | review_pending · goal_unverified |
| 됐는지 안 됐는지 모른대요 | effect_unknown |
| "진행 중"인데 한참 그대로예요 | temporarily_unavailable · staging_busy · effect_unknown |
| 미리보기를 열면 로그인 화면이 계속 나와요 | 브라우저 로그인이 반복돼요 |
앱 · 권한 · 기능
app_not_found 앱을 찾지 못했어요
뜻 — 말한 이름이나 링크로 내가 볼 수 있는 앱을 찾지 못했어요. 이름이 다르거나, 다른 회사의 앱이거나, 접근 권한이 없거나, 삭제된 경우예요. 다른 회사 정보를 지키기 위해 어느 쪽인지는 알려 주지 않아요.
할 일 — "내가 고칠 수 있는 앱 목록 보여줘"로 정확한 이름을 확인하고, Newt에서 선택한 회사가 맞는지 봐요. 권한이 필요하면 앱 소유자에게 요청해요.
app_ambiguous 어느 앱인지 정할 수 없어요
뜻 — 같거나 비슷한 이름의 앱이 여럿이에요. Agent는 아무 앱에나 쓰지 않고 후보를 보여 줘요.
할 일 — 후보 중 하나를 골라 답해요. 앱 주소처럼 구분되는 정보를 함께 말하면 확실해요.
app_create_forbidden 앱을 만들 권한이 없어요
뜻 — 이 회사에서 새 앱을 만들 수 있는 권한이 없어요. 아무것도 만들어지지 않았어요.
할 일 — 회사 관리자에게 앱 만들기 권한을 요청해요. 기존 앱의 쓰기 권한을 받아 그 앱을 고치는 것도 방법이에요.
app_unsupported Newt로 고칠 수 없는 앱이에요
뜻 — Newt 앱 개발은 AxHub 안의 Git 저장소를 쓰는 앱만 다뤄요. GitHub에 연결된 앱, AxHub 플러그인 형태의 앱, 저장소를 옮기는 중인 앱, 보관되거나 일시 중지된 앱은 다루지 않아요. 메시지에 어느 이유인지 나와요.
할 일 — GitHub에 연결된 앱은 기존 방법(빠른 시작)으로 고쳐요. 일시 중지된 앱은 다시 켠 뒤(배포 관리), 저장소를 옮기는 중이면 끝난 뒤 다시 요청해요.
permission_revoked 작업 중에 권한이 빠졌어요
뜻 — 단계를 실행하기 직전에 권한을 다시 확인했더니 없었어요. 회사 구성원이 아니게 됐거나, 앱의 쓰기 · 배포 권한이 빠진 경우예요. 그 단계부터 아무것도 하지 않았고, 앞에서 끝난 저장 · 배포는 메시지에 나와요.
할 일 — 앱 소유자에게 권한을 다시 받은 뒤 "업무요청함 작업 이어서 해줘"라고 말해요.
capability_disabled 앱 개발 기능이 꺼져 있어요
뜻 — 이 회사에서 Newt 앱 개발 기능을 쓸 수 없어요. 아무것도 만들거나 바꾸지 않았어요.
할 일 — 회사 관리자에게 문의해요. 그동안은 빠른 시작의 기존 방법으로 앱을 만들 수 있어요.
agent_coding_not_allowed 이 Agent로는 앱을 만들거나 고칠 수 없어요
뜻 — 앱을 만들거나 코드를 고치기 전에 지금 대화와 Agent로 개발할 수 있는지 확인했는데, 할 수 없어서 멈췄어요. 메시지의 문제와 원인으로 어느 경우인지 알 수 있어요. 이 확인은 앱을 만들거나 코드를 고칠 때만 해요. 앱 목록 보기 · 저장된 버전의 미리보기 · 배포 · 설정 변경은 이 코드로 막히지 않아요.
할 일 — 아래 표에서 메시지의 문제 · 원인과 같은 줄을 찾아 그 줄의 할 일을 해요. 대부분은 기본 Newt(처음부터 있는 기본 Agent)에게 같은 요청을 하면 돼요.
작업을 시작하기 전에 멈춘 경우 — Agent 답변에 나와요. 작업을 만들기 전에 멈춰서 새로 만든 앱도, 저장된 작업도 없어요.
| 문제 | 원인 | 할 일 |
|---|---|---|
| 이 대화의 모델로는 이 Agent가 앱을 만들 수 없어요 | 대화 모델이 이 Agent의 허용 모델에 없어요. 메시지에 모델 이름이 나와요 | 대화 모델을 이 Agent가 쓸 수 있는 모델로 바꾸거나, 기본 Newt에게 같은 요청을 해요 |
| 이 대화에서는 앱을 만들거나 고칠 수 없어요 | 팀봇 · 공유방 · 그룹 대화예요 | 기본 Newt와의 대화에서 같은 요청을 해요 |
| 지금은 기본 Newt만 앱을 만들고 고칠 수 있어요 | 회사에서 기본 Newt 외 Agent의 앱 개발을 켜지 않았어요 | 기본 Newt에게 같은 요청을 해요 |
| 팀봇으로 공개한 Agent는 앱을 만들지 않아요 | 팀원이 쓰는 팀봇 연결을 지키기 위해서예요 | 기본 Newt에게 같은 요청을 해요 |
| 이 설정에서는 이 Agent가 앱을 만들 수 없어요 | 회사나 내 설정에서 Agent 도구 사용을 막아 두었어요 | 기본 Newt에게 같은 요청을 해요 |
작업을 시작한 뒤 코딩 전에 멈춘 경우 — 앱 작업 메시지에 나와요. 코딩을 시작하기 직전에 다시 확인했더니 할 수 없어서 코딩을 시작하지 않았어요. 앱과 저장된 작업은 그대로예요. 새 앱을 만들던 중이었다면 앱과 템플릿 저장까지 끝나 있어요.
| 문제 | 원인 | 할 일 |
|---|---|---|
| 코딩을 시작하지 않았어요 · 고치는 코딩을 이어가지 않았어요 | 회사에서 기본 Newt 외 Agent의 앱 개발을 껐어요 | 기본 Newt에게 "업무요청함 이어서 만들어줘"처럼 앱 이름과 함께 말하고, 원래 요청을 다시 말해요 |
| 코딩을 시작하지 않았어요 | 이 Agent의 설정이 바뀌었어요 | 같은 요청을 다시 해요 |
작업과 목표
operation_in_progress 이 앱에 진행 중인 작업이 있어요
뜻 — 한 앱에는 한 번에 하나의 작업만 돌아요. 내 답이나 승인을 기다리며 멈춰 있는 작업도 진행 중으로 쳐요. Agent가 진행 중인 작업을 알려 줘요.
할 일 — 끝날 때까지 기다리거나 "업무요청함 작업 어디까지 됐어?"로 상태를 봐요. 그 작업이 답을 기다리고 있으면 답해요. 필요 없는 작업이면 "업무요청함 작업 멈춰줘"라고 한 뒤 새로 요청해요.
goal_not_authorized 맡긴 목표 밖의 일이에요
뜻 — 지금 단계가 내가 맡긴 목표에 없어요. 예를 들어 "고쳐줘"만 했는데 Agent가 운영 배포를 하려 한 경우예요. 그 단계는 실행하지 않았어요. 내가 "배포는 취소해줘"처럼 멈춰 달라고 해서 끝난 작업은 이 코드가 아니라 cancelled로 나와요.
할 일 — 원한다면 목표를 분명히 말해요. 예: "업무요청함 운영에 배포해줘".
goal_unverified 목표가 확실하지 않아 일부를 멈췄어요
뜻 — 마지막 말이 목표를 바꾸는지 확실하지 않아서 운영 배포 · 외부 공개 · 설정 변경을 보류했어요. 코드 작성 · 검증 · 저장 · 비공개 미리보기는 계속돼요.
할 일 — 원하는 범위를 한 문장으로 다시 말해요. 예: "운영 배포까지 해줘" 또는 "미리보기까지만 해줘".
cancelled 작업을 멈췄어요
뜻 — 멈춰 달라는 요청("취소해줘", "배포는 하지 마")으로 작업이 끝났어요. 운영 배포 · 공개 범위 변경 · 설정 변경을 멈췄다면 메시지 첫 줄이 "요청에 따라 운영 배포를 멈췄어요"처럼 무엇을 멈췄는지 알려 줘요. 진행 중이던 코드 작업과 멈출 수 있는 배포는 멈췄고, 이 작업이 낸 검토 요청이 아직 대기 중이면 철회했어요("검토 요청을 철회했어요"). 그 사이 이미 승인된 검토는 철회하지 않고 승인됐다고 알려 줘요. 이미 저장된 코드와 끝난 배포는 되돌리지 않아요. 무엇이 남았는지는 메시지에 나와요.
할 일 — 다시 하려면 새로 요청해요. 마지막으로 저장된 버전에서 이어서 해요.
temporarily_unavailable 일시적인 문제로 작업을 잠시 멈췄어요
뜻 — 이 코드는 진행 중인 작업이 멈춘 경우와 작업을 시작하기 전에 멈춘 경우에 나와요. 두 경우는 다시 요청하는 말이 달라서 메시지로 구분해요.
| 메시지 | 이렇게 말해요 |
|---|---|
| "○○ 단계를 자동으로 다시 시도하고 있어요" 안내 뒤 그 단계에서 멈췄어요 | "이어서 해줘" |
| "지금 앱 개발을 시작하지 못했어요" · "아무것도 만들지 않았어요" | 같은 요청을 그대로 다시 해요. 예: "업무요청함 앱 만들어줘" |
진행 중인 작업이 멈춘 경우 — 작업에 필요한 서비스가 응답하지 않아 같은 단계를 자동으로 다시 시도했어요. 예를 들어 앱 저장소(Git) 계정·권한 준비가 아직 끝나지 않았거나, 코딩 작업 공간이나 배포 시스템이 잠시 응답하지 않거나, 다른 배포가 미리보기 환경을 계속 쓰고 있는 경우예요. 90초가 넘으면 "○○ 단계를 자동으로 다시 시도하고 있어요" 메시지로 단계와 원인을 한 번 알려 드리고, 10분이 넘도록 해결되지 않으면 그 단계에서 멈춰요. 이미 저장·배포된 결과는 그대로 있고, 이 앱의 진행 중 작업 자리도 유지돼요.
할 일 — 잠시 뒤 같은 대화에서 "이어서 해줘"라고 말해요. 멈춘 단계부터 다시 시도하고, 다시 막히면 같은 방식(90초 뒤 안내, 10분 뒤 멈춤)으로 알려 드려요. 다른 대화에서는 "업무요청함 이어서 개발해줘"처럼 앱 이름과 함께 말해요. 여러 번 멈추면 작업 번호 · 단계 · 원인을 관리자에게 알려요.
작업을 시작하기 전에 멈춘 경우 — 앱을 만들거나 고치기 전에 필요한 확인을 끝내지 못해 멈췄어요. 설정을 확인하지 못했거나, 기록을 저장하지 못했거나, 다른 변경과 겹쳤거나, 서버 오류가 난 경우예요. Agent 답변에 원인 한 줄과 문의 번호가 나와요. 작업을 만들기 전에 멈춰서 새로 만든 앱도, 저장된 작업도 없어요.
할 일 — 이어 갈 작업이 없으니 "이어서 해줘"가 아니라, 잠시 뒤 같은 요청을 그대로 다시 해요. 예를 들어 "업무요청함 앱 만들어줘"라고 했다면 그 문장을 다시 보내요. 같은 메시지가 여러 번 나오면 문의 번호 · 원인 · 확인 시각을 문의할 때처럼 전해요.
repair_limit_reached 자동으로 고치다 멈췄어요
뜻 — 검증이 실패해서 Agent가 스스로 고쳐 봤지만, 최대 세 번 안에 통과하지 못했거나 같은 오류가 반복돼 멈췄어요. 통과하지 못한 코드는 저장되지 않았어요.
할 일 — 메시지의 마지막 출력을 보고 요청을 더 구체적으로 하거나 범위를 줄여 다시 요청해요.
stale_revision 작업 상태가 그사이 바뀌었어요
뜻 — Agent가 예전 작업 상태를 보고 다음 단계를 요청했는데, 그사이 작업이 이미 다음 상태로 넘어갔어요. 아무것도 실행하지 않았어요.
할 일 — "업무요청함 작업 상태 다시 확인해줘"라고 하면 Agent가 최신 상태를 보고 이어 가요.
request_conflict 같은 요청에 다른 내용이 들어왔어요
뜻 — 이미 접수된 요청과 같은 요청 번호로 내용이 다른 요청이 들어왔어요. 중복 실행을 막으려고 받지 않았어요. 먼저 접수된 요청은 그대로 진행돼요.
할 일 — 먼저 접수된 작업의 상태를 확인해요. 내용을 바꾸고 싶다면 바뀐 내용을 새 요청으로 말해요.
invalid_request 요청을 이해하지 못했어요
뜻 — 요청에 필요한 내용이 빠졌거나 형식이 맞지 않아요. 예를 들어 앱이 정해지지 않았거나, 설정 값 자리에 비밀값이 들어간 경우예요. 아무것도 실행하지 않았어요.
할 일 — 앱 이름과 원하는 결과를 한 문장으로 다시 말해요. 비밀값은 채팅 대신 환경변수 화면에 등록해요.
코드 보관과 Git 저장
source_conflict 그사이 앱 코드가 바뀌었어요
뜻 — 작업을 시작한 뒤에 이 앱의 저장된 버전이 바뀌었어요. 다른 대화나 다른 사람이 먼저 저장한 경우예요. 지금 결과는 예전 버전을 기준으로 만든 것이라 덮어쓰지 않았어요.
할 일 — "업무요청함 최신 버전에서 다시 해줘"라고 요청해요.
source_unsupported_file 저장할 수 없는 파일이 있어요
뜻 — 결과에 저장하면 안 되는 파일이 있어요. .env · .env.* 파일(.env.example은 괜찮아요)이나 링크(symlink) 파일이에요. 메시지에 파일 이름이 나와요. 아무것도 저장하지 않았어요.
할 일 — 그 파일을 지워 달라고 요청해요. 비밀값은 파일 대신 환경변수로 등록해요.
source_too_large 코드가 너무 커요
뜻 — 한 번에 저장할 수 있는 크기를 넘었어요. 파일 4,000개 · 전체 24 MiB · 파일 하나 16 MiB까지이고, 압축하면 32 MiB를 넘으면 안 돼요. 아무것도 저장하지 않았어요.
할 일 — 큰 이미지 · 데이터 파일 · 빌드 결과물을 저장소에서 빼 달라고 요청해요.
capture_failed 작업 결과를 가져오지 못했어요
뜻 — 작업 공간에서 바뀐 코드를 가져오지 못했어요. 앱 코드는 마지막으로 저장된 버전 그대로예요.
할 일 — 같은 작업 상태를 확인한 뒤 같은 요청을 다시 해요.
cleanup_unknown 작업 공간 정리를 확인하지 못했어요
뜻 — 코드 작업 공간이 제대로 정리됐는지 확인하지 못했어요. AxHub가 정리 여부를 계속 확인해요. 결과가 보관됐는지는 메시지의 저장 상태에 나와요.
할 일 — 잠시 뒤 같은 작업 상태를 다시 확인해요. 계속 이 상태면 작업 번호와 함께 관리자에게 알려요.
git_save_failed Git에 저장하지 못했어요
뜻 — 검증을 통과한 결과는 AxHub에 보관됐지만 Git 저장소에 저장하지 못했어요. 저장소가 잠시 응답하지 않았거나 읽기 전용 상태였던 경우, 또는 Git 저장소의 저장 공간이 거의 다 찬 경우예요. 저장 공간 때문이면 메시지에 그렇게 나와요.
할 일 — 잠시 뒤 "업무요청함 저장 다시 해줘"라고 요청해요. 보관된 결과를 그대로 저장해요. 저장 공간이 부족하다고 나오면 회사 관리자에게 공간을 늘려 달라고 한 뒤 다시 저장해 달라고 해요.
대화에서 "배포 로그 보여줘"라고 하면 저장된 배포 상태와 단계, 빌드가 실패했을 때 남긴 마지막 로그만 보여 줘요. 실시간 빌드 로그는 대화에서 볼 수 없으니 AxHub 웹 콘솔의 앱 배포 화면에서 확인해요.
git_conflict 저장하려는 브랜치가 바뀌어 있었어요
뜻 — 저장하는 순간 newt/dev 브랜치가 예상한 버전이 아니었어요. 다른 곳에서 이 브랜치에 먼저 저장한 경우예요. 덮어쓰지 않았고, 결과는 AxHub에 보관돼 있어요.
할 일 — "업무요청함 최신 버전 기준으로 다시 반영해줘"라고 요청해요. 누가 브랜치를 바꿨는지 모르겠다면 앱 소유자와 확인해요.
검증과 빌드
dependency_resolution_failed 패키지를 설치하지 못했어요
뜻 — AxHub의 설치 환경이 package.json에 맞게 잠금 파일을 만들거나 고치고 패키지를 설치하려 했는데 실패했어요. 검증과 저장은 하지 않았어요. 이런 경우예요.
- npm 레지스트리에 없는 패키지 이름이나 버전
- Git 주소 · 파일 경로 · URL · workspace로 지정한 패키지
- 설치할 때 스크립트를 실행해야 하는 패키지
- 레지스트리에 닿지 못했거나, 5분 안에 끝나지 않았거나, 설치한 의존성 전체가 너무 큼
- 지금 잠금 파일을
package.json에 맞게 고칠 수 없음
할 일 — 요청한 패키지 이름과 버전이 맞는지 확인하고, npm 레지스트리에 있는 버전으로 바꾸거나 그 패키지 없이 만들어 달라고 요청해요. 레지스트리 문제처럼 보이면 잠시 뒤 같은 작업을 이어서 해 달라고 해요.
dependency_set_unavailable 패키지 설치 환경이 준비되지 않았어요
뜻 — 이 AxHub에 패키지 설치 환경이 설정돼 있지 않아요. 그동안은 기본 템플릿에 들어 있는 패키지 구성 그대로만 쓸 수 있어서, 패키지를 추가하거나 바꾼 앱은 의존성을 준비하지 못했어요. 앱 코드 문제가 아니에요. 검증과 저장은 하지 않았어요.
할 일 — 작업 번호와 함께 회사 관리자에게 알려요. 기다리지 않으려면 "새 패키지 없이 지금 있는 패키지로 만들어줘"라고 요청해요. 설정이 끝나면 "업무요청함 작업 이어서 해줘"라고 요청해요.
validation_failed 검증을 통과하지 못했어요
뜻 — 작업 공간에서 실행한 npm run build(또는 npm test)가 실패했어요. 메시지에 명령 · 종료 코드 · 마지막 출력이 나와요. 통과하지 못한 코드는 저장하지 않았어요.
할 일 — 마지막 출력을 보고 "이 오류 고쳐줘"라고 요청하거나 범위를 줄여 다시 요청해요.
build_failed 배포 빌드가 실패했어요
뜻 — 작업 공간 검증은 통과했지만 배포할 때의 빌드(Dockerfile)가 실패했어요. 코드는 저장돼 있어요. 개발 검증과 배포 빌드는 환경이 달라서 이렇게 될 수 있어요.
할 일 — "업무요청함 배포 로그 보여줘"로 원인을 보고 고쳐 달라고 요청해요. 자주 나는 원인은 배포가 실패로 떠요에 있어요.
runner_unavailable 작업 공간을 지금 준비할 수 없어요
뜻 — 코드 작업 공간을 띄울 자리가 없거나 점검 중이에요. 코드는 바뀌지 않았어요.
할 일 — 잠시 뒤 같은 요청을 다시 해요.
코딩 실행 환경이 꺼진 경우 — Agent 답변에 "코딩 실행 환경을 사용할 수 없어요"와 "이 환경에서는 코딩 실행이 꺼져 있어요"가 나오면, 지금 쓰는 AxHub 환경에서 코딩 실행이 꺼져 있어 이 Agent로 앱 개발을 시작하지 않은 거예요. 작업을 만들기 전에 멈춰서 새로 만든 앱도, 저장된 작업도 없어요.
할 일 — 잠시 뒤 다시 요청해요. 같은 메시지가 계속 나오면 기본 Newt에게 같은 요청을 해요.
미리보기와 배포
staging_unavailable 이 앱은 미리보기를 쓸 수 없어요
뜻 — 이 앱에서 스테이징(미리보기)을 켤 수 없어요. 회사 정책·요금제나 앱 종류 때문이에요. 미리보기 대신 운영에 몰래 배포하지 않아요. 이번 작업이 미리보기에 필요한 첫 비공개 배포를 이미 했다면 그 배포도 함께 알려요.
회사가 미리보기 환경 없이 바로 운영에 배포하는 곳이면(운영 반영 자동 승인, 퍼블릭 워크스페이스, 스테이징 없는 요금제) 이렇게 진행해요.
- 배포까지 맡긴 요청("만들어서 운영 배포까지 해줘")은 미리보기 없이 배포한다고 알리고 저장본을 운영에 배포해요. 이번 작업의 첫 비공개 배포가 이미 같은 저장본이면 다시 배포하지 않고 서비스 응답만 확인해요.
- 미리보기까지만 맡긴 요청은 이번 작업의 첫 비공개 배포에 변경이 이미 반영된 경우에만 비공개 운영 앱 링크로 마쳐요. 그 밖에는 이 코드로 멈추고 운영 앱을 바꾸지 않아요.
할 일 — 회사 관리자에게 스테이징을 쓸 수 있는지 확인해요. 운영 배포를 원하면 "업무요청함 운영에 배포해줘"라고 분명히 말해요.
staging_busy 다른 배포가 스테이징을 쓰는 중이에요
뜻 — 웹 콘솔 · CLI 배포나 다른 Newt 작업이 이 앱의 스테이징을 쓰고 있어요. 서로 덮어쓰지 않도록 미리보기 배포를 미루고 자동으로 다시 시도해요. 10분이 넘도록 계속 쓰이고 있으면 temporarily_unavailable로 멈춰요.
할 일 — 기다리면 그 배포가 끝난 뒤 이어서 진행해요. 멈췄다면 그 배포가 끝난 뒤 "이어서 해줘"라고 말해요. 반대로 Newt 미리보기 중에 웹 콘솔이나 CLI로 스테이징에 배포하면 그 배포가 우선이에요. 그때 Newt 미리보기 링크는 새 버전이 있다고 안내해요.
first_deployment_failed 첫 비공개 운영 배포가 실패했어요
뜻 — 새 앱의 미리보기를 준비하려고 비공개로 운영에 처음 배포했는데 실패했어요. 코드는 저장돼 있고, 스테이징은 아직 켜지지 않았어요.
할 일 — "업무요청함 배포 로그 보여줘"로 원인을 확인하고 고쳐 달라고 한 뒤 "미리보기 다시 해줘"라고 요청해요.
preview_failed 미리보기 배포가 실패했어요
뜻 — 스테이징 배포가 실패했거나, 배포 뒤 서비스 응답 확인에 실패했어요. 저장된 코드와 운영은 그대로예요.
할 일 — 배포 로그를 보고 고쳐 달라고 요청해요. 앱이 처음 응답하기까지 오래 걸린다면 헬스체크 실패 사유 코드를 봐요.
deploy_failed 운영 배포가 실패했어요
뜻 — 운영에 반영하는 배포가 실패했어요. 지금 운영이 어떤 버전인지는 메시지의 운영 상태에 나와요.
할 일 — 배포 로그를 보고 고쳐 달라고 요청해요. 서비스부터 되살려야 하면 일단 이전 버전으로 되돌리기를 봐요.
review_pending 관리자 승인을 기다리고 있어요
뜻 — 운영 반영이나 공개 범위 확대가 관리자 심사를 기다리는 중이에요. 실패가 아니에요. Agent가 승인을 대신하거나 승인된 것처럼 표시하지 않아요.
할 일 — 기다리면 돼요. 결과가 나오면 앱 작업 메시지로 이어서 알려 줘요. 기다리지 않으려면 대화에서 "검토 기다리는 배포는 취소해줘"라고 말해요. 검토 요청을 철회하고 cancelled로 끝나요. 웹 콘솔에서 따로 철회하지 않아도 돼요. 심사 절차는 공개 · 접근 관리에 있어요.
앱 설정
config_failed 설정을 바꾸지 못했어요
뜻 — 요청한 설정 변경(테이블 만들기, 칼럼 추가, 환경변수 추가 · 변경, 스테이징 전용 값 지정 · 해제)이 거절됐거나, 그사이 설정이 바뀌어 충돌했어요. 설정마다 따로 처리하므로 메시지에 이미 적용된 것과 적용되지 않은 것이 나뉘어 나와요. 적용되지 않은 설정은 바꾸지 않았어요.
할 일 — 메시지에서 적용되지 않은 설정을 확인하고, 현재 설정을 다시 본 뒤 그 설정만 다시 요청해요. 권한이 없어서 거절됐다면 앱 소유자에게 요청해요. 환경변수 규칙은 환경변수 설정하기에 있어요.
사용량과 결과 미확인
quota_exceeded 사용 한도를 넘었어요
뜻 — 실행 대기열, 저장 공간 같은 사용 한도를 넘어서 진행할 수 없어요. 새로 실행한 것은 없어요.
할 일 — 다른 작업이 끝나길 기다리거나 회사 관리자에게 한도를 확인해요.
credit_insufficient 크레딧이 부족해요
뜻 — 크레딧이 부족해서 코드 작업이나 배포를 시작할 수 없어요. 새로 실행한 것은 없어요.
할 일 — 회사 관리자에게 크레딧을 확인해요. 충전된 뒤 "업무요청함 작업 이어서 해줘"라고 요청해요.
effect_unknown 결과를 확인하지 못했어요
뜻 — 저장이나 배포를 요청했는데 결과 응답을 받지 못해서, 됐는지 안 됐는지 아직 몰라요. AxHub는 같은 요청 번호로 결과를 다시 찾아 확인해요. 확인되기 전에는 같은 일을 다시 실행하지 않아요.
할 일 — 새로 시키지 마세요. "방금 작업 상태 다시 확인해줘"라고 물어봐요. 계속 확인되지 않으면 작업 번호와 함께 관리자에게 알려요.
internal 예상하지 못한 오류예요
뜻 — AxHub 안에서 예상하지 못한 오류가 났어요. 원인은 확인하지 못했어요.
할 일 — 같은 작업 상태를 다시 확인해요. 되풀이되면 작업 번호 · 단계 · 확인 시각을 관리자에게 알려요.
브라우저 로그인이 반복돼요
증상 — 미리보기나 운영 링크를 열면 AxHub 로그인 화면이 계속 나오거나, 로그인 뒤 접근할 수 없다고 나와요.
원인 — 비공개 앱은 회사 계정으로 로그인한 사람 중 볼 권한이 있는 사람만 열 수 있어요. 브라우저가 다른 계정으로 로그인돼 있거나, 링크를 연 계정에 그 앱의 권한이 없는 경우예요.
해결 — 브라우저에서 AxHub에 Newt와 같은 계정으로 로그인한 뒤 링크를 다시 눌러요. 다른 계정이면 로그아웃하고 다시 로그인해요. 다른 사람에게 보여 주려면 공개 범위를 넓혀야 해요(공개 · 접근 관리).