전체 기능 작동 — 순차 작업 T1~T6 완료 (2026-07-17~18)
개요
"전체 기능 작동될 때까지 작업 분류해서 하나씩" 지시 이행. 크라우니빌딩·ERP·울트라키보드 모듈군의 잔여 6건을 분류·순차 완주. 전 항목 실측 검증.
이행 내역
| # | 작업 | 결과 | 핵심 |
|---|
| T1 | 빌딩서버 행 클라이언트 방어 (P0) | ✅ | 원인 정정: VM은 TCP수락에 5초 SO_RCVTIMEO 보유 — 진짜 버그는 타임아웃 -1이 경로 "/"로 오해석돼 행 클라에 4.2MB 오발송·send 잠김(19초 실측). 빈요청 가드 1곳 → 후속 요청 4.0초·오발송 0B. 학습 TCP서버_빈요청가드_행클라방어 |
| T2 | 공유장부 회전 유틸 (P0) | ✅ | 장부회전.한선(자체시험 22/22, 사본 40KB→7.9KB 행무손실) + org.crowny.ledger-rotate(30분) + 계약 §7. 신규 VM 함정 2종 발견→가드레일 SSOT·메모리 반영(동안 루프 배열반환 반복=[ARRAY] OOM / O(n²) 내 분리() 재호출=핸들 고갈) |
| T3 | 빌딩 브릿지 JS 1차 | ✅ | 빌딩브릿지.js+빌딩브릿지.한선(정책 동반): ASK CROWNY 팔레트 Enter→/api/route 판정 오버레이(4상 배지, 표시만·자동 실행 없음) + /api/events ERP 구독 배지(60초 폴링, erp.schedule.confirmed/snapshot.saved 필터·회전 규약 §7 준수·장부 무변화 md5 확증). 서버 /api/events 추가+행 방어 회귀 재검 PASS. CDP 육안 증거 2장(티 판정/타 거부+이벤트 4건 배지) |
| T4 | 울트라키보드 IME 가드 | ✅ | isComposing/keyCode 229 선두 가드, 미러 동기, CDP 회귀 FAIL 0 |
| T5 | 회귀 게이트 승격 | ✅ | crowny-ultrakey/회귀실행.sh — ①SSOT↔미러 diff ②키맵 31/31(매회 재컴파일—스큐 방어) ③CDP FAIL 0. 전체 통과 실측 |
| T6 | WKWebView 실앱 육안 | ⚠️ 전환 | 다중 세션 GUI 경합(타 세션 인스턴스 전면 탈취 반복)으로 키 자동화 중단 판정(타 세션 E2E 오염 방지). 헤드리스 증거 완비 — 잔여 = 사용자 10초 확인: crowny://erp에서 F(힌트 배지), crowny://building 팔레트 입력 1회 |
현업 리포트 반영
2026-07-17-현업투입전-점검리포트: B1·B2 P0 완료 처리(원인 정정 포함), B5 완료, 이행 로그 추가. 잔여 = B6(사용자 확인), :9938 스냅샷 수신 API(사장님 스펙 승인 대기), 투데이 구독 punch(투데이 세션 소유).
관찰 (조율)
- 이벤트버스에 cad.* 토픽 발행 중(타 세션 CAD 모듈) — 빌딩 필터가 정확히 제외함. 장부 회전이 전 모듈 공용 인프라가 됨.
- 크라우니AI 모듈 급증(홀·트리·EV·CAD·스페이스 등 북마크 확인) — 울트라키보드 코어는 어댑터만으로 확장 가능(도구화 완료 상태).
- 첫 판정 fetch가 도메인 경유 ~1초(TLS) — 오프라인 폴백 대기 최대 ~4초 UX 이슈, 후속 개선 후보(로컬 우선 순서 전환).
학습 래칫 (이번 스트림)
TCP서버_빈요청가드_행클라방어 · PSV장부_바이트회전_보관이동 · 빌딩브릿지_팔레트판정_이벤트구독표시 · 빌딩서버_이벤트버스필터_구독토픽_최신20행 (+가드레일 함정 2종)