2026 iOS CI와 OpenClaw 동일 풀 혼재: 네 유형 장애와 변경 티켓 책임 경계
클라우드 Mac mini M4가 iOS 팀에 매력적인 이유는 전용 Apple Silicon, 싱가포르·일본·한국·홍콩·미 동부·미 서부 6리전, 일일 스파이크에서 월간 베이스라인까지 전환 가능한 계약입니다. 같은 호스트에서 xcodebuild archive와 시뮬레이터 행렬을 돌리면서 OpenClaw Gateway를 127.0.0.1:18789에 상시 두면 실패는 단일 컴포넌트가 아니라 네 차원으로 나타납니다. 통합 메모리가 병렬 컴파일과 시뮬레이터 페이지 캐시로 가득 차고, SSD에서 DerivedData·시뮬레이터 이미지·~/.openclaw/workspace memory 로그가 IOPS를 놓고 다툽니다. 포트 18789가 구 LaunchAgent·로컬 앱 부착·재설치에 점유되고 launchd와 대화형 shell의 PATH·HOME·키체인 뷰가 불일치하면 Runner와 Gateway 프로브가 다른 세계를 봅니다.
제1유형은 메모리 압력 연쇄입니다. CI가 memory pressure를 일으키면 macOS가 압축·스왑을 시작하고 Gateway RPC 지연이 올라가며 channels 프로브 타임아웃이 토큰 만료로 오인됩니다. 제2유형은 디스크와 inode입니다. Runner 단위 DerivedData 분리가 없으면 Agent skill과 CI 캐시가 같은 파티션을 덮어씁니다. 제3유형은 18789와 이중 설치로, 먼저 Node 22와 18789 이중 경로를 대조한 뒤 모델을 바꾸세요. 제4유형은 환경 분열로 plist WorkingDirectory가 Runner 홈을 가리키고 openclaw doctor는 다른 사용자에서만 통과합니다. 변경 티켓에 이번에 움직이는 것이 시간대·라벨·경로·SKU 중 무엇인지 적고 진단 래더 L1과 맞춥니다.
통합 메모리 한계: 병렬 archive·시뮬레이터 시 Gateway P95 상승, 모델 품질 문제 아님.
SSD/DerivedData 혼재: CI 캐시와 workspace memory 로그가 같은 디스크에서 경합.
18789 점유·이중 heartbeat: CLI와 launchd가 각각 Gateway 기동.
launchd·Runner 환경 불일치: 키체인, PATH, HOME 분열.
시간대 없는 영구 혼재: 피크 CI와 주간 Agent에 스케줄 가드레일 없음.
공유 노드 거버넌스를 읽었다면 「동일 풀」은 단일 테넌트 내 다중 워크로드이며 다수 SSH 공유가 아닙니다. 수용 주간 단일 진실 원천은 네 줄입니다: 병렬 job 상한, DerivedData 루트, Gateway health JSON 한 줄, memory pressure 이벤트 횟수.
경합 매트릭스: xcodebuild, 시뮬레이터, Gateway, channels 프로브 전형 임계값
아래 표는 변경 리뷰용 계획 앵커이며 공개 벤치마크가 아닙니다. 실제 임계값은 귀사 P95 빌드 시간과 openclaw gateway status --deep을 기준으로 합니다. M4 16GB/256GB에서 iOS CI와 Agent를 같은 주에 올리면 루트·스왑이 먼저 한계에 닿습니다. 24GB/512GB는 주간 Agent+야간 단일 archive, M4 Pro 대용량 통합 메모리는 시뮬레이터 행렬·다중 Runner 라벨 병렬에 적합합니다. DerivedData 수십 GB는 흔하며 OpenClaw memory/*.md·skill을 더하면 tarball 해제 후 1.5배 이상 루트 여유를 잡으세요.
| 워크로드 조합 | 메모리 리스크 | 디스크/IOPS | 18789/프로브 |
|---|---|---|---|
| 단일 xcodebuild+단일 Gateway | 중(16GB 병렬 제한) | 중 | 낮음 |
| 시뮬레이터 행렬+channels 프로브 | 높음 | 높음 | 중(CPU 경합) |
| 야간 다중 job+주간 대화 피크 | 매우 높음 | 매우 높음 | 높음(RPC 오인) |
| Gateway만 상시, CI 외부 | 낮음 | 낮음 | 낮음 |
동일 풀은 두 소프트웨어가 들어간다가 아니라 피크 때 누가 양보하는지 문서화하는 것입니다.
channels 프로브와 병행할 때 프로브 cron과 CI cron을 한 빌드 창 이상 어기세요. Git·아티팩트가 먼 리전이면 디스크가 비어도 clone이 느립니다. Runner마다 ~/ci-cache/<runner-name>를 두고 vm_stat 압축이 지속되면 Gateway 재시작보다 비핵심 job을 먼저 멈추세요.
실무에서는 Runner별 ~/Library/Developer/Xcode/DerivedData 심볼릭 링크 대상을 분리하고, OpenClaw memory/ 로그 보존 일수·압축 임계를 변경 티켓에 적어 주간 디스크 곡선에서 Agent 지연과 빌드 지연을 구분합니다. 수용 주간에는 네 줄 지표 외에 swap 사용량 추이를 함께 붙이면 M4 Pro 승급 논의가 데이터로 이어집니다.
명령 블록: Runner 라벨, 빌드 창, Gateway 헬스 체크 골격
최소 분리는 제2대 없이도 이름·라벨·디렉터리를 감사 가능하게 합니다. ios-ci-only, openclaw-reserved 라벨과 runs-on 분기, 피크에 cron·수동 승인으로 Agent 무거운 도구를 막으세요. 아래 블록은 Runner 가이드 PATH 검증과 같습니다.
export DERIVED_DATA_ROOT="$HOME/ci-derived/${GITHUB_RUN_ID:-local}"
export OPENCLAW_STATE="$HOME/.openclaw"
mkdir -p "$DERIVED_DATA_ROOT"
lsof -nP -iTCP:18789 -sTCP:LISTEN || true
openclaw gateway status --deep 2>/dev/null | head -20
/usr/bin/log show --predicate 'eventMessage CONTAINS "memory pressure"' --last 1h | tail -5
df -h / | awk 'NR==1 || NR==2'힌트: CI에서 DERIVED_DATA_PATH 또는 -derivedDataPath를 명시하고 18789는 ssh -L·Tailscale만 사용하세요.
체크리스트: ① Runner·workflow 대조표 ② 혼재 UTC 시간대 ③ 사람·Agent 키체인 분리 ④ 일일 openclaw doctor·디스크 스냅샷 ⑤ channels·CI cron 어김표. GitLab/Jenkins는 6리전 Agent 사양과 라벨을 맞추세요.
여섯 단계: 혼재 평가에서 롤백 가능한 동일 풀 가드레일
피크 겹침: 7일 CI·Agent 피크를 표시합니다.
경로·라벨 고정: DerivedData, ~/.openclaw, Runner 라벨을 티켓에 기록합니다.
6리전 데이터면: Git·아티팩트·캐시를 노드와 동일 리전에 둡니다.
18789 검증: 구 job 중지 후 install-daemon, status 출력 저장.
피크 연습: archive+프로브 병렬, memory pressure 기록.
분리·승급: 일일 스파이크로 계약 선택.
짧은 결정 트리: clone/pull 느리면 Git 동일 대륙 노드, 야간 병렬 실패 증가면 병렬 제한·제2노드, Agent RPC 타임아웃이면 18789·메모리 우선. 싱가포르·일한·홍콩·미 동서부 용도를 나누고 네 줄 지표를 상시 안정성과 대조하세요.
언제 풀을 나눌까: M4 24GB/512→M4 Pro 또는 제2노드
KVMNODE 풀 분할은 제2 Mac mini 또는 M4 Pro 승급입니다. 병렬 job≥2·시뮬레이터 상시·주간 Gateway 대화가 많으면 16GB는 과도기, 24GB/512는 시간 어긋난 혼재, DerivedData 주 30GB 초과·memory pressure 일 3회 초과면 조달 검토, TestFlight+다중 channel은 M4 Pro 우선입니다.
| 팀 프로필 | M4 16GB/256 | 24GB/512 | M4 Pro |
|---|---|---|---|
| 주간 Agent·야간 archive | 리스크 높음 | 가능 | 더 안정 |
| 시뮬레이터 행렬+다중 라벨 | 비권장 | 중 | 우선 |
| 6리전 원격 Git·로컬 캐시 | 리전 먼저 | 우선 | 병렬도 따름 |
주의: 노트북 단일 호스트는 수면·NAT로 동일 풀 격리를 계약화할 수 없습니다.
SLA에 피크 CI 대기·Gateway 헬스·디스크 상한을 씁니다. 16GB로 주간 Agent·야간 릴리스를 받으면 리스크·예산을 회의록에 남기세요. 제2노드는 M4 스파이크+M4 Pro Gateway 조합이 흔합니다. KVMNODE Mac mini 클라우드 대여는 6리전·일일 스파이크~월간 베이스라인을 지원합니다. 주문, 고객 센터, 가격 페이지를 참고하세요.