# πŸ› οΈ Multi-Agent Mux Loop (`/multi-agent-mux-loop`) λ―Έν•΄κ²° μ΅œμ ν™” λΆ„μ„μ„œ (`OPTIMIZATION.md`) λ³Έ λ¬Έμ„œλŠ” `/multi-agent-mux-loop` μŠ€ν‚¬ 및 μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜ 슀크립트(`run_loop.sh`)의 ν–₯ν›„ κ°œμ„  및 κ°•μ œλ₯Ό μœ„ν•΄ 아직 λ°˜μ˜λ˜μ§€ μ•Šκ³  λ‚¨μ•„μžˆλŠ” λ―Έν•΄κ²° μ΅œμ ν™” ν•­λͺ©λ“€μ„ μ •λ¦¬ν•œ λ¬Έμ„œμž…λ‹ˆλ‹€. (ν•΄κ²° μ™„λ£Œλœ 이슈 1~5 및 8은 μ œκ±°λ˜μ—ˆμŠ΅λ‹ˆλ‹€.) --- ## 1. ⚠️ λ―Έκ΅¬ν˜„ 절차 및 ν”„λ‘œν† μ½œ (Remaining Discrepancies) ### ISSUE-6: νƒ€λ‹Ήν•˜μ§€ μ•Šμ€ 리뷰 ν”Όλ“œλ°± κ±°λΆ€/반둠 ν”„λ‘œν† μ½œμ˜ 슀크립트 미지원 - **ν˜„μƒ**: `MULTI_AGENT_RULES.md` 1μž₯ κ·œμ•½μ—λŠ” "개발 νŒ€μž₯이 λ¦¬λ·°μ–΄μ˜ νƒ€λ‹Ήν•˜μ§€ μ•Šμ€ ν”Όλ“œλ°±μ„ κ±°λΆ€ν•˜κ³  λͺ…ν™•ν•œ 이유λ₯Ό νšŒμ‹ ν•  수 μžˆλ‹€"κ³  λͺ…μ‹œλ˜μ–΄ 있음. - **문제점**: `run_loop.sh`λŠ” λ¦¬λ·°μ–΄μ˜ `NOT PASS` ν”Όλ“œλ°± 전체λ₯Ό Creatorμ—κ²Œ 일방적으둜 μ£Όμž…ν•  뿐, Creatorκ°€ νŠΉμ • ν”Όλ“œλ°±μ„ κ±°λΆ€ν•˜κ±°λ‚˜ λ°˜λ‘ μ„ μ œκΈ°ν•˜μ—¬ μƒν˜Έ μ‘°μœ¨ν•˜λŠ” 이의제기 채널이 μ½”λ”©μ μœΌλ‘œ κ΅¬ν˜„λ˜μ–΄ μžˆμ§€ μ•ŠμŒ. - **ν•΄κ²° λ°©μ•ˆ**: Creator ꡐ정 단계 ν”„λ‘¬ν”„νŠΈμ— 반둠 μž‘μ„± ν…œν”Œλ¦Ώμ„ ν—ˆμš©ν•˜κ³ , 반둠 λ°œμƒ μ‹œ Planner/Reviewerμ—κ²Œ μž¬κ²€ν† λ₯Ό μš”μ²­ν•˜λŠ” 이의제기 브랜칭 둜직 섀계. --- ## 2. πŸ›‘οΈ μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜ μœ„μž„ 및 μ•ˆμ „μ„±/λ™μ‹œμ„± κ°•μ œμ•ˆ (Remaining Reliability & Guards) ### ISSUE-7: 동일 μ›Œν¬μŠ€νŽ˜μ΄μŠ€ λ‚΄ 쀑볡 루프 기동 λ°©μ§€ 락 (Race-Free Lock) 섀계 정ꡐ화 - **ν˜„μƒ**: 동일 μž‘μ—… νŠΈλ¦¬μ—μ„œ λ‹€μˆ˜μ˜ `run_loop.sh` μŠ€ν¬λ¦½νŠΈκ°€ 병렬 기동될 경우 SQLite DB κ°±μ‹  κ²½ν•© 및 YAML 데이터 μ˜€μ—Όμ΄ 일어날 수 있음. - **문제점**: λ‹¨μˆœ PID 파일 쑴재 μ—¬λΆ€λ§Œ 체크할 경우, PID Rollover(ν”„λ‘œμ„ΈμŠ€ ID μž¬μ‚¬μš©) λ˜λŠ” `mkdir`κ³Ό PID 기둝 μ‚¬μ΄μ˜ 생성 μ°½(Grace Window)μ—μ„œ μ‚΄μ•„μžˆλŠ” 락을 타 ν”„λ‘œμ„ΈμŠ€κ°€ ν›”μ³κ°€λŠ” "락 λ„λ‚œ(Live-lock theft)" ν˜„μƒ λ°œμƒ. - **ν•΄κ²° λ°©μ•ˆ**: 1. 락 μ†Œμœ μž λ ˆμ½”λ“œλ₯Ό λ‹¨μˆœ `PID`μ—μ„œ **`PID + μ‹œμž‘μ‹œκ°(lstart) + μ›Œν¬μŠ€νŽ˜μ΄μŠ€`** 3쀑 ꡬ쑰둜 κ²°ν•©ν•˜μ—¬ PID μž¬μ‚¬μš©μ„ κ²°μ •μ μœΌλ‘œ 차단. 2. `mkdir` 직후 생성 μ°½ 유예 λŒ€κΈ°(Sleep Grace Period)λ₯Ό λΆ€μ—¬ν•˜μ—¬ 락 λ„λ‚œ λ°©μ§€. 3. `ps` CLI λΆ€μž¬ μ‹œ Fails-Open(락 λ¬΄μ‹œ) λŒ€μ‹  **Fails-Safe(락 쑴쀑 + κ²½κ³ )** 둜 μ „ν™˜ν•˜μ—¬ DB/YAML μ˜€μ—Ό μ›μ²œ λ°©μ§€. ### ISSUE-9: 쑰건뢀 μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜ μœ„μž„ κ°€λ“œ (Invocation-Aware Scoped Guard) - **ν˜„μƒ**: μ˜€μΌ€μŠ€νŠΈλ ˆμ΄ν„°(Antigravity)κ°€ ν‰μƒμ‹œμ—λŠ” Main Creatorλ‘œμ„œ μ½”λ“œ 및 λ¬Έμ„œλ₯Ό 직접 μ§‘ν•„ν•΄μ•Ό ν•˜μ§€λ§Œ, `/multi-agent-mux-loop` μŠ¬λž˜μ‹œ μ»€λ§¨λ“œ/μŠ€ν‚¬μ΄ 인보크된 μƒν™©μ—μ„œλ„ 이λ₯Ό μΈμ§€ν•˜μ§€ λͺ»ν•˜κ³  μ—μ΄μ „νŠΈλ“€μ—κ²Œ μœ„μž„ν•˜λŠ” λŒ€μ‹  직접 μˆ˜μ •μ„ μ‹œλ„ν•˜λŠ” μ§€μΉ¨ μ΄νƒˆ λ°œμƒ. - **문제점**: μ˜€μΌ€μŠ€νŠΈλ ˆμ΄ν„°μ˜ 파일 직접 μˆ˜μ • κΆŒν•œμ„ 무쑰건 뺏으면(1번 λ°©μ•ˆ λΆ€μž‘μš©) 일반 μž‘μ—…μ΄ λΆˆκ°€λŠ₯ν•΄μ§€κ³ , μžμ—°μ–΄ μ§€μΉ¨μ—λ§Œ μ˜μ‘΄ν•˜λ©΄ μŠ¬λž˜μ‹œ μ»€λ§¨λ“œ 호좜 μ‹œ μœ„μž„μ„ κ±΄λ„ˆλ›°λŠ” λͺ¨μˆœ λ°œμƒ. - **ν•΄κ²° λ°©μ•ˆ**: - **ν‰μƒμ‹œ (일반 μš”μ²­)**: μ˜€μΌ€μŠ€νŠΈλ ˆμ΄ν„°κ°€ **Main Creator**λ‘œμ„œ μ†ŒμŠ€ 및 λ§ˆν¬λ‹€μš΄ 파일 직접 μž‘μ„±/μˆ˜μ • 도ꡬ(`write_to_file`, `replace_file_content`)λ₯Ό 자유둭게 μ‚¬μš©ν•˜μ—¬ 단독 κ΅¬ν˜„ μˆ˜ν–‰. - **`/multi-agent-mux-loop` 호좜 μ‹œ (μŠ€ν‚¬ ν™œμ„±ν™” μƒνƒœ)**: μŠ€ν‚¬ 인터셉터 κ°€λ“œ(Guardrail)κ°€ μž‘λ™ν•˜μ—¬ 직접 μˆ˜μ • 도ꡬ ν˜ΈμΆœμ„ κ±°λΆ€(Interception)ν•˜κ³ , **"μŠ¬λž˜μ‹œ μ»€λ§¨λ“œκ°€ μΈλ³΄ν¬λ˜μ—ˆμœΌλ―€λ‘œ 직접 μˆ˜μ •μ„ μ€‘λ‹¨ν•˜κ³  `run_loop.sh`λ₯Ό μ‹€ν–‰ν•˜μ—¬ μœ„μž„ν•˜μ‹­μ‹œμ˜€"**λΌλŠ” μ—λŸ¬λ₯Ό λ°˜ν™˜ν•΄ `run_loop.sh` 자율 μœ„μž„ 싀행을 μ½”λ”©μ μœΌλ‘œ κ°•μ œ.