comm(rpt): NerdNavis.Framework git 통합 상태 점검 보고 (개발팀장)

- 저장소 원격 연결 및 push/pull 가능 상태 확인 (origin/main 동기화 완료)
- 설계 문서(01~03) vs 실제 코드 구조 정합성 점검 — 완전 일치
- 구현 완료 4종(Log/CoroutineRunner/MonoSingleton/ServiceLocator) + 미완료 목록 정리
- 보고서: 공유/소통/개발팀→PM/2026-04-16_코어코드_git통합_점검_개발팀.md
- 대화로그: 공유/대화로그/코어프레임워크/2026-04-16.md
- PD 지시 로그 #26 등록

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
깃 관리자 2026-04-16 16:32:30 +09:00
parent ae9f897604
commit 1891653cfd
3 changed files with 219 additions and 0 deletions

View File

@ -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 등) 대기** | | 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님 지시) | 서버팀 가동 시점에 블로커급 재개. 담당: 서버팀장. 재개 트리거: 서버 파트 정비 완료 통보 | | 2 | 2026-04-14 | 서버 Critical 보안 3건 보류 | 보류 | `개발팀/프로젝트_숙지/수상한잡화점/05_서버연동_현황_v1.md` | 서버 파트 정비 미완료 (PD님 지시) | 서버팀 가동 시점에 블로커급 재개. 담당: 서버팀장. 재개 트리거: 서버 파트 정비 완료 통보 |
| 3 | 2026-04-14 | (총괄PM 경유) 시뮬레이터 이원화 해소 작업 착수 + 06번 설계안 문서 작성 | 진행중 | `개발팀/프로젝트_숙지/수상한잡화점/07_시뮬레이터_이원화_해소_착수계획_v1.md`, `06_신규코어_설계안_v1.md` | - | 시뮬레이터 이원화 작업 진척 상태 본 보고 이후 재점검 예정 (현 시점 기준 추가 진척 미반영) | | 3 | 2026-04-14 | (총괄PM 경유) 시뮬레이터 이원화 해소 작업 착수 + 06번 설계안 문서 작성 | 진행중 | `개발팀/프로젝트_숙지/수상한잡화점/07_시뮬레이터_이원화_해소_착수계획_v1.md`, `06_신규코어_설계안_v1.md` | - | 시뮬레이터 이원화 작업 진척 상태 본 보고 이후 재점검 예정 (현 시점 기준 추가 진척 미반영) |

View File

@ -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\<T\>, ServiceLocator (4종 + 테스트 포함)
- 구현 대기: Tier 1 잔여 5종 이상 (EventBus, ObservableContainer, ObjectPool 등)
- OI-2 배포 방식 PD님 결정 여전히 대기 중 (v0.1.0 태그 미부여)
- 설계 문서(`01_아키텍처_개요_v1.md` v1.2)와 코드 구조 완전 일치

View File

@ -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<T> 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\<T\>** | `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\<T\> | `NerdNavis.Core.Patterns` | 오브젝트 풀 |
| 4 | EnumToInt\<T\> | `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_지시_트래킹 로그에도 등록됩니다.*