### 추가 내용:
- 5분 내 빠른 환경 구축 절차
- 상세 환경 검증 및 문제 해결 가이드
- Git 저장소별 기대 커밋 해시 정보
- 성능 최적화 및 개발 도구 설정
- 긴급 복원 절차 포함
### 목적:
- 다른 장소에서 동일한 개발 환경 재현
- 빠른 작업 재개 및 문제 해결
- 체계적인 환경 관리 및 동기화
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
### 추가된 문서들:
- CHECKPOINT_2025-09-19.md: 완전한 복원 지점 가이드
- DATABASE_SCHEMA_2025-09-19.md: samdb 전체 스키마 보고서 (70개 테이블)
- CURRENT_WORKS.md: 작업 현황 및 이동 작업 가이드
### 주요 내용:
- 다른 장소에서 동일한 환경 재현 가능한 가이드 제공
- Git 커밋 기반 정확한 복원 방법 문서화
- Multi-tenant 아키텍처 및 감사 시스템 스키마 분석
- 체계적인 작업 추적 및 프로젝트 관리 방법론
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- CLAUDE.md 파일 동기화 규칙 정의
- CURRENT_WORKS.md 구조 및 작업 추적 시스템 문서화
- Git 커밋 워크플로우 및 컨벤션 정립
- 세션 관리 베스트 프랙티스 추가
- 데이터베이스 마이그레이션 관리 가이드 포함
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- DB: 감사 로그 테이블(audit_logs) 마이그레이션 및 인덱스 추가
- Config: audit.php 추가(AUDIT_RETENTION_DAYS, AUDIT_LOG_READS 토글)
- Model/Service: AuditLog 모델, AuditLogger 서비스 생성
- 도메인 훅: ModelVersion.release(released), BomTemplate upsert/update/delete/replaceItems/clone 기록, diff 조회는 설정 기반 기록
- API: GET /api/v1/design/audit-logs 추가(FormRequest/Service/Controller, 필터 page/size/target_type/target_id/action/actor_id/from/to/sort/order)
- Swagger: 감사 로그 조회 문서 추가(Design Audit 태그)
- Console: audit:prune 커맨드 추가 및 스케줄러 매일 03:10 실행 등록(시스템 크론 schedule:run 필요)
- Fix: PruneAuditLogs import 충돌 제거(Google ServiceControl AuditLog 제거)
- Design BOM 템플릿 diff/clone 엔드포인트 추가
- 컨트롤러 검증 로직 FormRequest 분리(DiffRequest/CloneRequest/Upsert/ReplaceItems)
- BomTemplateService에 diffTemplates/cloneTemplate/replaceItems/쇼우 로직 정리
- ModelVersionController createDraft FormRequest 적용 및 서비스 호출 정리
- 모델버전 release 전 유효성 검사(존재/활성/테넌트 일치, qty>0, 중복 금지) 추가
- DB enum 미사용 방침 준수(status 문자열 유지)
- model_versions 인덱스 최적화(tenant_id, model_id, status / 기간 범위)
- Swagger 문서(Design BOM) 및 i18n 메시지 키 추가
- 모든 서비스를 인스턴스구조로 변경예정
* 규모가 커질수록 → 인스턴스(=DI) 설계가 유리
* 작고 단순한 유틸/순수 함수만 스태틱으로 유지
* DI/모킹/테스트 쉬움 (서비스 교체·부분 테스트 가능)
* 의존성 교체 쉬움 (Repo/캐시/로거…)
* 상태·컨텍스트 주입 명확 (테넌트/유저/트랜잭션)