CrownyAI 브라우저에 크라우니팩토리(crowny://factory) 장착
개요
factory.crowny.org:8300(Crowny Factory, EV 주문을 실차로 만드는 셀 방식 소량생산 공장 도구 — 8모듈: 관제/수급/지그·라인/교육/검증IQC/조립/테스트·출고/공정인텔리전스)를 CrownyAI 브라우저에 crowny://factory 스킴으로 장착. 어제(2026-07-18) 완료된 크라우니EV(crowny://ev, 9616) 장착 공정을 crowny-ai-content.m에서 1:1로 미러링했다. 팩토리도 EV/CAD/홀과 마찬가지로 서버 API에 의존하는 라이브 서버형 도구이므로 오프라인 self-contained 번들 사본은 만들지 않고,https://factory.crowny.org를 loadRequest로 활성탭에 직접 로드한다.무엇을 했는지
crowny-ai-content.m (AI_SRC, make ai 타깃) — 5지점 (EV 코드 바로 옆에 나란히)
- normalizeURLString: —
crowny://factory*/팩토리/factory/크라우니팩토리/공장→
crowny://factory 정규화 (ev 블록 뒤, nexus 블록 앞에 추가)
- caOpenFactoryInActiveTab 신규 메서드 — caOpenEvInActiveTab과 완전히 동일한 구조
loadRequest:[NSURLRequest requestWithURL:...https://factory.crowny.org]
→ 탭 갱신 → 알림 post). t.urlString = @"crowny://factory", t.title = @"크라우니팩토리".
- navigateTo: 디스패치 — ev 분기 바로 뒤에 팩토리 별칭
caOpenFactoryInActiveTab 호출
분기 추가
- AI홈 타일 — 시작페이지 HTML tiles div에 EV 타일과 '+' 추가 타일 사이에
<a class='tile' onclick="location.href='crowny://factory'">...팩토리...</a> 추가
- 북마크 시드 v13 — 기존 v10(hall)/v11(cad)/v12(ev) 게이트 규약 그대로,
crowny.ai.bookmarksSeeded.v13 UserDefaults 게이트로 crowny://factory 북마크 1회 삽입
(index MIN(7, count)). v12=ev가 최댓값임을 grep으로 확인 후 v13을 신규 채번했다
(CLAUDE.md에 "다음 채번=v13"이라 기록돼 있었고 실제 grep 재확인 결과도 동일 — 채번 충돌 없음).옴니바(주소창) 서비스명 매칭은 위 normalizeURLString/navigateTo 자체가 담당(기존 서비스와 동일 패턴 — 별도 자동완성 리스트 없음).
src/앱목록.psv — 팩토리 행 신규 추가
팩토리|url:https://factory.crowny.org|-|-|-|셀 소량생산 공장 (Crowny Factory) 를 EV 행 바로
다음(29번째 줄)에 추가. HYBRID 변종 = raw URL WKWebView 탭으로 오픈. 파일 끝 개행 보존 확인.src/팩토리연결.한선 (신규, 한선씨 동반 SSOT)
EV연결.한선의 자매 파일. "서비스명 문자열 → crowny://factory로 갈지" 4상 판정:- 티(팩토리별칭인가) —
crowny://factory*/팩토리/factory/크라우니팩토리/공장→ 즉시 확정 - 타(타서비스별칭인가) — 홀/캐드/EV/스페이스/트리/오피스/빌딩/ERP/투데이/넥서스 등 기존 확정
- 옴 — "팩토리"/"factory"/"공장" 부분포함이나 정확매칭 아님(예: "셀 소량생산 팩토리 문의",
- 음 — 그 외 무관 → 이관/통과
CROWNY_STRICT=1 ./hanseonc_high src/팩토리연결.한선 > /tmp/팩토리연결.toau && ./crownyc run /tmp/팩토리연결.toau
→ STRICT 경고 0, 팩토리연결 판정 검증: 17/17 / [결과] 티 — 전체 통과.관련 파일
/Users/ef/CrownyBrowser/native/crowny-ai-content.m— 5지점 배선(normalizeURLString,
/Users/ef/CrownyBrowser/src/앱목록.psv— 팩토리 런처 카드 행 신규(29번째 줄)/Users/ef/CrownyBrowser/src/팩토리연결.한선— 4상 라우팅 판정 SSOT(신규, 자체시험 17/17)/Users/ef/CrownyBrowser/CLAUDE.md— "크라우니팩토리 (2026-07-20 장착)" 절 신규 추가
/Users/ef/CrownyDoc/projects/2026-07-18-crownyai-ev-앱장착.md— 이번 작업이 미러링한
검증
curl -s -o /dev/null -w "%{http_code}" https://factory.crowny.org→ 200 (라이브 서버형
cd /Users/ef/CrownyOS/crownyc && CROWNY_STD=libs CROWNY_STRICT=1 ./hanseonc_high src/팩토리연결.한선 > /tmp/팩토리연결.toau
./crownyc run /tmp/팩토리연결.toau—팩토리연결 판정 검증: 17/17/[결과] 티 — 전체 통과cd /Users/ef/CrownyBrowser/native && make ai— 컴파일 에러 0(사전존재 무관 경고 1건
cbButlerTextHeight unused, crowny-ai-butler.m — 이번 작업이 건드리지 않은 파일),
CrownyAI 바이너리 생성 확인(590K)
- 회귀 확인: `grep -c caOpenEvInActiveTab/caOpenCadInActiveTab/caOpenHallInActiveTab
- 앱목록.psv 행수 28→29 확인 + 6열 규약(
이름|url:...|-|-|-|설명) + 파일 말미 개행 보존 확인 - GUI 실행 검증 생략(작업 지시에 따라) — cliclick 등 GUI 자동화 금지 원칙 + 신규 Cocoa
잔여 이슈
- 팩토리 전용 브릿지(.js) 및 팬아웃 연동(ERP/Today 이벤트버스 구독) — 후속 트랙(EV/CAD/홀과
- 실사용자 세션에서 crowny://factory 클릭 시 실제 WKWebView 렌더 확인(이번엔 코드 경로로만
- 넥서스(crowny://nexus)는 여전히 전용 북마크 시드가 없음(v11=cad, v12=ev, v13=factory가