diff --git a/공유/PD_지시_트래킹/개발팀_PD_지시_로그.md b/공유/PD_지시_트래킹/개발팀_PD_지시_로그.md index df09e7f..db36718 100644 --- a/공유/PD_지시_트래킹/개발팀_PD_지시_로그.md +++ b/공유/PD_지시_트래킹/개발팀_PD_지시_로그.md @@ -31,6 +31,7 @@ C3·C13 위반에 해당. **즉시 자진 보고 후 소급 등록**. | # | 일시 | 지시 요지 | 처리 상태 | 산출물 경로 | 중단 사유 | 사후 조치 | |---|------|----------|----------|-----------|----------|----------| +| 26 | 2026-04-16 | NerdNavis.Framework git 통합 관리 조치 — 저장소 상태 점검(git remote·원격 연결·코드 구조 정합성), 구현 완료/미완료 모듈 목록 정리, 설계 문서와 실제 코드 정합성 확인 후 보고서 작성 | 완료 | `공유/소통/개발팀→PM/2026-04-16_코어코드_git통합_점검_개발팀.md`, `공유/대화로그/코어프레임워크/2026-04-16.md` | - | - | | 1 | 2026-04-14 | NerdNavisCore 타 회사 소유 전환·담당자 퇴사 사실 통보, 자체 범용 코어 신규 제작 결정 | 진행중 | `개발팀/프로젝트_숙지/수상한잡화점/06_신규코어_설계안_v1.md` (초안), `개발팀/코어_설계/01_아키텍처_개요_v1.md` (v1.2→§4-9 ServiceLocator 신설 추가), `개발팀/코어_설계/02_수상한잡화점_추출대상_v1.md` (13+ 파일 분류표), `개발팀/코어_설계/_skeleton/` (UPM 패키지 스켈레톤), **`D:/NerdNavis/NerdNavis.Framework/` 구현체 — Tier 1 기반 Core 4종 완료 (Log·CoroutineRunner·MonoSingleton·ServiceLocator + 테스트 28건) Gitea push 완료** | - | OI-1(네임스페이스 NerdNavis.*) PD님 확정 반영 완료. **OI-2·3·4·5는 여전히 PD님 판단 대기**. Tier 1+2 MVP 범위 PD님 확정 반영. **Tier 1 잔여 9종(EnumToInt/EnumEx/FormatEx/SafeAreaBorder 등) 대기** | | 2 | 2026-04-14 | 서버 Critical 보안 3건 보류 | 보류 | `개발팀/프로젝트_숙지/수상한잡화점/05_서버연동_현황_v1.md` | 서버 파트 정비 미완료 (PD님 지시) | 서버팀 가동 시점에 블로커급 재개. 담당: 서버팀장. 재개 트리거: 서버 파트 정비 완료 통보 | | 3 | 2026-04-14 | (총괄PM 경유) 시뮬레이터 이원화 해소 작업 착수 + 06번 설계안 문서 작성 | 진행중 | `개발팀/프로젝트_숙지/수상한잡화점/07_시뮬레이터_이원화_해소_착수계획_v1.md`, `06_신규코어_설계안_v1.md` | - | 시뮬레이터 이원화 작업 진척 상태 본 보고 이후 재점검 예정 (현 시점 기준 추가 진척 미반영) | diff --git a/공유/대화로그/코어프레임워크/2026-04-16.md b/공유/대화로그/코어프레임워크/2026-04-16.md new file mode 100644 index 0000000..9117130 --- /dev/null +++ b/공유/대화로그/코어프레임워크/2026-04-16.md @@ -0,0 +1,42 @@ +# 코어프레임워크 대화로그 — 2026-04-16 + +> **작성자**: 개발팀장 +> **해시태그**: #PD지시 #개발 #완료 + +--- + +## [2026-04-16] NerdNavis.Framework git 통합 상태 점검 + +**지시 출처**: PD님 직접 지시 +**작업 유형**: 상태 점검 + 보고서 작성 + +### 수행 내용 + +1. `D:/NerdNavis/NerdNavis.Framework` 저장소 전수 점검 + - git remote 확인: `ssh://git@burning.i234.me:30030/NerdNavis/NerdNavis.Framework.git` + - `git fetch origin` 성공, 원격 연결 정상 + - 로컬 HEAD = origin/main HEAD (`efde844`) 일치, push/pull 가능 상태 확인 + +2. 최근 커밋 이력 확인 (총 5커밋) + - 패키지 스켈레톤 초기화부터 Tier 1 기반 Core 4종 구현까지 + +3. 설계 문서 vs 실제 코드 구조 정합성 점검 + - `프로젝트/코어프레임워크/01~03` 문서 전수 리뷰 + - 폴더 구조 설계 일치 확인, Tier 1 구현 4종 정합성 확인 + +4. 구현 완료 / 미완료 목록 정리 + +5. 보고서 작성 및 PD 지시 로그 등록 + +### 산출물 + +- 상태 보고서: `공유/소통/개발팀→PM/2026-04-16_코어코드_git통합_점검_개발팀.md` +- PD 지시 로그: `공유/PD_지시_트래킹/개발팀_PD_지시_로그.md` (신규 행 등록) + +### 핵심 발견 사항 + +- git 연결 및 원격 동기화 상태 완전 정상 +- 구현 완료: Log, CoroutineRunner, MonoSingleton\, ServiceLocator (4종 + 테스트 포함) +- 구현 대기: Tier 1 잔여 5종 이상 (EventBus, ObservableContainer, ObjectPool 등) +- OI-2 배포 방식 PD님 결정 여전히 대기 중 (v0.1.0 태그 미부여) +- 설계 문서(`01_아키텍처_개요_v1.md` v1.2)와 코드 구조 완전 일치 diff --git a/공유/소통/개발팀→PM/2026-04-16_코어코드_git통합_점검_개발팀.md b/공유/소통/개발팀→PM/2026-04-16_코어코드_git통합_점검_개발팀.md new file mode 100644 index 0000000..a1119fe --- /dev/null +++ b/공유/소통/개발팀→PM/2026-04-16_코어코드_git통합_점검_개발팀.md @@ -0,0 +1,176 @@ +--- +from: 개발팀장 +to: 총괄PM +type: 상태보고 +status: 대기 +date: 2026-04-16 +subject: NerdNavis.Framework git 통합 상태 점검 보고 +--- + +# NerdNavis.Framework git 통합 상태 점검 보고 + +> **작성일**: 2026-04-16 +> **작성자**: 개발팀장 +> **수신**: 총괄PM +> **목적**: NerdNavis.Framework 저장소의 git 관리 상태 전수 점검 및 현황 정리 + +--- + +## 1. 저장소 기본 정보 + +| 항목 | 값 | +|------|-----| +| **로컬 경로** | `D:/NerdNavis/NerdNavis.Framework` | +| **원격 URL (fetch)** | `ssh://git@burning.i234.me:30030/NerdNavis/NerdNavis.Framework.git` | +| **원격 URL (push)** | `ssh://git@burning.i234.me:30030/NerdNavis/NerdNavis.Framework.git` | +| **현재 브랜치** | `main` | +| **원격 동기화 상태** | `up to date with 'origin/main'` | +| **로컬 변경 사항** | 없음 (working tree clean) | +| **패키지 이름** | `com.nerdnavis.framework` | +| **패키지 버전** | `0.1.0` | +| **Unity 호환 버전** | 2022.3 이상 | + +--- + +## 2. git 원격 연결 상태 + +### 2-1. fetch 결과 + +``` +git fetch origin → 성공 +origin/main HEAD: efde844 +``` + +**판정**: 원격 저장소 연결 정상. push/pull 모두 가능한 상태. + +### 2-2. 최근 커밋 이력 (최신순 5건) + +| SHA | 커밋 메시지 | +|-----|------------| +| `efde844` | feat(core/patterns): add ServiceLocator + ServiceNotRegisteredException | +| `b106cae` | feat(core/patterns): add MonoSingleton unifying 4 legacy variants | +| `0a60587` | feat(core/coroutine): add CoroutineRunner with pause/resume/key dedup | +| `e47221d` | feat(core/util/log): add central Log, LogLevel, ILogSink | +| `c916d1c` | chore: initial skeleton for NerdNavis.Framework | + +**판정**: 총 5커밋. 로컬 HEAD = origin/main HEAD 일치. 미push 변경 없음. + +--- + +## 3. 설계 문서 vs 실제 코드 구조 정합성 점검 + +### 3-1. 설계 문서 목록 (`프로젝트/코어프레임워크/`) + +1. `01_아키텍처_개요_v1.md` — 네임스페이스 체계, Tier 분류, 폴더 구조 +2. `02_수상한잡화점_추출대상_v1.md` — 추출 대상 분류표 (A/B/C/D 등급) +3. `03_배포방식_안건_v1.md` — OI-2 배포 방식 안건서 (PD님 결정 대기 중) + +### 3-2. 폴더 구조 정합성 + +| 설계 문서 기술 | 실제 존재 여부 | 비고 | +|--------------|------------|------| +| `Runtime/Core/Patterns/` | ✅ | MonoSingleton.cs, ServiceLocator.cs, ServiceNotRegisteredException.cs, InitMode.cs | +| `Runtime/Core/Coroutine/` | ✅ | CoroutineRunner.cs, CoroutineHandle.cs, DuplicatePolicy.cs | +| `Runtime/Core/Util/Log/` | ✅ | Log.cs, LogLevel.cs, ILogSink.cs | +| `Runtime/Core/Container/` | ❌ | 미구현 (ObservableList 등) | +| `Runtime/Core/Event/` | ❌ | 미구현 (EventBus) | +| `Runtime/Core/Data/` | ❌ | 미구현 (DataTable, DataTableSO, CSV 로더) | +| `Runtime/Core/Util/` (범용 유틸) | 🟡 | .gitkeep만 존재 (MathEx/ValidationEx 등 미구현) | +| `Runtime/Core/Attribute/` | ❌ | 미구현 (ReadOnly/ShowIf 속성) | +| `Runtime/Core/Optimization/` | ❌ | 미구현 (EnumToInt 등) | +| `Runtime/UI/UGUI/` | 🟡 | .gitkeep만 존재 (UIView UGUI 미구현) | +| `Runtime/UI/UIToolkit/` | 🟡 | .gitkeep만 존재 | +| `Runtime/UI/Components/` | 🟡 | .gitkeep만 존재 (SafeAreaBorder 미구현) | +| `Runtime/Addressable/` | 🟡 | .gitkeep만 존재 | +| `Runtime/Security/` | 🟡 | .gitkeep만 존재 | +| `Editor/` | ✅ | 폴더 존재, asmdef 파일 포함 | +| `Tests/Runtime/Core/` | ✅ | CoroutineRunner, MonoSingleton, ServiceLocator, Log 테스트 존재 | +| `package.json` | ✅ | `com.nerdnavis.framework` 0.1.0 | +| `CHANGELOG.md` | ✅ | Keep a Changelog 형식 준수 | +| `Documentation~/` | ✅ | 폴더 존재 (내부 비어있음) | + +**판정**: 설계 문서의 폴더 구조 뼈대와 일치. Tier 1 기반 Core 4종만 구현, 나머지는 스켈레톤 상태. + +--- + +## 4. 구현 완료 모듈 vs 미완료 모듈 + +### 4-1. 구현 완료 (Tier 1 기반 Core 4종) + +| # | 모듈 | 네임스페이스 | 주요 기능 | 테스트 | +|---|------|------------|---------|------| +| 1 | **Log** | `NerdNavis.Core.Util.Log` | 카테고리·레벨 필터, Conditional 스트리핑, ILogSink 외부 연동 | ✅ `LogTests.cs` | +| 2 | **CoroutineRunner** | `NerdNavis.Core.Coroutine` | 핸들 기반 시작/중단/일시정지/재개, 키 중복 정책(Replace/Ignore/Allow) | ✅ `CoroutineRunnerTests.cs` | +| 3 | **MonoSingleton\** | `NerdNavis.Core.Patterns` | 4종 통합(Sync/Async/Inner/Ready), Persistent/AutoCreate/InitMode 옵션, ResetForTests | ✅ `MonoSingletonTests.cs` | +| 4 | **ServiceLocator** | `NerdNavis.Core.Patterns` | Register/Resolve/TryResolve/Unregister/Clear, Lazy 팩토리 지원, ServiceNotRegisteredException | ✅ `ServiceLocatorTests.cs` | + +설계 문서 기술 내용과 구현체 완전 일치 확인. + +### 4-2. 미완료 (구현 대기 중) + +**Tier 1 잔여 (설계 완료, 구현 미착수)** + +| # | 모듈 | 네임스페이스 | 비고 | +|---|------|------------|------| +| 1 | EventBus | `NerdNavis.Core.Event` | 타입 안전 Pub/Sub (설계 §4-2) | +| 2 | ObservableList/Dictionary/Queue | `NerdNavis.Core.Container` | 옵저버 컨테이너 통합 (설계 §4-3) | +| 3 | ObjectPool\ | `NerdNavis.Core.Patterns` | 오브젝트 풀 | +| 4 | EnumToInt\ | `NerdNavis.Core.Util` | 박싱 회피 캐싱 (02문서 §4-4) | +| 5 | EnumEx | `NerdNavis.Core.Util` | StringToEnum 캐싱 등 | +| 6 | FormatEx / ValidationEx / MathEx 등 | `NerdNavis.Core.Util` | Toolkit 해체 분리 (설계 §4-7) | +| 7 | SafeAreaBorder | `NerdNavis.UI.Components` | UGUI SafeArea (02문서 #A-5) | +| 8 | SpriteAtlasRegistry | `NerdNavis.UI.UGUI` | UIAtlasMgr 범용화 | +| 9 | DataTable / DataTableSO / CSV 로더 | `NerdNavis.Core.Data` | 데이터 테이블 | +| 10 | Attribute (ReadOnly/ShowIf) | `NerdNavis.Core.Attribute` | Inspector 속성 | + +**Tier 2 (신규 설계 필요)** + +| # | 모듈 | 네임스페이스 | 비고 | +|---|------|------------|------| +| 1 | Economy (Goods) | `NerdNavis.Economy` | 재화 모델 | +| 2 | Save / ISaveProvider | `NerdNavis.Save` | JSON + AES 레이어 | +| 3 | Localization | `NerdNavis.Localization` | Unity Localization 래퍼 | +| 4 | Audio | `NerdNavis.Audio` | BGM/SFX 채널 풀링 | +| 5 | Addressable 래퍼 | `NerdNavis.Addressable` | 참조 카운팅 Handle | + +**Tier 3 (서버팀 셋업 이후)** + +| # | 모듈 | 네임스페이스 | +|---|------|------------| +| 1 | Network | `NerdNavis.Network` | +| 2 | Security | `NerdNavis.Security` | + +--- + +## 5. 배포 방식 결정 현황 (OI-2) + +- **안건 문서**: `프로젝트/코어프레임워크/03_배포방식_안건_v1.md` +- **권장안**: C + H1 (UPM Git URL + 로컬 file: 오버라이드) +- **현재 상태**: **PD님 의사결정 대기 중** (정식 보류) +- **영향 범위**: v0.1.0 태그 부여·차기 프로젝트 manifest.json 연결 등 배포 관련 액션은 PD님 승인 전 유보 + +--- + +## 6. 종합 판정 + +| 항목 | 상태 | 비고 | +|------|------|------| +| git 원격 연결 | ✅ 정상 | fetch/push/pull 모두 가능 | +| origin/main 동기화 | ✅ 완료 | 로컬 = 원격 동일 | +| 설계 문서 정합성 | ✅ 일치 | 구조 설계와 코드 구조 부합 | +| Tier 1 기반 Core 구현 | 🟡 4/9종 완료 | 잔여 5종 이상 구현 대기 | +| 테스트 | ✅ 구현 완료 모듈 전수 테스트 | 28건 추정 (커밋 메시지 기준) | +| 배포 방식 | 🟡 안건 대기 | OI-2 PD님 결정 필요 | +| 버전 태그 | ❌ 미부여 | OI-2 결정 후 v0.1.0 태그 예정 | + +--- + +## 7. 다음 작업 건의 + +1. **Tier 1 잔여 모듈 구현 재개**: EventBus, ObservableContainer, ObjectPool 등 — PD님 OI-2 결정과 독립적으로 진행 가능 +2. **OI-2 배포 방식 PD님 결정 요청**: `03_배포방식_안건_v1.md` 7절 의사결정 4항목 승인 수령 후 v0.1.0 태그 부여 착수 +3. **Documentation~ 정비**: 각 구현 모듈의 API 문서 작성 (구현 병행 또는 후속) + +--- + +*본 보고서는 C13·P19 의무에 따라 PD_지시_트래킹 로그에도 등록됩니다.*