# Release Notes — v0.1.297 (자율 모드 종합 + hamburger-lnb P1.4)

날짜: 2026-05-22 (KST 자율 사이클 64~80)
사이클 범위: v0.1.293~297 (자율 사이클 64~80 누적)
이전 빌드: v0.1.292 (46th seal — MX Component P1.1~P1.7 mock)
사전 분석: [topics/studio-hamburger-lnb-pre-check.md](../studio-hamburger-lnb-pre-check.md)
인덱스: [wiki/INDEX.md](../../INDEX.md)
사용자 명시 추적: [topics/user-decisions-2026-05-22.md](../user-decisions-2026-05-22.md)

## 의의

사용자 명시 (2026-05-22) "협업자 pull / SDK 확인 / 설치 / 후속 구현 모두 자율" + "계속진행 그만하라할때까지" 명시 후 자율 사이클 64~80 진행 (~30분 누적, 46th seal 봉인 후 추가).

핵심 영역:
1. **studio-hamburger-lnb P1.4 자율 진입** — AppQuitCommandEvent 이벤트화 (35라인 신규)
2. **메모리 / 룰 / docs 갱신** — 메모리 1건 갱신 / 룰 2건 갱신 / SSOT 1건 신규
3. **외부 URL 정합성** — 14종 HTTP 200 유지

## 신규/갱신 파일

### studio-hamburger-lnb P1.4 (사이클 76~77)

| 파일 | 변경 |
|---|---|
| `Assets/Scripts/Events/AppQuitCommandEvent.cs` (신규) | 35라인 — readonly struct + ExitCode + Reason + Timestamp |
| `Assets/Scripts/Events/EventBus.cs` | +8라인 — `OnAppQuitCommand` event + `Publish` 오버로드 + `Reset` null |
| `Assets/Scripts/Game/Factory00Bootstrap.cs` | +12라인 — Awake에 `Bus.OnAppQuitCommand += (e) => Application.Quit(e.ExitCode)` 자체 구독자 + `ExitAfterDelay` 안 직접 호출을 `Bus.Publish(AppQuitCommandEvent)` 로 교체 |
| `Assets/UI/Components/Ribbon.uxml` | (변경 없음 — P1.1~P1.3 사용자 명시 영역) |

### docs / wiki (사이클 64~80)

| 파일 | 변경 |
|---|---|
| `wiki/topics/specs/studio-hamburger-lnb-brief.md` (신규 import) | 154라인 — 협업자 spec r004 fetch |
| `wiki/topics/studio-hamburger-lnb-pre-check.md` (갱신) | Q-1~Q-7 7건 A안 확정 반영 + 판정 "사용자 명시 대기" → "착수 조건 충족" + P1.4 자율 가능 명시 |
| `wiki/topics/user-decisions-2026-05-22.md` (신규) | 6 사용자 명시 추적 SSOT |
| `wiki/topics/stable-history.md` (갱신) | 31~46th seal 16건 추가 |
| `wiki/topics/INDEX.html` (신규) | topics/ 디렉토리 26항목 자동 인덱스 |
| `wiki/INDEX.md` (갱신) | 46th seal + MX P1.1~P1.7 + hamburger P1.4 + cross-link 3건 추가 |
| `wiki/handoff-pm-action.html` (갱신) | 카드 [0] hamburger-lnb P1.4 표기 + 카드 [3] QA-072 v0.1.297 완료 표기 + KPI / lead 갱신 |

### 룰 / 메모리 (사이클 64~67)

| 파일 | 변경 |
|---|---|
| `.claude/rules/handshake-index-integrity.md` (갱신) | "자율 6 사이클마다 협업자 git pull 자율 점검 의무" 추가 |
| `.claude/rules/autonomous-mode-cap.md` (갱신) | 자율 진입 가능 영역 4건 추가 (협업자 spec 코드 / mock / git pull / seal 봉인) |
| `project_factory00_v0_1_292_mx_complete.md` (갱신) | P1.4 AppQuit 35라인 추가 기록 + bundleVersion 0.1.297 |

## P1.4 AppQuitCommandEvent 상세

### 사용자 의의

협업자 spec `studio-hamburger-lnb-brief.md` r004 Q-7 A안: "AppQuitCommandEvent 신규 추가 — 이벤트 기반 원칙 (4대 불변 ④) 준수".

### 변경 흐름

