|
2 | 2 |
|
3 | 3 | 기준일: 2026-02-28 |
4 | 4 |
|
| 5 | +## 0) 착수 순서 고정 + 비손상/비오염 선언 (2026-02-28) |
| 6 | + |
| 7 | +선언: |
| 8 | + |
| 9 | +- 지금부터 작업 착수 순서는 아래 순서로 고정한다. |
| 10 | +- 기존 핵심 기능(승인/반려/롤백/상태배지/`function bach`/터치 입력)은 손상 또는 동작 오염 없이 유지한다. |
| 11 | +- 기능 수정 시 변경 범위를 최소화하고, 영향 없는 영역은 수정하지 않는다. |
| 12 | +- 회귀 징후가 발견되면 즉시 다음 단계 진행을 중단하고 원인 수정 후 동일 게이트를 재통과한다. |
| 13 | + |
| 14 | +고정 착수 순서: |
| 15 | + |
| 16 | +1. `WP-007` 3차: 게임/입력/WebSocket 로직 훅 분리 |
| 17 | +2. 테스트 분해: `App.ui.test.jsx` 기능 단위 스위트 분리 |
| 18 | +3. 설치 경로 운영 안정화: `start:app` 오류 메시지/가이드 고도화 |
| 19 | +4. `WP-008` 조건부 자동승인 기능 설계/리스크 검토/안전장치 적용 |
| 20 | +5. `WP-009` 승인 이력(악보 컨셉) 설계/구현/회귀 검증 |
| 21 | + |
5 | 22 | ## 1) 현재 상태 요약 |
6 | 23 |
|
7 | 24 | - 현재 단계: MVP (핵심 데모 흐름 동작) |
|
23 | 40 | - `WP-004` 완료: 기본 바인딩(`HOST=127.0.0.1`) + Origin 화이트리스트 CORS 반영 |
24 | 41 | - `WP-005` 완료: 서버/UI/E2E + CI 게이트 + 통합 스모크(`npm run smoke:integration`) 반영 |
25 | 42 | - `WP-006` 완료: `check:env` preflight + `start:app` 원클릭 런처 + 가이드 반영 |
26 | | -- `WP-007` 진행중: 1차 모듈 분해(상수/저장소/오디오/YouTube 유틸 분리) 완료 |
| 43 | +- `WP-007` 진행중: 1차(상수/유틸 분리) + 2차(UI 컴포넌트 분해) 완료 |
27 | 44 | - QA 에이전트 설정 완료: `npm run qa` + 회귀 테스트 스위트 + QA 가이드 추가 |
28 | 45 | - `function bach` 1차 완료: 상단 미니 플레이어, 채널 URL 저장, 재생/일시정지/볼륨, 주파수(Hz) 시각화 반영 |
29 | 46 | - 터치 입력 대응 완료: 레인 승인/반려 버튼 + 터치 롤백 버튼 + UI 회귀 테스트 반영 |
30 | 47 | - 오픈 이슈 분리 추적: [`docs/KNOWN_ISSUES.md`](./KNOWN_ISSUES.md) (`KI-001`: `function bach` Hz 미노출 환경 조사) |
31 | 48 |
|
32 | 49 | ## 1-2) 다음 작업 포인트 (즉시 실행) |
33 | 50 |
|
34 | | -1. 컨텍스트/유지보수 최적화: `WP-007` 2차(UI 컴포넌트 분해) 진행 |
35 | | -2. 설치 경로 운영 안정화: `start:app` 사용 데이터 기반 오류 메시지/가이드 고도화 |
36 | | -3. 문서 최신화: 현재 상태/작업순서를 README/USER_GUIDE/WORK_PLAN에 지속 동기화 |
| 51 | +1. 컨텍스트/유지보수 최적화: `WP-007` 3차(게임/입력/WebSocket 로직 훅 분리) 진행 |
| 52 | +2. 테스트 분해: `App.ui.test.jsx`를 기능 단위 스위트로 분리 |
| 53 | +3. 설치 경로 운영 안정화: `start:app` 사용 데이터 기반 오류 메시지/가이드 고도화 |
| 54 | +4. 이후 `WP-008`/`WP-009`는 0번 섹션의 고정 순서대로만 착수 |
37 | 55 |
|
38 | 56 | ## 1-3) 즉시 실행 결과 (2026-02-28) |
39 | 57 |
|
|
51 | 69 | - 여전히 `.env` 설정과 환경오류 대응(포트/경로) 가이드는 지속 개선 필요 |
52 | 70 | - 코드/컨텍스트 규모 |
53 | 71 | - 전체 추적 파일 수: 약 30개 |
54 | | - - `src/App.jsx`: 1228 lines (단일 파일 집중도 높음) |
| 72 | + - `src/App.jsx`: 691 lines (분해 진행 중, 추가 축소 필요) |
55 | 73 | - UI 상태/이펙트 훅 수가 많아(30+), 변경 시 회귀 영향 범위가 넓음 |
56 | 74 | - 런타임/번들 |
57 | 75 | - `vite build` 기준 JS 번들 약 228 kB (gzip 71 kB)로 현재 성능 병목은 크지 않음 |
|
106 | 124 | - `README`에서 현재 단계와 다음 작업이 한눈에 확인되어야 함 |
107 | 125 | - 설치 단순화 목표(`단일 실행 명령`)가 실제 환경(macOS/Windows)에서 재현되어야 함 |
108 | 126 | - 구조 분해 후에도 기존 승인/반려/롤백/`function bach` 기능이 동일 동작해야 함 |
| 127 | +- 고정 순서 외 작업 선착수 금지(예외 시 계획문서 선반영 + 승인) |
109 | 128 |
|
110 | 129 | ## 5) 실행 방식 검토 (Single vs Multi-agent) |
111 | 130 |
|
|
121 | 140 | - 공통 파일(`maestro-server.js`, `src/App.jsx`, `README.md`) 동시 수정 작업은 분리하지 않음 |
122 | 141 | - 병렬 작업이 필요하면 파일 경계를 명확히 나눈 뒤 통합 |
123 | 142 |
|
| 143 | +## 5-1) 멀티에이전트 적용 범위 분석 + 단계별 계획 (2026-02-28) |
| 144 | + |
| 145 | +계획 수립 범위: |
| 146 | + |
| 147 | +- 현재 시점부터 `WP-009` 완료 + 안정화 게이트 통과 시점까지 계획을 고정한다. |
| 148 | +- `WP-010` 이후는 `WP-009` 결과(성능/운영 데이터) 확인 후 별도 수립한다. |
| 149 | + |
| 150 | +단계별 실행 모델: |
| 151 | + |
| 152 | +| 단계 | 범위 | 권장 방식 | 이유 | |
| 153 | +|---|---|---|---| |
| 154 | +| Stage 0 | `WP-007` 3차 훅 분리 | 단일에이전트 | `src/App.jsx`/입력/소켓 상태가 강결합, 충돌 위험이 가장 큼 | |
| 155 | +| Stage 1 | 테스트 분해 + `start:app` 안정화 | 2에이전트 병렬 가능 | 테스트/운영 가이드는 파일 경계 분리가 쉬움 | |
| 156 | +| Stage 2 | `WP-008` 조건부 자동승인 설계/구현 | 3에이전트 병렬 가능 | 서버 규칙/프론트 UI/QA를 파일 경계로 분리 가능 | |
| 157 | +| Stage 3 | `WP-009` 승인 이력(악보뷰) 설계/구현 | 3에이전트 병렬 가능 | 이력 저장/API/UI 렌더링을 독립 트랙으로 분리 가능 | |
| 158 | +| Stage 4 | 통합/회귀/릴리즈 문서화 | 단일에이전트 | 최종 통합 판단과 회귀 차단은 단일 의사결정이 안전 | |
| 159 | + |
| 160 | +에이전트 역할 분리(권장): |
| 161 | + |
| 162 | +1. Core Agent |
| 163 | + - 담당: 승인 규칙/조건부 자동승인 정책, 서버 이벤트, 훅/도메인 로직 |
| 164 | + - 주요 파일: `maestro-server.js`, `hooks/*`, `src/hooks/*`, `src/features/*` |
| 165 | +2. UI Agent |
| 166 | + - 담당: 악보 이력 시각화, 상호작용 UX, 접근성/반응형 유지 |
| 167 | + - 주요 파일: `src/components/maestro/*`, `src/App.jsx`, `src/index.css` |
| 168 | +3. QA Agent |
| 169 | + - 담당: 회귀 테스트 분해/보강, 통합 스모크, E2E 시나리오 |
| 170 | + - 주요 파일: `tests/*`, `src/App.ui.test.jsx`, `scripts/smoke-agent-integration.sh`, `docs/QA_AGENT.md` |
| 171 | + |
| 172 | +통합 순서(고정): |
| 173 | + |
| 174 | +1. Stage 0 완료 + `npm run qa` 통과 |
| 175 | +2. Stage 1 병렬 완료 후 통합 + `npm run qa` |
| 176 | +3. Stage 2 병렬 완료 후 통합 + `npm run qa` + `npm run smoke:integration` |
| 177 | +4. Stage 3 병렬 완료 후 통합 + `npm run qa` + `npm run smoke:integration` + `npm run test:e2e` |
| 178 | +5. Stage 4에서 문서/운영가이드 동기화 후 main 반영 |
| 179 | + |
| 180 | +리스크 및 차단 규칙: |
| 181 | + |
| 182 | +- `src/App.jsx`/`maestro-server.js` 동시 병렬 수정은 금지(충돌/회귀 확률 높음) |
| 183 | +- 자동승인(`WP-008`)은 기본값 `OFF`로 시작하고, 명시 조건 충족 시에만 활성화 |
| 184 | +- 회귀 1건이라도 발생 시 다음 단계 진행 중단, 원인 수정 후 동일 게이트 재통과 |
| 185 | + |
124 | 186 | ## 6) 추가 기능 계획: `function bach` |
125 | 187 |
|
126 | 188 | 목표: 효과음과 별개로 대시보드에서 유튜브 기반 배경음악(BGM)을 재생/제어. |
|
0 commit comments