AIMED UX 9사이클 고도화 — 완성 보고
개요
AIMED(에임드, aimed.or.kr ~30인) "지향성 4상균형3진 업무솔루션"의 핵심 로직 완성 후,
"핵심이 훌륭하면 9배의 에너지를 UX에" 원칙에 따라 진행한
UX 9사이클 고도화를 완료했다.
모든 검증은 적대적 LLM 검증 없이
크라우니시뮬레이터 + 크라우니스피어로 수행(상시 규칙).
사이클별 산출
| 사이클 | 내용 | 핵심 산출 |
|---|
| 1 | (선행) 연결끊김 근본해결 | 전 7서버 no-cache 헤더, 파트 스트리밍 |
| 2 | 디자인 시스템 | crowny-ui.css(35K→44K) + 크라우니UI.한선, 16페이지 스윕 |
| 3 | 가이드 온보딩 | 첫방문 1회 오버레이(cobMask) + 분석결과 기반 맞춤 다음동선, 15페이지 |
| 4 | core 셀코어 통합뷰 | core서버 /api/cellmap(셀맵), 4도메인(분석/업무/전략/조직) 룰+TOAU 셀 그리드 |
| 5 | 보안 사전관리 대시보드 | /security + /api/security-status(점수80/A), 10항목 실코드 판정, libs/보안현황.한선 |
| 6 | 화면 간 상태 연속성 | crownyState 상태버스 + "현재 N/4단계" 배지(aria-live), 17페이지 |
| 7 | UI 컴포넌트 토큰화 | crowny-ui.css 104토큰(다크 1:1) + 크라우니UI.한선 .cw- 1:1 + 신규 컴포넌트 |
| 8 | 접근성/성능/다국어 | lang=ko, main/role, skip-link, aria-label, prefers-reduced-motion, 17페이지 |
| 9 | 통합 리허설 | 전 서비스 200, 실데이터, 시뮬/스피어 통합 검증 |
실버그 적발·수정
- 한글 API 경로 함정:
/api/셀맵(한글) → 브라우저 fetch가 percent-encode → 서버 raw UTF-8 비교와 불일치 → 404 → 데모폴백만 표시. → ASCII /api/cellmap 라우트로 교체(core.html fetch도 교체).
- 포털(9903) SIGPIPE 미적용: 보안 대시보드가 자동 적발 →
시그널등록(13,1) + accept 가드 + 시도/오류 래퍼 추가(DoS 방어).
- 시뮬레이터 슬래시 파일명: simulator.js:378
replace(/\s+/) → replace(/[\s/\\]+/) (시나리오명 슬래시 → ENOENT 해소). aimed-work.js endScenario 누락도 수정.
검증 결과 (사이클9 리허설)
- 전 서비스 8엔드포인트 전원 200 (9903×N/9904/9905/9912)
- core
/api/cellmap 실데이터(분석 57셀 등), 데모 아님
- crownyState 주입 17/17 페이지, lang=ko/main/skip 전수
- 포털 SIGPIPE 1건 확인
- 크라우니시뮬레이터: aimed-work 4/4 A+, aimed-platform 5/5 EXIT0, 저장 정상
- 크라우니스피어: VULN 0 / 방어율 96% / 등급 A "상용 적합"
관련 파일
- 백엔드: /Users/ef/crowny-aimed/{포털서버,분석서버,관리서버,core서버}.한선
- libs: /Users/ef/crowny-aimed/libs/{크라우니UI,통합DB,보안현황}.한선 외
- 프론트: /Users/ef/crowny-aimed/public/.html(14) + crowny-ui.css + .pN 파트
- 엔터프라이즈: /Users/ef/crowny-enterprise/web/{에임드인트라넷,에임드ERP,통합플랫폼}.html
- 검증: /Users/ef/crowny-simulator (aimed-work/aimed-platform), /Users/ef/crowny-spear/engine/AIMED프로파일.한선
실사용 동선 복구 (2026-06-10, 사용자 지적 후 — 가장 중요)
"개발은 다 됐다더라도 난 분석도 못한 상태" +
{"ok":false,"error":"경로를 찾을 수 없습니다"}. 엔드포인트 200 핑만으론 못 잡은 실차단 버그를 실계정 워크스루로 추적·수정:
- 게이트웨이가 Authorization(Bearer) 헤더를 백엔드로 전달 안 함 + crowny_token 쿠키는 .crowny.org 한정 → crowny.org→tiomta.com 인증이 헤더·쿠키 모두 못 넘음(근본). 사용자가 본 404 = aimed.tiomta.com/api/me 부재.
- 수정: ①분석서버(9904)에 /api/me 추가 ②/api/aimed/start·/api/work/start·say가 POST 바디 토큰(
{"token"})→크라우니검증→memberId 해석(게이트웨이 헤더 우회) ③qna.html ssoAutoAuth: ?sso= 토큰으로 재로그인 없이 자동 시작 ④_OK의 {ok,data} 봉투를 프론트가 j.data 언래핑(sessionId undefined로 답변·리포트가 "더미"되던 버그) ⑤start 응답에 memberId 포함.
- 프로덕션 게이트웨이 경유 전 동선 검증 통과: 포털 가입→분석 start(토큰만)→16문항→done→결과(유형=개척자, 사상 T:16)→리포트 HTML 실데이터. 분석·업무 start 모두 ok:true, 전 서비스 200.
- 교훈: [[feedback_crowny_gateway_strips_auth]] [[feedback_verify_real_user_journey]] — 검증은 실계정 전 동선 + 게이트웨이경유/로컬 둘 다.
잔여 이슈
- 업무(2단계)/전략(3단계) 프론트 배선: 백엔드 토큰 폴백은 적용됐으나 업무.html은 memberId/토큰 송신 미배선 — 같은 패턴으로 프론트 마감 필요(다음 작업).
- 포털 라우트 정합성: 일부 페이지가 한글 라우트(/업무 등)일 경우 동일 percent-encode 위험 — 현 동작은 정상이나 향후 ASCII 라우트 표준화 검토.
- 빈배열 가드·폴백 404 표준화: 보안 대시보드 권고(옴/타) 잔존 — 다음 고도화 후보.
- core.crowny.org 외부 인증서: 게이트웨이 세션 담당.
- 워치독 launchd 상시화: 사용자 1회
launchctl load 승인 필요.