용어집
XenoCI 문서와 콘솔과 API에서 쓰는 용어의 뜻
| 용어 | 뜻 |
|---|---|
| 잡 (job) | 새 macOS VM 하나에서 스크립트를 한 번 실행하는 단위, ID job_…, 상태는 queued → preparing → running → succeeded / failed / cancelled / timed_out / credit_exhausted / platform_error |
| 러너 (runner) | 잡이 도는 VM, SKU는 macos-m4 하나(Mac mini M4, vCPU 4, 메모리 7GB), 잡이 끝나면 파기됩니다 |
| 베이스 이미지 (base image) | 맥마다 봉인된 macOS 이미지, 잡마다 복제해 VM을 만듭니다, Xcode 최신 2개(27.0 기본, 26.6)와 Xcode별 iOS 런타임이 들어 있습니다 |
| 환경 (environment) | 러너의 베이스 이미지, 고를 수 있는 Xcode, 시뮬레이터 런타임, 상태(available, busy, unavailable)를 묶은 것, 워크스페이스마다 기본 Xcode를 둘 수 있습니다 |
| 업로드 (upload) | 잡에 쓸 소스 tar.gz, ID upl_…, 2 GiB 이하, 잡 하나에만 쓰이고 잡이 끝나면 지워집니다 |
| 결과물 (artifact) | 잡의 artifacts 글로브로 모은 파일, ID art_…, 잡 종료 후 7일 보존, 내려받기 링크는 15분 |
| 레시피 (recipe) | 잡 스크립트 템플릿, 기본 제공 5개(읽기 전용)와 워크스페이스 레시피, recipe_id로 제출하면 script를 생략합니다 |
| 배치 (batch) | Xcode × 시뮬레이터 × 스킴 매트릭스 조합마다 잡 하나씩 제출하는 묶음, ID bat_…, 최대 20잡, git 소스만 |
| 플레이그라운드 (playground) | 콘솔에서 스크립트 한 번을 바로 실행하는 화면, 보통 잡과 같이 과금되고 기본 제한 30분 |
| 조직 (organization) | 크레딧 지갑이자 멤버와 워크스페이스의 울타리, ID org_…, 종류 personal 또는 team |
| 워크스페이스 (workspace) | API 키와 사용량과 월 지출 한도를 묶는 프로젝트 폴더, ID wrk_…, 조직마다 기본 워크스페이스 하나 |
| 역할 (role) | 조직 멤버의 권한 등급, owner(소유자), admin(관리자), developer(개발자) |
| API 키 (API key) | xci_live_… 형식의 인증 키, 워크스페이스 하나에 묶이고 권한은 run(실행과 조회) 또는 read(조회만), 결제와 관리는 어떤 키로도 불가 |
| 콘솔 세션 (console session) | 웹 콘솔 로그인 상태, 쿠키 xci_console, 14일 |
| 크레딧 (credit) | 선불 USD 잔액, 1 USD = 1,000,000 µUSD 정수로 계산하고 소수 6자리 문자열로 표시합니다 |
| 충전 건, 로트 (lot) | 결제된 충전 한 건, ID lot_…, 결제일로부터 1년 뒤 만료, 만료가 빠른 건부터 차감 |
| 원장 (ledger) | 조직 크레딧의 모든 증감 기록, 종류는 topup(충전), charge(과금), expiry(만료), withdrawal(철회), adjust(조정), 합계가 잔액 |
| 잔액 (balance) / 사용 가능 (available) / 사용 중 (reserved) | 잔액은 원장 합계, 사용 가능은 만료 안 된 충전 건의 남은 합에서 실행 중인 잡이 이미 쓴 금액을 뺀 값, 사용 중은 그 쓴 금액 |
| 요율 (rate) | 분당 요금, 런칭가 US$0.0396(39,600 µUSD), 정가 US$0.0781, 부가세 포함, 잡이 준비를 시작할 때 고정됩니다 |
| 과금 분 (billed_minutes) | ceil(run_seconds / 60), 0초면 0분 |
| 실행 초 (run_seconds) | 스크립트 시작부터 끝까지의 초 |
| 종료 이유 (end_reason) | 잡이 끝난 이유, succeeded, failed, cancelled, credit_exhausted, platform_error, timed_out |
| 대기 이유 (queued_reason) | 잡이 대기 중인 이유, tier_concurrency_limit(조직 동시 실행 한도) 또는 capacity(빈 슬롯 없음) |
| 티어 (tier) | 누적 충전액으로 정해지는 조직 등급, 동시 실행 잡 수와 조직 대기열 상한과 월 사용 한도를 정하고 내려가지 않습니다, Custom은 운영자 지정 |
| 월 지출 한도 (monthly spend limit) | 워크스페이스에 두는 UTC 달력 월 기준 상한, 닿으면 새 잡만 막습니다 |
| 멱등 키 (Idempotency-Key) | 쓰기 요청 헤더, 24시간 안에 같은 키와 같은 본문이면 처음 결과를 돌려주고 다른 본문이면 409 idempotency_conflict |
| 고정 환율 (fixed FX rate) | 한국은행 고시 매매기준율 × 1.02를 KST 영업일마다 정한 값, 충전 주문에 고정됩니다 |
| 부가세 (VAT) | 모든 표시 가격에 포함, 결제 원화 안에서 supply_krw(공급가액)와 vat_krw(부가세)로 나뉩니다 |
| 프리셋 (preset) | 충전 금액 버튼, US$5, US$20, US$50, US$100, 직접 입력은 US$5 이상 US$1,000 이하 |
| 청약철회 (withdrawal) | 결제 후 7일 안에 쓰지 않은 크레딧만큼 원화를 부분 취소하는 것 |
| 준비 시간 (prepare time) | 슬롯 확보부터 VM 준비 완료까지(과금 전), 소스 내려받기와 정리 시간도 함께 봅니다 |
| 출처 (source_kind) | 잡을 제출한 경로, cli, mcp, github_action, api, playground, batch |
| xenocast | XenoCI CLI이자 MCP 서버 실행 파일, 같은 API 키를 씁니다 |
| MCP 서버 | 코딩 에이전트(Claude Code, Codex, Cursor)가 build, status, cancel, logs, whoami, credits, usage 도구로 잡을 다루는 stdio 서버 |
| xeno-ci/build | GitHub Actions에서 XenoCI VM으로 잡을 보내는 액션, api-key 입력으로 인증 |
| 요청 ID (request_id) | 모든 응답의 X-Request-Id와 오류 봉투의 request_id, req_…, 문의할 때 알려 주는 값 |