보조자료·슬라이드는 차트 PNG가 중심이고, 실패는 픽셀 캔버스·ICC·색 의도 모호·용량 폭증에서 납니다. OpenClaw·원격 Mac으로 수출 디렉터리를 디바운스 감시하고 해상도·색·바이트를 한 설정으로 게이트·JSONL 감사하며 게이트웨이 장애를 좁히는 2026 플레이북입니다. 렌더 계약은 Matplotlib·Plotly PNG 매트릭스와 맞추세요.
과학 PNG QC를 자동화하는 이유
축 라벨은 고정 가로 픽셀에서 읽혀야 하고, 색은 P3 노트북과 sRGB 심사 간에 어긋날 수 있으며, 파일 크기는 과도 DPI·미리보기 덩어리의 신호입니다. 원격 Mac에 ImageMagick·Python을 두면 대량 부속도 본기를 막지 않고, OpenClaw는 스킬·재시도로 막힌 경우만 올립니다.
재현 절차(단계)
- 버전 고정. README에
sw_vers·Python·Matplotlib/Plotly·magick -version한 줄씩. - SSD 레이아웃.
jobs/{id}/inbox|pass|quarantine|logs. iCloud 바탕화면·문서는 감시 노이즈. - OpenClaw. 설치 가이드 후 비대화형 SSH에서 헬스
curl— 실패 시launchd도 동일. - 디바운스. quiet 20–45초 +
stat -f%z두 샘플 일치 후 큐.savefig·Kaleido 부분 쓰기 흡수. - 드라이버.
magick identify·stat·ICC(identify -verbose또는exiftool)로 임계 대비 PASS/FAIL. - JSONL.
job_id·WxH·bytes·icc_policy_result·rules_version한 줄. - 승격·격리. 통과
pass/, 실패quarantine/+접미사. 패턴은 PNG QA 배치 참고.
실행 임계 표
출발 계약표입니다. max_bytes는 최근 합격 패키지+여유(예 +25%). ICC를 하드 게이트하기 전에 동일 라이브러리의 sRGB·Display P3 체크리스트 글로 색 의도를 팀과 먼저 고정하세요.
| 도 클래스 | 픽셀 가로×세로 | 수출 참조 | ICC·색 규칙 | 최대 파일 크기 |
|---|---|---|---|---|
| 저널 단칸(1×) | W 1200–2400, H ≤ 3600 | Matplotlib: dpi×figsize; Plotly: width/height 명시 |
sRGB IEC61966-2.1 임베드 또는 manifest에 “ICC 없음·sRGB 가정” | ≤ 900 KB |
| 슬라이드 전체 차트(16:9) | 1920×1080 ±8 px(짝수 높이 권장) | bbox_inches 여밍·tight 크롭 주의 |
동일; 심사 sRGB면 P3 전용 임베드는 거절 | ≤ 1.6 MB |
| 포스터·내부 레티나 | W ≤ 4096, H ≤ 4096 | Plotly scale=2는 저장 공간 허용 시만 |
P3 마스터가 있으면 납품용 병렬 sRGB 수출 | ≤ 4.5 MB |
| 다크 UI 오버레이(투명) | 컴포넌트 스펙(정사각 흔함) | #000/#1a1a1a 플레이트에서 스트레이트 알파 | ICC 선택; 알파 존재·프리멀 프린지 없음 | ≤ 350 KB |
프로브 스케치(IM7, 클래스별 상한 조정):
#!/usr/bin/env bash
set -euo pipefail
f="$1"
read -r w h < <(magick identify -format "%w %h" "$f")
sz=$(stat -f%z "$f")
prof=$(magick identify -format "%[icc:description]" "$f" 2>/dev/null || true)
# 예: 단칸 폭·바이트 하드 게이트
[[ "$w" -ge 1200 && "$w" -le 2400 && "$sz" -le 900000 ]] \
|| { echo "FAIL\tbounds\t$f\t${w}x${h}\t${sz}"; exit 1; }
echo "OK\t$f\t${w}x${h}\t${sz}\ticc=${prof:-NONE}"
게이트웨이·데몬 트러블슈팅
폴더는 정상인데 안 돌면 게이트웨이·데몬부터.
- 401: 토큰을 plist env 또는
chmod 600파일로,launchctl kickstart -k로 재기동. - connection refused:
lsof로 포트 충돌; 로컬만이면127.0.0.1바인딩. - 업데이트 후 무반응: 데몬 사용자 TCC·PID 잔재 정리.
- exit 0인데 빈 파일: quiet·최소 바이트·파일 나이로 Kaleido 미완료 차단.
- 로그 폭주: JSONL+배치 요약; 감시·재시도·아카이브는 기술 인사이트의 PNG 감시 HowTo와 동일 백오프를 쓰면 됩니다.
FAQ
감시가 자주 막히는 macOS 권한은?
전체 디스크 접근·필요 시 자동화. 브라우저 다운로드 대신 전용 ~/figure_qc/…, 데몬과 동일 UID로 재현.
감시 폭주 vs 정상 배치?
폭주는 분당 이벤트·크기 출렁·임시 파일. quiet 연장·무시 패턴·디렉터리 단위·이벤트 카운트 알림.
Preview OK, CI ICC 실패?
Preview의 sRGB 가정 vs 게이트의 ICC 문자열 요구. manifest에 레인 정책을 명시.
자동 색 보정?
과학 도는 격리·재수출 권장. 정규화는 원본 보존·별도 승인 레인.
정리: 한 설정(픽셀·ICC·바이트)·디바운스·JSONL·비대화형 헬스로 차트 PNG를 규격화하세요.
Apple Silicon 워커는 로그인 없이 구매·대여·요금·SSH·VNC로 연결하고, 기술 인사이트에서 파이프라인을 이어 읽으면 됩니다.