← 목록
기타 2026-07-19 6KB 읽기 6분

Crowny FAB — 블록체인 기가팩토리 네트워크 운영도구 구축 (fab.crowny.org)

  • 날짜: 2026-07-18 착수 → 2026-07-19 라이브
  • 코드: /Users/ef/crowny-fab/
  • 도메인: https://fab.crowny.org (포트 8200, 게이트웨이 기배선 + 와일드카드 cert — 인증서 작업 0)

개요

디자인 핸드오프 ~/Downloads/design_handoff_crowny_fab(dc.html 939줄 = 유일 스펙, 수용 체크리스트 A1~I9)를 기준으로 구축. 60공장(공장당 10분/대) × 전 세계 = 10초에 1대, PoA 블록체인(블록 간격 10초 = 생산 리듬)이 생산의 단일 진실. Crowny Factory(소량 200대)의 상위 스케일 제품 — EV(주문→수요)·Factory(SOP JSON→FAB 학습)·CAD(레이아웃 킷)·ERP(발주)·트리(마음 보상) 연계.

산출물

파일내용검증
앱.html (1,170줄, 108KB)dc.html 픽셀 포팅 — 9뷰(⌘1~9)·모드4종·노트시스템·kpiDict35적대검증: 데이터·토큰·산술·배선 23/23 바이트 일치
FAB엔진.한선계산 SSOT: 공장상태·KPI 600÷가동수·로봇재배분 25→33→50·수급폴백·정렬·블록해시·4상판정assert 94/94 PASS
서버.한선 (468줄) → 서버.toauEV 스캐폴드 복제. /(앱)·health·manifest(9모듈)·note PSV·link/statusSTRICT 경고 0, 전 라우트 curl 실측
org.crowny.fab.plistLaunchAgent (KeepAlive, EV 패턴)kickstart 재기동 확인

검증 (완료 판정 근거)

  1. 적대검증(독립 소넷): kpiDict 35/35·blocks 6/6·mats 5/5·kits 5/5·fabList 생성식·디자인 토큰(탭9색·모드4색·배지5종) 공백정규화 diff 0바이트 차이. onClick 23개 인스턴스 1:1 배선. 확증 결함 2건만 발견 → 전부 수리.
  2. 수리 2건: ①되돌리기(undo) 배선 — 스펙 자체 결함이었음, _undo 스냅샷+복원 구현 ②A4 VIN 스트림 10초 라이브 틱. DOM 심 35 assert PASS, diff 61줄 스코프 준수.
  3. 육안 대조: 원본 standalone vs 포팅본 924px 헤드리스 스크린샷 — 레이아웃·색·수치·상태바 일치, 가로 오버플로 0.
  4. 골격 게이트: doctype/charset/viewport/title ✓, 외부 리소스 0.
  5. 디자인 게이트: 크라우니디자인 중앙 CSS 주입(crowny-design.sh apply) + 대조스펙: .crowny-fab-independent-spec 선언(캐릭터·홀 관례) → PASS.
  6. 라이브: 로컬 8200 + 공개 HTTPS 3경로(/, /api/health, /api/manifest) 전부 200, 노트 PSV 왕복(\p 이스케이프 포함) 실측.

컷오버 기록

  • 구 fab.crowny.org = CrownyForge(uvicorn forge.server, 8200, 07-13 수동기동 orphan PID 41563) → kill 후 org.crowny.fab 인계. forge 코드는 보존: /Users/ef/Downloads/crownycell-factory/forge (06-10 "FAB 시제품제작준비" 트랙 산물).
  • /Users/ef/crowny-fab/ 내 레거시(server.py=구factory용, web/, task/, 작업지시/, data/*.db) 무접촉 보존.
  • 게이트웨이: fab.crowny.org→8200 기배선 그대로 (httpOnly:true여도 TLS 정상 — 변경 불필요 실측).

연계 접점

  • EV(:9616): /api/erp/order·/api/manifest (EV 측 기구현) — FAB /api/link/status에 선언
  • Factory(:8300): 오늘 다른 세션이 병행 구축 중(design_handoff_crowny_factory) — 소량 공정 데이터·SOP JSON→FAB 학습 계약, 파일 무접촉 유지
  • manifest connects: ["ev.crowny.org:9616","factory.crowny.org:8300"]

잔여 이슈

  1. 폰트: Pretendard·JetBrains Mono 자체호스팅 파일 없음 → 시스템 폴백 + Crowny Gothic 폴백 스택(외부 CDN 금지 준수). 원 디자인 서체 재현하려면 woff2를 crowny-fonts에 추가 후 @font-face.
  2. FAB엔진.한선 assert가 파일 최상위 — 서버가 가져오기 하기 전 테스트 분리 필요(현재 서버는 엔진 미임포트라 무해).
  3. 노트 질문의 서버 저장은 배선됐으나 앱은 스펙대로 클라이언트 데모(fetch 없음) — 실연동은 후속.
  4. crowny://fab 크라우니AI 앱카드 미장착 (EV도 동일 잔여).

학습 래칫

  • FAB기가팩토리_배선서버·FAB기가팩토리_엔진_KPI로봇재배분수급폴백 brain learn 완료 (다음부터 토큰0)
  • fn_앱_공장60생성_리포트 패턴DB 등록 (포팅 에이전트)

2026-07-21 잔여 해소 (고아 동반·앱장착·노트 실연동)

  1. 엔진 실배선(고아 동반 해소): FAB엔진.한선 top-level assert 94개 → FAB엔진테스트.한선 분리(엔진 단독 실행 부작용 0 확인, 94 PASS 유지). 서버.한선이 가져오기 "FAB엔진.한선" + 엔진 함수 실호출 라우트 4종 추가:
- /api/kpi → 공장상태·가동수 54/60·netSecPerBlock 11.1 - /api/robot?fault=N → 부하 재배분(2대=50%·+24%, 3대=정지—우회) - /api/supply?t1=0|1 → 자재 커버리지·T1 폴백 상태 - /api/판정 → 4상 종합(티/옴/타/음)+진단 - factory /api/kpi 패스스루(/api/kpi/full)도 배선. STRICT 경고 0, 함수명 충돌 0. 공개 HTTPS 200 실측.
  1. crowny://fab 앱장착: CrownyBrowser 5지점(별칭·caOpenFabInActiveTab·navigateTo·AI홈타일·북마크시드) + 앱목록.psv + FAB연결.한선(19/19). ⚠북마크 시드 v14(동시세션이 v13을 factory로 선점) — make ai 에러0. 정본=CrownyDoc 2026-07-20-crownyai-fab-앱장착.md
  2. 노트 실연동: 앱 submitQ→POST /api/note/question(뷰id 키 정합), 노트탭 진입 시 GET /api/note/list 1회 병합(window.__fabNoteLoaded 가드·_srv 중복제거). fetch 실패=조용히 로컬 폴백(I5/I6 무회귀). 종단 왕복 실측 PASS.
  • 연계 실측: EV manifest가 connectors:[factory,fab,cad,render,erp] 선언, factory(8300)·fab(8200)·ev(9616) 삼각 전부 200.