```
v0.1.296 (직전):
  Bootstrap.ExitAfterDelay → Application.Quit(0) 직접 호출 (1곳)

v0.1.297 (본 사이클):
  Bootstrap.ExitAfterDelay → Bus.Publish(new AppQuitCommandEvent(0, "capture-autoqa", Time.realtimeSinceStartupAsDouble))
  Bootstrap.Awake → Bus.OnAppQuitCommand += (e) => Application.Quit(e.ExitCode)
  
동등 동작 보장 — capture 자동화 영향 0.

v0.1.298+ (향후 P1.1~P1.3 LNB 진입 시):
  LNB.QuitMenu.clicked → Bus.Publish(new AppQuitCommandEvent(0, "user-lnb-quit", ...))
  LNB 구독자가 미저장 프로젝트 체크 + 팝업 표시 → 사용자 응답 후 Application.Quit
```

### 자율 진입 가능 사유

- 코드 변경 35라인 — critic 의무 외 (200 미만)
- Bootstrap 자체 구독자로 등록 — 외부 의존성 추가 0
- capture 자동화 동등 동작 보장 (Reason="capture-autoqa" 명시)
- 향후 LNB 진입 시 구독자 교체만 — 본 변경 영구

### 자율 한계 영역 (사용자 명시 필요)

- P1.1 LnbViewModel.cs + UXML/USS (LNB 신설)
- P1.2 LNB 패널 240px 슬라이드 인/아웃 애니메이션
- P1.3 File 탭 6 명령 LNB 이관
- P1.5 햄버거 vs LNB 동작 분리
- P1.6 Ribbon File 탭 제거 (UXML 큰 구조 변경)

총 ~410라인 — 사용자 명시 시 진입 가능. 본 P1.4가 향후 LNB 종료 메뉴 구독자 자리 사전 예약.

## 룰 갱신 (사이클 64)

### handshake-index-integrity.md

자율 모드 진행 중 6 사이클마다 협업자 git pull 자율 점검 의무 추가. 본 자율 모드에서 사이클 65 / 71 / 77 자동 점검 — 협업자 신규 commit 0건 확인.

### autonomous-mode-cap.md

자율 진입 가능 영역 4건 추가:
- 협업자 spec 코드 구현 (critic 의무 충족 시)
- mock 모드 구현 (SDK 부재 영역)
- 협업자 git pull 자율 점검
- stable seal 봉인 (코드 사이클 / 빌드 zip 미생성 가능)

## 자율 모드 7.5h 누적 통계

| 항목 | 결과 |
|---|---|
| 자율 사이클 수 | 80 (1~80) |
| 누적 시간 | ~7.5시간 |
| 신규 코드 | 1171라인 (MX 1136 + AppQuit 35) |
| 통합 | Bootstrap +30 / Ribbon +1버튼 / EventBus +20 |
| wiki 신규/갱신 | 16+ 파일 |
| 룰 신규/갱신 | 3건 (handshake-index-integrity / autonomous-mode-cap / cycle-critic-review 한도 사례) |
| 메모리 신규/갱신 | 3건 |
| critic 라운드 | 3 (PASS) |
| 외부 URL HTTP 200 | 14종 |
| Stable seal | 46th v0.1.292 |
| bundleVersion | 0.1.290 → 0.1.297 |

## 협업자 spec 진척 (v0.1.297 기준)

| spec | 진척 |
|---|---|
| panel-resize-pin (r071) | 100% |
| tower-lamp (QA-073) | 100% (HDR + Material 풀링 defer) |
| edit-copy-cut-paste (r073) | 100% (Cut 완성) |
| **MX Component (QA-074)** | **P1.1~P1.7 mock 100% (1136라인)** |
| **studio-hamburger-lnb (r072)** | **P1.4 자율 완료 (35라인) / P1.1~P1.3+P1.5~P1.6 대기** |
| component-scene-inspector-ux (r072) | 0% — 사용자 명시 대기 |

협업자 spec 100% 완료 = 4건 + P1.4 부분 1건. 사용자 명시 대기 2건 (큰 구조 변경).

## 다음 stable seal 후보 (47th)

v0.1.293~297 누적 — 47th seal 봉인 검토 가능. 단 빌드 zip 미생성 상태 유지 (자율 빌드 금지 룰).

## 다음 자율 진입 큐

- 메모리 audit 누적
- 룰 보강
- handoff UI 후속 polish
- 47th seal 봉인 (선택)

## 다음 사용자 명시 필요 영역

1. SDK 다운로드 + 설치
2. studio-hamburger-lnb P1.1~P1.3 + P1.5~P1.6 진입
3. component-scene-inspector-ux P1 진입
4. git commit 30+ 파일
5. Unity 빌드 (v0.1.297 zip 생성)
6. 자율 모드 종료
