Commit Graph

13 Commits

Author SHA1 Message Date
zio
63386b62aa fix(devops): 백엔드 미배포 근본수정 — deploy_kintex.sh 단일 빌드 진실원 + SIGPIPE 검증 버그
증상: push 후 프론트만 배포, 백엔드 jar 스테일(V6 고정, V7/V8 미적용).
근본원인 3종:
1) deploy_kintex.sh가 백엔드 빌드 안 함(복사만) → 이제 프론트+백엔드 직접 빌드(단일 진실원)
2) gradlew mode 100644(비실행) → git +x(100755) + sh ./gradlew(실행권한 불요)
3) jar 검증 'unzip -l | grep -q'가 set -o pipefail 하에서 grep 조기종료→unzip SIGPIPE(141)
   →메인클래스 발견에도 오탐 실패→die→jar 미복사. → grep -q 제거(전량 소비) + 선택 tail(파이프 조기종료 회피)

- deploy_server kintex 블록: npm/gradle/verify 개별단계 제거 → git pull → deploy_kintex.sh(빌드+배포) → health
- Jenkinsfile: 동일 스크립트 위임(경로 함정 회피, WORKSPACE 일치)
- 서버 /opt/zioinfo/deploy_server.py 반영·재시작 완료(백업)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-11 19:44:30 +09:00
zio
ca971c1cae feat(planning): PLANNING v3.0 멀티테넌시(다중 전시관) 확장
- 정체성: 킨텍스 전용 → 다중 전시관 SaaS(KINTEX=테넌트#1, COEX 등 온보딩)
- 테넌트/Venue 모델 + 전 엔티티 tenant_id 전파 + fail-closed 격리(공유 스키마+tenant_id 컬럼)
- 역할: 플랫폼 슈퍼관리자 vs 테넌트(전시관) 관리자 계층 + 행사 RBAC 3중
- 서브도메인 테넌트 컨텍스트, 기존 데이터 tenant_id=1 백필. DDL은 DA/db-engineer 후속

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-11 19:36:27 +09:00
zio
89d59d3093 feat(phase-b): WISE 공통/시스템관리 레이어 + 2FA/OTP + MDI 셸 표준
공통레이어(PLANNING §5B, WISE/UIWS 이식):
- 인증강화 2FA: TotpService(RFC6238)·OTP 등록/검증/초기화·로그인 실패 잠금·admin 비번 env 주입(admin123 시드 없음). 기존 JWT/RBAC 무수정, security 패키지 레이어만 추가
- 시스템관리: 사용자·역할/권한·공통코드·메뉴·시스템설정·감사(@Audited AOP). SystemAccessGuard(전역 ADMIN/홀매니저) — EventAccessGuard와 직교 이중 RBAC
- 공통 업무기능: worklog·schedule·message·notice·opinion·meeting·report·notification(단일 채널)·stats·search
- 스키마 V7(시스템관리·보안)·V8(공통 업무모듈) 멱등, V1~V6 불변

design.md v1.2: MDI 셸 표준 §2.7(탭바·다중문서·상태보존·세션복원·단축키·역할별)
CLAUDE.md: G1·G2 게이트 해소 반영

backend gradlew build·frontend tsc EXIT 0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-11 19:23:02 +09:00
zio
72dd9f1cf3 chore(devops): 개발 도메인 kintex.zioinfo.kr → kintex.zioinfo.co.kr 통일
개발 도메인 확정(kintex.zioinfo.co.kr, DNS 해소 → 101.79.17.164). .zioinfo.kr 폐기.
- deploy/nginx: 파일명·server_name·TLS 주석 co.kr
- setup_kintex_service.py·Jenkinsfile·deploy_server_kintex_block: 도메인 참조 co.kr
서버 env·시크릿 미커밋. 운영 kintex.wise.ai.kr은 후속.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-11 18:47:27 +09:00
zio
a963c69141 feat(impl): M2~M5 배선(501→200) + 프론트 화면 4종
backend: M2 배치/규정검증(PostGIS)·M3 설계·M4 배선/견적·M5 RenderJob + 인증(login/workspaces/accept-invite) 매퍼 배선으로 501 해소. M2 자동배치 3안 생성→선택/병합→규정 재검증. 계약 확장(Violation 좌표·LayoutDto.hall·AutoLayoutOption.booths, additive NON_NULL). 신규 HallMapper·UtilityOrderMapper(기존 테이블). gradlew build 통과.

frontend: SCR-02 대시보드·SCR-06 설계스튜디오(4샷+Before/After)·SCR-07 배선뷰(적/청/녹)·SCR-12 갤러리 + CompareSlider(reroomai)·WiringCanvas. tsc/vite build EXIT 0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-11 18:37:26 +09:00
zio
bbcdfebdcb fix(devops): nginx vhost IPv6 listen 제거 — 서버 IPv6 미지원(socket 97)
서버(101.79.17.164)는 IPv6 미지원 → listen [::]:80 제거. webhook E2E 자동배포 검증 겸.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-11 18:36:27 +09:00
zio
21fecc37da feat(devops): Phase E CI/CD 파이프라인 — 개발서버 배포 구성
- deploy/systemd: kintex.service(백엔드 8021) + kintex-nanobanana.service(워커, GEMINI env 워커 한정)
- deploy/nginx: kintex.zioinfo.kr vhost(/ static, /api·/ws → 8021)
- deploy/deploy_kintex.sh: 검증→원자교체→헬스체크→롤백(WISE 패턴)
- deploy/setup_kintex_service.py: 멱등 프로비저닝(유닛·venv·nginx)
- deploy/deploy_server_kintex_block.py: 서버 webhook 블록 정본 사본
- Jenkinsfile: push→build(vite+bootJar)→deploy→health
- .gitattributes: 배포 산출물 LF 강제

포트 8021 배정(8003~8020 기존 GUARDiA 예약). 시크릿은 서버 env only(미커밋).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-11 18:30:03 +09:00
zio
eccbeb1337 feat(v2.0): Phase A 아키텍처 + WISE 개발문서 + PM/PMO + DB 계층 + 프론트 착수
- 거버넌스: kintex-pm·dev-pm·pmo 에이전트
- Phase A 아키텍처 5종: docs/architecture/{app,system,tech,data,network}.md (성문화·NFR·SRID0 공간표준·M16 스타스키마·보안영역)
- WISE(UIWS) 참조 개발문서 6종: README·DEVELOPMENT_GUIDE·ENV_SETUP·COMMON_CODES·API_GUIDE·BUILD_DEPLOY
- DB 계층: PostGIS 스키마 V1~V6(홀·트렌치 가정그리드·GiST) + MyBatis 매퍼 5종(ST_* 공간쿼리) + Flyway. gradlew build SUCCESS
- 프론트 착수: React/Vite 스캐폴드 + design.md 토큰 + SCR-01 로그인·SCR-03 부스 에디터. tsc/vite build EXIT 0
- R-T1 수정: 나노바나나 워커 큐키 kintex:renderjob:queue 통일(백엔드 정합, silent no-op 방지)
- 도메인/게이트: G2 해소(dev kintex.zioinfo.kr·prod kintex.wise.ai.kr), CLAUDE.md 로스터 20종

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-11 18:10:01 +09:00
zio
9987d958db feat(v2.0): 자동전시시스템 하네스 재구성 + PLANNING v2.0 + 백엔드 스캐폴드 + 평면도 자산
PLANNING v2.0: 자동전시시스템 재정의, 6역할 웹/모바일 분리, 도메인 M10~M18(옥션 M15·관람객 M10·마케팅/공개사이트 M12·BI M16(운영사 ROI 포함)·CMS M17·관리자 M18), WISE/UIWS 공통·시스템관리 레이어 §5B(2FA OTP), 옥션/견적서/역경매, M2/M3 3안 생성→선택/병합. design.md v1.1(Stitch 정합·SCR 매핑).

하네스 재구성: 전문 에이전트 17종(아키텍트 AA·SA·TA·DA·NA / 공통 common-dev / 코어 backend·frontend·db / 도메인 bidding·visitor·cms·bi·admin / AI ai-dev·visualizer / QA·devops) + kintex-impl-orchestrator v2.0(Phase A~E) + IMPLEMENTATION_BACKLOG v2.0 + CLAUDE.md.

백엔드 스캐폴드: Spring Boot 3.2.5(com.zioinfo.kintex) + JWT/RBAC + WebSocket + 버전형 룰엔진 + M2~M5 컨트롤러(M3 사전검증·M4 견적·M5 RenderJob 실구현, 공간경로 501 대기). compileJava SUCCESS.

자산: 평면도 JPG 15장 + 매니페스트(R4 트렌치·CAD 해소). CAD 93MB·build는 gitignore.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-11 17:32:40 +09:00
zio
4cd83bdfe1 feat(harness): 구현 하네스 전체 구성 + 스택 확정(React/Spring/MyBatis/PostgreSQL)
- 스택 확정: PLANNING v1.2 §8(FastAPI/Next.js→Spring Boot+MyBatis/React), CLAUDE.md 기술스택 섹션
- 구현 에이전트 5종: kintex-backend-dev·frontend-dev·db-engineer·qa·devops-dev
- kintex-impl-orchestrator 스킬 + docs/IMPLEMENTATION_BACKLOG.md(Phase0~5)
- designer에 Stitch 학습·정합 트랙, developer 스택 갱신
- Stitch export 텍스트 참조(code.html·DESIGN.md 3종·proposal.md) 추가, 스크린샷 PNG는 gitignore

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-11 16:58:31 +09:00
zio
6ec49ce896 chore(harness): 실수로 삭제된 배포 zip 복원 + 빌드/테스트 산출물 gitignore
- kintex-harness-v1.0.1.zip 복원(직전 커밋에서 의도치 않게 삭제됨)
- .gitignore 추가: __pycache__/·output/·*.pyc·.env
- 추적 해제: output/·__pycache__ (나노바나나 스모크 테스트 산출물)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-11 16:41:04 +09:00
zio
3da6b1c092 feat(harness): ReRoomAI 분석 반영 — PLANNING v1.1 나노바나나 파이프라인 확정 + client.py 재작성 + Stitch 전달
- docs/analysis/reroomai-source.md 신규: gemini-3.1-flash-image-preview image-to-image, 보존/교체 프롬프트, CompareSlider/전처리 차용
- PLANNING v1.1: §6-4/6-5 나노바나나 호출스택·부스 프롬프트 빌더 확정, R11 해소·R12(Gemini 외부API 승인 게이트) 추가
- tools/nanobanana/client.py 전면 재작성: build_booth_prompt 4단 조립, 메타데이터 임베드, S6 래스터 합성 분리, seed 폴백, 방어 로직
- BACKLOG B-02/B-03/B-09/B-11/B-12 done
- kintex.com 2차 검증 순증 사실 반영(기본부스 사양·이격·홀 스펙)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-11 16:40:11 +09:00
zio
8a488322c1 chore: kintex 하네스 초기 커밋 (로컬 소스)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-11 16:16:33 +09:00