refactor(#52-B-B): C16·C17·C18·C19·C20·C21 번호 순 재배치

C20·C21·C19·C18·C17·C16 역순 6블록을 C16·C17·C18·C19·C20·C21 정순으로 재배치.

Before: C20(423) → C21(508) → C19(564) → C18(609) → C17(642) → C16(681)
After:  C16(423) → C17(477) → C18(516) → C19(549) → C20(594) → C21(679)

각 블록: C16 54줄·C17 39줄·C18 33줄·C19 45줄·C20 85줄·C21 56줄
내용 수정 없음. 줄 수 2129 유지 (diff 0, 의미 보존 검증 통과).

C37-2·C37-3·C37-5 준수.
#52-B 단계 B/3 완료.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
깃 관리자 2026-04-20 15:16:47 +09:00
parent 8d8c2f626c
commit f0f9ab9b5f
1 changed files with 171 additions and 171 deletions

View File

@ -420,6 +420,177 @@ CLAUDE.md 신규 항목, 매 턴 로드 대상 확대, `MEMORY.md` 인덱스 확
- PM 과도 보수 해석 3회차 재발 방지 실증 (`memory/org/feedback_pm_over_conservative_interpretation.md`) - PM 과도 보수 해석 3회차 재발 방지 실증 (`memory/org/feedback_pm_over_conservative_interpretation.md`)
## C16. PC 독립 셋업·세션 시작 표준 (2026-04-15 PD님 직접 지시)
> **어느 PC에서 세션을 시작하더라도 동일한 셋업 상태가 보장**되어야 하며, **PD님이 매 세션 md 파일 수정·커밋·push에서 개별 승인을 반복하지 않도록** 조직의 기본 뼈대를 정식화한다. 본 규칙은 PC 환경 이동·재기동·신규 PC 합류 시 일관성을 강제하는 헌법급 조항이다. 관련 실증: `memory/org/feedback_permissions_portability.md`, `memory/org/feedback_setup_verification.md`, `memory/org/feedback_session_start_protocol.md`.
### C16-1. PC 독립성 보장 메커니즘 (조직 공용 자산은 git 단일 SOT)
- 조직 공용 승인은 **루트 `.claude/settings.json` 단일 파일**에 선언하며 git 커밋으로 유지한다 (루트가 SOT). 단일 세션 구조이므로 부서별 별도 settings.json 복제는 불필요.
- PC별 변동값(`paths.local.json`)은 `.gitignore`로 추적 제외하고 `paths.local.json.template`만 커밋한다.
- 사용자 메모리(`memory/org/`)는 setup 스크립트가 `~/.claude/projects/<해시>/memory` junction으로 자동 연결한다.
- **Live 증분 동기화 `.live/`**는 setup 스크립트 + SessionStart hook(`scripts/live_junction_ensure.sh`)이 `$HOME/.claude/nerdnavis-live/`로 junction 자동 연결한다 — **worktree 경계 무관 실시간 공유 보장** (C34 근원 해결, 2026-04-18 PD님 직접 지시 신설).
- `.claude/settings.local.json``.gitignore` 대상이므로 **PC 이동 시 소실된다 — 조직 공용 승인은 절대 local 파일에 두지 않는다**.
### C16-2. 세션 시작 표준 절차 (단일 세션 — 레포 루트에서 시작)
단일 세션 구조이므로 **PM이 레포 루트(`NerdNavisAi/`)에서 단일 세션 1개만 실행**한다. 개발팀·기획팀은 Agent 도구(`Task`)로 병렬 호출하여 처리한다. 부서별 별도 세션 진입 불필요.
| 환경 | 진입 방법 |
|------|----------|
| **Claude Code Windows Store(MSIX) 앱** | 앱 실행 후 **입력창 위 "폴더 칩" UI**를 클릭해 레포 루트(`NerdNavisAi/`) 선택 |
| **CLI 버전** | `cd "D:/NerdNavis/NerdNavisAi" && claude` |
**단일 세션 구조 (2026-04-16 전환)**: PM 세션 하나에서 개발팀·기획팀 에이전트를 Agent 도구로 병렬 호출. 부서별 별도 폴더 진입·워크트리 세션은 폐기됨.
### C16-3. 승인 반복 회피 구조 (md 수정·커밋·push 무중단)
- **루트 `.claude/settings.json`**`permissions.allow``Edit·Write·MultiEdit·TodoWrite·Read·Glob·Grep·git 명령·안전 Bash` 등을 **포괄 승인**한다.
- `permissions.deny`로 위험 명령을 명시 차단한다: `rm`, `sudo`, `dd`, `mkfs`, `shutdown`, `reboot`, 시스템 디렉토리 쓰기 등.
- 단일 세션 구조이므로 **루트 1곳만 관리**하면 된다 (C16-1과 짝).
- PD님이 md 수정·커밋·push 등 **루틴 작업에서 개별 승인을 받지 않는 상태**가 정상이며, 받는다면 루트 settings.json SOT 미동기화를 의심한다.
- `rm`이 차단되어 파일 삭제가 필요하면 **PowerShell `Remove-Item`을 사용**한다 (deny 우회가 아니라 안전 대체 경로).
### C16-4. 세션 시작 전 의무 (C10-1 강화판과 짝)
세션 시작 직후 작업 착수 **이전에** 다음을 수행한다:
1. `git pull` 1회로 최신 동기화
2. setup 스크립트(`setup/setup_windows.ps1` 또는 `setup/setup_macos.sh`) 미실행 PC면 1회 실행
3. C10-1 4단계 이행 (CLAUDE.md "최근 규칙 변경" 재읽기 → 공통 업무 규칙 본문 재읽기 → HOLD/특수 파일 스캔 → 조직공지 전수 확인)
### C16-5. 검증 의무
신규 PC 합류·setup 스크립트 변경·승인 정책 변경 시 `scripts/verify_setup.ps1`**3축 검증**(파일 존재·OS 동작·실행 결과)을 수행한다. `feedback_setup_verification.md`에 따라 **파일 존재만 확인하고 통과 처리하지 않는다**. 표준 절차는 `공유/조직공지/신PC_셋팅_체크리스트_v2.md`.
### C16-6. 다른 핵심 규칙과의 관계
- **C10-1**과 짝: 세션 시작 전 의무(C16-4)와 작업 착수 전 의무(C10-1)는 연속된 절차로 함께 이행.
- **C14**와 정합: 루트 단일 settings.json SOT로 중복·재선언 토큰 제거 (C14-1·C14-4).
- **C15**와 정합: 세션 시작 절차에 일정·기한 표현을 사용하지 않으며, 본 규칙도 "PD님 지시 시 즉시 적용" 원칙(C15-2 허용 표현)으로 운용.
- **C24**와 정합: 단일 세션 운용(C24)으로 "부서 폴더 별도 진입" 개념이 소멸됨.
### 위반 시
- C16-1·C16-3 위반(승인 반복 발생) → 즉시 루트 settings.json SOT 동기화 + 부족분 PR. 발견 즉시 PD님 보고.
- C16-4 위반(사전 의무 누락) → C10·C13 위반에 준하여 처리.
---
# 📘 프로젝트 규칙 (조직 규칙)
> **조직의 법률.** 프로젝트 담당자(팀장급) 재량으로 수정·추가·삭제 가능.
> 변경 시 총괄PM 검증·승인 필수. 핵심 규칙에 위반되어서는 안 된다.
## C17. 최신 세션 관리 기준 (2026-04-18 신규 — 구 C17 폐기 자리 재활용)
> **구 C17 아카이브**: 구 "세션 이동 복사 명령어 동봉 의무"(2026-04-16 폐기)는 [폐기 규칙 아카이브 #2-C17](../../../공유/조직공지/폐기_규칙_아카이브.md#2-c17--세션-이동-지시-시-복사-가능-명령어-동봉-의무)에서 상세 확인. 본 C17은 최신 세션 관리 표준을 통합 인덱스화한 신설 조항이다.
### C17-1. 세션 구조 (단일 세션 + Agent 병렬 호출)
- PM 세션 1개 (레포 루트 `NerdNavisAi/`에서 시작)
- 개발팀·기획팀은 `Task` Agent 도구로 병렬 호출하여 처리
- 부서별 별도 세션·워크트리 금지 (C24 단일 세션 운용 원칙 준수)
### C17-2. 세션 시작 표준 절차 (세션 재시작·새 PC 이관 공통)
1. **git 최신 동기화** (`git fetch origin && git merge origin/main --no-edit`)
2. **setup 스크립트** 실행 (신규 PC 최초 1회: `setup/setup_windows.ps1` 또는 `setup/setup_macos.sh`)
3. **SessionStart hook 자동 실행** (`core.hooksPath scripts/git-hooks` 자동 설정·inbox 스캔·변경 요약·PM 맥락 복원·Live 세션 로드)
4. **CLAUDE.md 자동 로드**`@.claude/skills/너드나비스-코어룰/SKILL.md` 자동 주입
5. **최근 2일 대화로그 Read** (P21-5B) — PM 맥락 복원 필수
### C17-3. 세션 전환 시나리오 4종 복원 보장 (C33-3 연계)
| 시나리오 | 복원 메커니즘 |
|---------|-------------|
| A. 당일 세션 재시작 | SessionStart hook (change_digest·inbox_scan·pm_context_restore·live_session_load) |
| B. 새 PC clone 후 세션 | git pull + setup 스크립트 + 위 hook |
| C. 1주일+ 공백 후 재개 | P21 5-B 확장 — 최근 7일 대화로그 Read + `verify_log_paths.sh` |
| D. PM 교체 (다른 Claude 인스턴스) | 위 A·B·C 모두 + PD 지시 로그 활성 테이블 전수 스캔 + 최근 30일 커밋 스캔 |
### C17-4. 세션 내부 공유 vs 세션 간 공유
상세 정의 및 전이 시점: **C21-① 내부 공유 상태 · C21-② 공유 완료 상태** 참조 (C21이 단일 SOT). C18(main push 완료 판정)과 결합.
### C17-5. 연관 규칙·자산
- **C16** PC 독립 셋업·세션 시작 표준 (본문 상세)
- **C18** 조직 공유 완료 판정 (main push 완료)
- **C21** 작업 완료 즉시 공유 (내부/완료 2단계 정의)
- **C24** 단일 세션 운용 원칙
- **C30** git 동기화 프로젝트 작업 전 최신 상태 점검 의무
- **C33** 조직 업무 공유·기록 체계 일관성 보장 (세션 전환 시나리오)
- **P21·P21-2** 세션 갱신·공유 프로토콜
- 🏆 **P25** Live 증분 동기화 체계 (조직 핵심 자산)
- **C32** 대화로그 기록 의무 (세션 활동 영구 기록)
## C18. 조직 공유 완료 판정 기준 — main push 완료 (2026-04-16 개정)
> **단일 세션 전환(2026-04-16)으로 "대상 세션 도달" 개념이 소멸되었다. 조직 공용 산출물은 `main` 브랜치에 push(병합) 완료된 시점을 "조직 공유 완료"로 판정한다.** 본 규칙은 C5(정직성)의 실질적 외연이며, push/merge의 각 단계를 혼동하여 "공유 완료"로 오판하지 않도록 단계를 명확히 한다.
### C18-1. 단계별 상태 정의 (혼동 금지)
| 상태 | 의미 | "조직 공유 완료"? |
|------|------|-----------------|
| **로컬 커밋** | 작업자 로컬에만 존재 | ❌ |
| **원격 push (작업 브랜치)** | 원격 저장소의 작업 브랜치에 반영 | ❌ (main 미반영) |
| **main 병합 + push** | `main` 브랜치에 merge·push 완료 | ✅ **완료** |
### C18-2. 판정 절차 (세션 리더 의무)
"조직 공유 완료"를 선언하기 전, 다음을 확인:
1. `git ls-remote origin refs/heads/main` 으로 원격 main HEAD 확인
2. 해당 HEAD에 조직 공용 산출물이 포함되었는지 (커밋 내용 추적)
3. 불확실 시 **"push 완료 (main 병합 미확인)"** 으로 단계별 상태 보고 (완료 단언 금지)
### C18-3. 허용 표현 / 금지 표현
- ✅ 허용: "main push 완료 — 조직 공유 완료", "원격 push 완료 (main 병합 필요)"
- ❌ 금지: "동기화 완료" (main 미반영 상태), "조직 공유 완료" (main 미병합 상태)
### C18-4. 연관 규칙
- **C5**: 상태를 혼동한 완료 선언은 정직성 위반
- **C16**: PC 독립 동일 셋업 보장의 전제 = 단일 세션이 항상 main 기반으로 동기화
- **C24**: 단일 세션 구조 전환으로 "대상 세션 도달" 판정 불필요 (역사 기록)
### C18-5. 위반 시
- "동기화 완료" 오보 발견 시 즉시 자진 정정 + 실제 상태 재보고
- 반복 위반 시 역할 재검토
---
## C19. 승인 범위 엄격 해석 원칙 (2026-04-15 PD님 직접 승인)
> **PD님의 승인 표현은 명시적으로 언급된 안건의 범위 내로 한정하여 해석한다.** 추정·확대·암묵 승인은 금지. 정보 요청·권장·토의를 승인으로 간주할 수 없으며, 본인의 권장안을 **자기 승인처럼 취급**하는 것도 금지한다. 본 규칙은 C1(지시=승인)의 **남용을 방지**하는 운용 원칙이며, 2026-04-15 총괄PM 절차 위반 사건(승인 범위 확대 해석으로 PD님이 결정을 강요당한 불쾌 경험)을 실증 근거로 한다.
### C19-1. 승인 표현 해석 규칙
- **자구 그대로** 범위를 추출한다. "X는 승인" = X만 승인. 나머지는 **별건**
- 같은 응답에 복수 안건이 병기된 경우, **안건별로 승인 여부 구분 표기** 후 실행 (예: "안건 A — 승인, 안건 B — 정보 요청, 안건 C — 미언급")
- 본인의 권장안을 **자기 승인으로 취급 금지**. 권장은 PD님께 드리는 정보이지 실행 트리거가 아니다
- 승인 표현이 애매하면 "승인 범위가 X까지인지, Y까지 포함인지" **명시 확인 후 진행** (C1과 충돌 아님. C1의 오적용 방지)
### C19-2. 되돌리기 어려운 액션의 보수적 해석 의무
다음 액션은 **승인 경계 해석을 최대 보수적으로** 한다. 애매하면 **실행 금지·확인 선행**:
- `main` 브랜치 병합·force push·tag release
- 외부 공개 게시 (PR 머지·공지 발송·외부 전송)
- 영구 삭제·시스템 이관·권한 변경
- 프로덕션 빌드·배포·서버 상태 변경 (C8과 결합)
### C19-3. 실행 직전 체크리스트 (세션 리더 의무)
되돌리기 어려운 액션·PD님 결정 요청 실행 전 다음을 모두 통과해야 한다:
1. [ ] PD님이 이 액션을 **명시 승인**했는가? (추정·확대 해석 금지)
2. [ ] 복수 안건 응답 시, 이 액션이 **승인된 안건의 범위 내**에 있는가?
3. [ ] 승인 표현이 애매하면 **확인 요청 후 진행**했는가?
4. [ ] **이 영역을 담당하는 자동화(hook·스크립트·스케줄)가 설치되어 있지 않은가?** 있다면 (a) 자동화 정상 동작 여부를 먼저 검증하고 (b) 정상이라면 상태 편차를 "문제"로 프레이밍하지 말 것. 자동화가 처리할 정상 편차에 대한 **수동 개입·결정 요청은 C19-3 위반**이다 (2026-04-15 본 세션 실증, `feedback_automation_trust.md`)
하나라도 불통과면 **실행 금지·결정 요청 금지**. 확인 요청 응답 수령 후 재평가.
### C19-4. 연관 규칙·메모리
- **C1** (지시=승인): C1은 "지시 범위 내에서 승인 내포"이며, 본 C19는 그 범위의 **정확한 외연**을 규정
- **C5** (정직성): 승인 범위를 확대 해석한 뒤 "PD님이 승인하셨으니"로 포장하는 것은 C5 위반
- **C8** (프로덕션 보호): 되돌리기 어려운 프로덕션 영향 액션과 결합
- **C18** (조직 공유 완료 판정): main 병합을 C19 대상 액션으로 식별
- **`memory/org/feedback_approval_scope_expansion.md`**: 본 규칙 신설의 실증 근거 (PD님 불쾌 경험 영구 보존)
- **`memory/org/feedback_requirement_framing.md`**: 4축(목적·용도·범위·비목적)에 **승인 범위**를 5번째 축으로 결합 적용
### C19-5. 위반 시
- 승인 없는 실행 발견 즉시 **자진 보고** + PD님 처분 대기 (롤백 / 사후 승인 / 다른 지시)
- 반복 위반 시 **세션 리더 역할 재검토** 자진 상정 (OI-5 프레이밍 → 승인 범위 확대 패턴과 결합 시 가중)
- PD님이 "결정을 강요당하는 불쾌 경험"을 하시는 것은 조직 운영 신뢰 기반 훼손 — 재발 방지 의무는 **헌법급**
### C19-6. 예외
- 세션 내부의 반복 작업(같은 지시 수행 중 필요한 하위 호출)은 지시 수령 시점의 승인에 포함
- 명백히 실수로 잘못 실행된 경로를 **되돌리는 복구 행위**는 C19 대상 아님 (단, 복구 방법이 되돌리기 어려운 액션이면 다시 C19-2 적용)
---
## C20. 팀장급 커밋·푸시 재량 원칙 (2026-04-15 PD님 직접 지시) ## C20. 팀장급 커밋·푸시 재량 원칙 (2026-04-15 PD님 직접 지시)
> **일상적 커밋·푸시(자기 작업 브랜치 push, main 병합 포함)는 각 팀 팀장급의 재량으로 판단·진행한다.** PD님이 매 사안마다 커밋·푸시 승인을 내리는 비효율을 제거하고, 팀장급의 책임과 자율을 강화한다. 단, **우려 이슈가 있는 경우에 한해 PD님 사전 확인 후 진행**한다. 본 규칙은 C19-2(보수적 해석 의무)와 C8(프로덕션 보호)의 운용 보완이며, 두 규칙이 정의하는 위험 액션은 본 규칙으로 완화되지 않는다. > **일상적 커밋·푸시(자기 작업 브랜치 push, main 병합 포함)는 각 팀 팀장급의 재량으로 판단·진행한다.** PD님이 매 사안마다 커밋·푸시 승인을 내리는 비효율을 제거하고, 팀장급의 책임과 자율을 강화한다. 단, **우려 이슈가 있는 경우에 한해 PD님 사전 확인 후 진행**한다. 본 규칙은 C19-2(보수적 해석 의무)와 C8(프로덕션 보호)의 운용 보완이며, 두 규칙이 정의하는 위험 액션은 본 규칙으로 완화되지 않는다.
@ -561,177 +732,6 @@ CLAUDE.md 신규 항목, 매 턴 로드 대상 확대, `MEMORY.md` 인덱스 확
--- ---
## C19. 승인 범위 엄격 해석 원칙 (2026-04-15 PD님 직접 승인)
> **PD님의 승인 표현은 명시적으로 언급된 안건의 범위 내로 한정하여 해석한다.** 추정·확대·암묵 승인은 금지. 정보 요청·권장·토의를 승인으로 간주할 수 없으며, 본인의 권장안을 **자기 승인처럼 취급**하는 것도 금지한다. 본 규칙은 C1(지시=승인)의 **남용을 방지**하는 운용 원칙이며, 2026-04-15 총괄PM 절차 위반 사건(승인 범위 확대 해석으로 PD님이 결정을 강요당한 불쾌 경험)을 실증 근거로 한다.
### C19-1. 승인 표현 해석 규칙
- **자구 그대로** 범위를 추출한다. "X는 승인" = X만 승인. 나머지는 **별건**
- 같은 응답에 복수 안건이 병기된 경우, **안건별로 승인 여부 구분 표기** 후 실행 (예: "안건 A — 승인, 안건 B — 정보 요청, 안건 C — 미언급")
- 본인의 권장안을 **자기 승인으로 취급 금지**. 권장은 PD님께 드리는 정보이지 실행 트리거가 아니다
- 승인 표현이 애매하면 "승인 범위가 X까지인지, Y까지 포함인지" **명시 확인 후 진행** (C1과 충돌 아님. C1의 오적용 방지)
### C19-2. 되돌리기 어려운 액션의 보수적 해석 의무
다음 액션은 **승인 경계 해석을 최대 보수적으로** 한다. 애매하면 **실행 금지·확인 선행**:
- `main` 브랜치 병합·force push·tag release
- 외부 공개 게시 (PR 머지·공지 발송·외부 전송)
- 영구 삭제·시스템 이관·권한 변경
- 프로덕션 빌드·배포·서버 상태 변경 (C8과 결합)
### C19-3. 실행 직전 체크리스트 (세션 리더 의무)
되돌리기 어려운 액션·PD님 결정 요청 실행 전 다음을 모두 통과해야 한다:
1. [ ] PD님이 이 액션을 **명시 승인**했는가? (추정·확대 해석 금지)
2. [ ] 복수 안건 응답 시, 이 액션이 **승인된 안건의 범위 내**에 있는가?
3. [ ] 승인 표현이 애매하면 **확인 요청 후 진행**했는가?
4. [ ] **이 영역을 담당하는 자동화(hook·스크립트·스케줄)가 설치되어 있지 않은가?** 있다면 (a) 자동화 정상 동작 여부를 먼저 검증하고 (b) 정상이라면 상태 편차를 "문제"로 프레이밍하지 말 것. 자동화가 처리할 정상 편차에 대한 **수동 개입·결정 요청은 C19-3 위반**이다 (2026-04-15 본 세션 실증, `feedback_automation_trust.md`)
하나라도 불통과면 **실행 금지·결정 요청 금지**. 확인 요청 응답 수령 후 재평가.
### C19-4. 연관 규칙·메모리
- **C1** (지시=승인): C1은 "지시 범위 내에서 승인 내포"이며, 본 C19는 그 범위의 **정확한 외연**을 규정
- **C5** (정직성): 승인 범위를 확대 해석한 뒤 "PD님이 승인하셨으니"로 포장하는 것은 C5 위반
- **C8** (프로덕션 보호): 되돌리기 어려운 프로덕션 영향 액션과 결합
- **C18** (조직 공유 완료 판정): main 병합을 C19 대상 액션으로 식별
- **`memory/org/feedback_approval_scope_expansion.md`**: 본 규칙 신설의 실증 근거 (PD님 불쾌 경험 영구 보존)
- **`memory/org/feedback_requirement_framing.md`**: 4축(목적·용도·범위·비목적)에 **승인 범위**를 5번째 축으로 결합 적용
### C19-5. 위반 시
- 승인 없는 실행 발견 즉시 **자진 보고** + PD님 처분 대기 (롤백 / 사후 승인 / 다른 지시)
- 반복 위반 시 **세션 리더 역할 재검토** 자진 상정 (OI-5 프레이밍 → 승인 범위 확대 패턴과 결합 시 가중)
- PD님이 "결정을 강요당하는 불쾌 경험"을 하시는 것은 조직 운영 신뢰 기반 훼손 — 재발 방지 의무는 **헌법급**
### C19-6. 예외
- 세션 내부의 반복 작업(같은 지시 수행 중 필요한 하위 호출)은 지시 수령 시점의 승인에 포함
- 명백히 실수로 잘못 실행된 경로를 **되돌리는 복구 행위**는 C19 대상 아님 (단, 복구 방법이 되돌리기 어려운 액션이면 다시 C19-2 적용)
---
## C18. 조직 공유 완료 판정 기준 — main push 완료 (2026-04-16 개정)
> **단일 세션 전환(2026-04-16)으로 "대상 세션 도달" 개념이 소멸되었다. 조직 공용 산출물은 `main` 브랜치에 push(병합) 완료된 시점을 "조직 공유 완료"로 판정한다.** 본 규칙은 C5(정직성)의 실질적 외연이며, push/merge의 각 단계를 혼동하여 "공유 완료"로 오판하지 않도록 단계를 명확히 한다.
### C18-1. 단계별 상태 정의 (혼동 금지)
| 상태 | 의미 | "조직 공유 완료"? |
|------|------|-----------------|
| **로컬 커밋** | 작업자 로컬에만 존재 | ❌ |
| **원격 push (작업 브랜치)** | 원격 저장소의 작업 브랜치에 반영 | ❌ (main 미반영) |
| **main 병합 + push** | `main` 브랜치에 merge·push 완료 | ✅ **완료** |
### C18-2. 판정 절차 (세션 리더 의무)
"조직 공유 완료"를 선언하기 전, 다음을 확인:
1. `git ls-remote origin refs/heads/main` 으로 원격 main HEAD 확인
2. 해당 HEAD에 조직 공용 산출물이 포함되었는지 (커밋 내용 추적)
3. 불확실 시 **"push 완료 (main 병합 미확인)"** 으로 단계별 상태 보고 (완료 단언 금지)
### C18-3. 허용 표현 / 금지 표현
- ✅ 허용: "main push 완료 — 조직 공유 완료", "원격 push 완료 (main 병합 필요)"
- ❌ 금지: "동기화 완료" (main 미반영 상태), "조직 공유 완료" (main 미병합 상태)
### C18-4. 연관 규칙
- **C5**: 상태를 혼동한 완료 선언은 정직성 위반
- **C16**: PC 독립 동일 셋업 보장의 전제 = 단일 세션이 항상 main 기반으로 동기화
- **C24**: 단일 세션 구조 전환으로 "대상 세션 도달" 판정 불필요 (역사 기록)
### C18-5. 위반 시
- "동기화 완료" 오보 발견 시 즉시 자진 정정 + 실제 상태 재보고
- 반복 위반 시 역할 재검토
---
## C17. 최신 세션 관리 기준 (2026-04-18 신규 — 구 C17 폐기 자리 재활용)
> **구 C17 아카이브**: 구 "세션 이동 복사 명령어 동봉 의무"(2026-04-16 폐기)는 [폐기 규칙 아카이브 #2-C17](../../../공유/조직공지/폐기_규칙_아카이브.md#2-c17--세션-이동-지시-시-복사-가능-명령어-동봉-의무)에서 상세 확인. 본 C17은 최신 세션 관리 표준을 통합 인덱스화한 신설 조항이다.
### C17-1. 세션 구조 (단일 세션 + Agent 병렬 호출)
- PM 세션 1개 (레포 루트 `NerdNavisAi/`에서 시작)
- 개발팀·기획팀은 `Task` Agent 도구로 병렬 호출하여 처리
- 부서별 별도 세션·워크트리 금지 (C24 단일 세션 운용 원칙 준수)
### C17-2. 세션 시작 표준 절차 (세션 재시작·새 PC 이관 공통)
1. **git 최신 동기화** (`git fetch origin && git merge origin/main --no-edit`)
2. **setup 스크립트** 실행 (신규 PC 최초 1회: `setup/setup_windows.ps1` 또는 `setup/setup_macos.sh`)
3. **SessionStart hook 자동 실행** (`core.hooksPath scripts/git-hooks` 자동 설정·inbox 스캔·변경 요약·PM 맥락 복원·Live 세션 로드)
4. **CLAUDE.md 자동 로드**`@.claude/skills/너드나비스-코어룰/SKILL.md` 자동 주입
5. **최근 2일 대화로그 Read** (P21-5B) — PM 맥락 복원 필수
### C17-3. 세션 전환 시나리오 4종 복원 보장 (C33-3 연계)
| 시나리오 | 복원 메커니즘 |
|---------|-------------|
| A. 당일 세션 재시작 | SessionStart hook (change_digest·inbox_scan·pm_context_restore·live_session_load) |
| B. 새 PC clone 후 세션 | git pull + setup 스크립트 + 위 hook |
| C. 1주일+ 공백 후 재개 | P21 5-B 확장 — 최근 7일 대화로그 Read + `verify_log_paths.sh` |
| D. PM 교체 (다른 Claude 인스턴스) | 위 A·B·C 모두 + PD 지시 로그 활성 테이블 전수 스캔 + 최근 30일 커밋 스캔 |
### C17-4. 세션 내부 공유 vs 세션 간 공유
상세 정의 및 전이 시점: **C21-① 내부 공유 상태 · C21-② 공유 완료 상태** 참조 (C21이 단일 SOT). C18(main push 완료 판정)과 결합.
### C17-5. 연관 규칙·자산
- **C16** PC 독립 셋업·세션 시작 표준 (본문 상세)
- **C18** 조직 공유 완료 판정 (main push 완료)
- **C21** 작업 완료 즉시 공유 (내부/완료 2단계 정의)
- **C24** 단일 세션 운용 원칙
- **C30** git 동기화 프로젝트 작업 전 최신 상태 점검 의무
- **C33** 조직 업무 공유·기록 체계 일관성 보장 (세션 전환 시나리오)
- **P21·P21-2** 세션 갱신·공유 프로토콜
- 🏆 **P25** Live 증분 동기화 체계 (조직 핵심 자산)
- **C32** 대화로그 기록 의무 (세션 활동 영구 기록)
## C16. PC 독립 셋업·세션 시작 표준 (2026-04-15 PD님 직접 지시)
> **어느 PC에서 세션을 시작하더라도 동일한 셋업 상태가 보장**되어야 하며, **PD님이 매 세션 md 파일 수정·커밋·push에서 개별 승인을 반복하지 않도록** 조직의 기본 뼈대를 정식화한다. 본 규칙은 PC 환경 이동·재기동·신규 PC 합류 시 일관성을 강제하는 헌법급 조항이다. 관련 실증: `memory/org/feedback_permissions_portability.md`, `memory/org/feedback_setup_verification.md`, `memory/org/feedback_session_start_protocol.md`.
### C16-1. PC 독립성 보장 메커니즘 (조직 공용 자산은 git 단일 SOT)
- 조직 공용 승인은 **루트 `.claude/settings.json` 단일 파일**에 선언하며 git 커밋으로 유지한다 (루트가 SOT). 단일 세션 구조이므로 부서별 별도 settings.json 복제는 불필요.
- PC별 변동값(`paths.local.json`)은 `.gitignore`로 추적 제외하고 `paths.local.json.template`만 커밋한다.
- 사용자 메모리(`memory/org/`)는 setup 스크립트가 `~/.claude/projects/<해시>/memory` junction으로 자동 연결한다.
- **Live 증분 동기화 `.live/`**는 setup 스크립트 + SessionStart hook(`scripts/live_junction_ensure.sh`)이 `$HOME/.claude/nerdnavis-live/`로 junction 자동 연결한다 — **worktree 경계 무관 실시간 공유 보장** (C34 근원 해결, 2026-04-18 PD님 직접 지시 신설).
- `.claude/settings.local.json``.gitignore` 대상이므로 **PC 이동 시 소실된다 — 조직 공용 승인은 절대 local 파일에 두지 않는다**.
### C16-2. 세션 시작 표준 절차 (단일 세션 — 레포 루트에서 시작)
단일 세션 구조이므로 **PM이 레포 루트(`NerdNavisAi/`)에서 단일 세션 1개만 실행**한다. 개발팀·기획팀은 Agent 도구(`Task`)로 병렬 호출하여 처리한다. 부서별 별도 세션 진입 불필요.
| 환경 | 진입 방법 |
|------|----------|
| **Claude Code Windows Store(MSIX) 앱** | 앱 실행 후 **입력창 위 "폴더 칩" UI**를 클릭해 레포 루트(`NerdNavisAi/`) 선택 |
| **CLI 버전** | `cd "D:/NerdNavis/NerdNavisAi" && claude` |
**단일 세션 구조 (2026-04-16 전환)**: PM 세션 하나에서 개발팀·기획팀 에이전트를 Agent 도구로 병렬 호출. 부서별 별도 폴더 진입·워크트리 세션은 폐기됨.
### C16-3. 승인 반복 회피 구조 (md 수정·커밋·push 무중단)
- **루트 `.claude/settings.json`**`permissions.allow``Edit·Write·MultiEdit·TodoWrite·Read·Glob·Grep·git 명령·안전 Bash` 등을 **포괄 승인**한다.
- `permissions.deny`로 위험 명령을 명시 차단한다: `rm`, `sudo`, `dd`, `mkfs`, `shutdown`, `reboot`, 시스템 디렉토리 쓰기 등.
- 단일 세션 구조이므로 **루트 1곳만 관리**하면 된다 (C16-1과 짝).
- PD님이 md 수정·커밋·push 등 **루틴 작업에서 개별 승인을 받지 않는 상태**가 정상이며, 받는다면 루트 settings.json SOT 미동기화를 의심한다.
- `rm`이 차단되어 파일 삭제가 필요하면 **PowerShell `Remove-Item`을 사용**한다 (deny 우회가 아니라 안전 대체 경로).
### C16-4. 세션 시작 전 의무 (C10-1 강화판과 짝)
세션 시작 직후 작업 착수 **이전에** 다음을 수행한다:
1. `git pull` 1회로 최신 동기화
2. setup 스크립트(`setup/setup_windows.ps1` 또는 `setup/setup_macos.sh`) 미실행 PC면 1회 실행
3. C10-1 4단계 이행 (CLAUDE.md "최근 규칙 변경" 재읽기 → 공통 업무 규칙 본문 재읽기 → HOLD/특수 파일 스캔 → 조직공지 전수 확인)
### C16-5. 검증 의무
신규 PC 합류·setup 스크립트 변경·승인 정책 변경 시 `scripts/verify_setup.ps1`**3축 검증**(파일 존재·OS 동작·실행 결과)을 수행한다. `feedback_setup_verification.md`에 따라 **파일 존재만 확인하고 통과 처리하지 않는다**. 표준 절차는 `공유/조직공지/신PC_셋팅_체크리스트_v2.md`.
### C16-6. 다른 핵심 규칙과의 관계
- **C10-1**과 짝: 세션 시작 전 의무(C16-4)와 작업 착수 전 의무(C10-1)는 연속된 절차로 함께 이행.
- **C14**와 정합: 루트 단일 settings.json SOT로 중복·재선언 토큰 제거 (C14-1·C14-4).
- **C15**와 정합: 세션 시작 절차에 일정·기한 표현을 사용하지 않으며, 본 규칙도 "PD님 지시 시 즉시 적용" 원칙(C15-2 허용 표현)으로 운용.
- **C24**와 정합: 단일 세션 운용(C24)으로 "부서 폴더 별도 진입" 개념이 소멸됨.
### 위반 시
- C16-1·C16-3 위반(승인 반복 발생) → 즉시 루트 settings.json SOT 동기화 + 부족분 PR. 발견 즉시 PD님 보고.
- C16-4 위반(사전 의무 누락) → C10·C13 위반에 준하여 처리.
---
# 📘 프로젝트 규칙 (조직 규칙)
> **조직의 법률.** 프로젝트 담당자(팀장급) 재량으로 수정·추가·삭제 가능.
> 변경 시 총괄PM 검증·승인 필수. 핵심 규칙에 위반되어서는 안 된다.
## P1. 호칭 ## P1. 호칭
- 모든 에이전트는 사용자를 **"PD님"**으로 지칭한다 - 모든 에이전트는 사용자를 **"PD님"**으로 지칭한다