# πŸ› οΈ Multi-Agent Mux μ’…ν•© κ°œμ„  및 λ―Έν•΄κ²° 과제 백둜그 (`IMPROVEMENTS.md`) - **μ΅œμ’… 갱신일**: 2026-08-07 (O-3 Invocation-Aware Scoped Guard μ™„λ£Œ 반영) - **톡합 관리 λŒ€μƒ**: κΈ°μ‘΄ `CODEBASE_REVIEW_REPORT.md` + `OPTIMIZATION.md` - **총 좔적 λ―Έν•΄κ²° 과제**: **12건** (μ•„ν‚€ν…μ²˜ 1건, μ—£μ§€μΌ€μ΄μŠ€ 7건, μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜ 1건, λ ˆκ±°μ‹œ μž”μž¬ 3건) - **μ™„λ£Œλœ 과제**: **9건** (A-1, A-3, A-5, B-1, B-3, C-1, C-2, O-1, O-3) --- ## πŸ“Œ κ°œμš” λ³Έ λ¬Έμ„œλŠ” Multi-Agent Mux (MAM) ν”„λ ˆμž„μ›Œν¬μ˜ **μ½”λ“œλ² μ΄μŠ€ μ•„ν‚€ν…μ²˜ 결함, λŸ°νƒ€μž„ μ—£μ§€μΌ€μ΄μŠ€, λ ˆκ±°μ‹œ μž”μž¬** 및 **`/multi-agent-mux-loop` μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜ μ΅œμ ν™” 과제**λ₯Ό 단일 백둜그둜 톡합 μΆ”μ ν•˜κΈ° μœ„ν•œ μ’…ν•© 관리 λ¬Έμ„œμž…λ‹ˆλ‹€. --- ## 1. πŸ”΄ μ•„ν‚€ν…μ²˜ 결함 (Architecture Flaws β€” 1건) ### **A-2: 곡개 브둜컀 + HMAC 인증 Off + μ™€μΌλ“œμΉ΄λ“œ μ „νŒŒ** - **ν˜„μƒ**: `mqtt_common.py`의 κΈ°λ³Έ λΈŒλ‘œμ»€κ°€ 곡개 μ„œλ²„(`broker.hivemq.com`), HMAC 무쑰건 True λ°˜ν™˜μœΌλ‘œ μ„€μ •λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. - **νŒŒκΈ‰ 효과**: μ™ΈλΆ€μ—μ„œ μœ μž…λ˜λŠ” malicious `error` 이벀트 μˆ˜μ‹  μ‹œ `reconcile.sh`κ°€ 라이브 μ—μ΄μ „νŠΈ pane을 `kill-session`으둜 κ°•μ œ νŒŒκ΄΄ν•˜λŠ” 치λͺ…적 λ³΄μ•ˆ/μ•ˆμ •μ„± μœ„ν—˜μ΄ μ‘΄μž¬ν•©λ‹ˆλ‹€. --- ## 2. 🟠 μ—£μ§€ μΌ€μ΄μŠ€ 및 λŸ°νƒ€μž„ 버그 (Edge-case Bugs β€” 7건) ### **B-4: μ‹œν”„νŠΈ `ls`의 `created=0` ν•˜λ“œμ½”λ”©μœΌλ‘œ 재개 κ°€λ“œ 무λ ₯ν™”** - `herdr ls` μ„œλΈŒμ»€λ§¨λ“œ λž˜νΌκ°€ μ„Έμ…˜ μƒμ„±μ‹œκ°μ„ μƒμˆ˜ `0`으둜 λ¦¬ν„΄ν•˜μ—¬ `reconcile.sh` drift-B 등둝 μ‹œ epoch 0이 λ˜μ–΄ 였래된 λŒ€ν™” jsonl 배제 κ°€λ“œκ°€ λΆ•κ΄΄λ©λ‹ˆλ‹€. ### **B-5: `df --output` GNU μ „μš© ν”Œλž˜κ·Έ μ‚¬μš©μœΌλ‘œ macOS NFS 감지 μ‹€νŒ¨** - macOS/BSD ν™˜κ²½μ—μ„œ `df --output` ꡬ문 였λ₯˜λ‘œ NFS 감지가 μ‹€νŒ¨ν•˜κ³  "NFS μ•„λ‹˜"으둜 μ˜€νŒλ˜μ–΄ SQLite WAL 포맷을 κ°•ν–‰ν•©λ‹ˆλ‹€. ### **B-6: μŠ€ν‚¬ νŠΈλ¦¬μ— μž„μ‹œ 파일 볡사 및 유좜** - `run_loop.sh::delegate_job_safe`κ°€ 래퍼 슀크립트λ₯Ό `.agents/skills/...` 트리 내뢀에 `.tmp`둜 λ³΅μ‚¬ν•˜μ—¬ 버전 관리 트리λ₯Ό μ˜€μ—Όμ‹œν‚€κ³  rsync 배포 μ‹œ μ™ΈλΆ€λ‘œ μœ μΆœλ©λ‹ˆλ‹€. ### **B-7: `run_loop.sh` μƒλŒ€κ²½λ‘œ cwd 의쑴 및 미좔적 파일 λˆ„λ½** - μ €μž₯μ†Œ 루트 λ°–μ—μ„œ `run_loop.sh` ꡬ동 μ‹œ `wait_for_job`이 3900초 무음 νƒ€μž„μ•„μ›ƒμ„ λ°œμƒμ‹œν‚€λ©°, `git diff`κ°€ Creatorκ°€ μƒˆλ‘œ μΆ”κ°€ν•œ 미좔적 μ‹ κ·œ νŒŒμΌμ„ λ¦¬λ·°μ–΄μ—κ²Œ λˆ„λ½ν•©λ‹ˆλ‹€. ### **B-8: `send_keys_safe` agy 경둜 검증 μ΄νƒˆ** - agy μ„Έμ…˜ μ£Όμž… μ‹œ μ£Όμž… μ‹€νŒ¨ μ—¬λΆ€λ₯Ό κ²€μ¦ν•˜μ§€ μ•Šκ³  무쑰건 `return 0`을 남겨 μ‹€νŒ¨ μ‹œμ—λ„ μ„±κ³΅μœΌλ‘œ λ³΄κ³ λ©λ‹ˆλ‹€. ### **B-9: `LOGS_DIR` import μ‹œμ  cwd κ³ μ •** - `mqtt_common.py` λͺ¨λ“ˆ λ‘œλ“œ μ‹œμ μ˜ cwd둜 감사 둜그 κ²½λ‘œκ°€ 1회 κ³ μ •λ©λ‹ˆλ‹€. ### **B-10: `agent_identities` μ“°κΈ° 경둜 λΆ€μž¬ 및 PyYAML μ˜μ‘΄μ„±** - μ €μž₯μ†Œ 전체에 `agent_identities` λ₯Ό μƒμ„±Β·κ°±μ‹ ν•˜λŠ” μ½”λ“œκ°€ 0건이며, `lib.sh` 의 PyYAML ν•˜λ“œ μ˜μ‘΄μ„±μœΌλ‘œ 인해 `.db` 만으둜 μΆ©λΆ„ν•œ κ²½μš°μ—λ„ PyYAML λΆ€μž¬ μ‹œ μƒνƒœ μ‘°νšŒκ°€ 무λ ₯ν™”λ˜λŠ” λ¬Έμ œκ°€ μ‘΄μž¬ν•©λ‹ˆλ‹€. --- ## 3. 🟑 μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜ μ΅œμ ν™” 과제 (Orchestration Optimizations β€” 2건) ### **O-2 (ꡬ 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 μ˜€μ—Ό μ›μ²œ λ°©μ§€. --- ## 4. βšͺ λ ˆκ±°μ‹œ μž”μž¬ 및 죽은 μ½”λ“œ (Legacy Remnants β€” 3건) ### **C-3: 격리 μŠ€ν… 4μ’… 및 `stop_session.sh` λ―Έμ‚¬μš© isolation μ½”λ“œ μž”μ‘΄** - `provision_isolation` λ“± 4개 μŠ€ν… ν•¨μˆ˜μ™€ `stop_session.sh` λ‚΄ `.mam/agent_homes` κ°€λ“œ μ½”λ“œκ°€ 호좜자 0건인 채 μž”μ‘΄ν•©λ‹ˆλ‹€. ### **C-4: μ°Έμ‘° 0회 λ―Έμ‚¬μš© 심볼 7μ’…** - `_HERDR_SHIM_DIR_PATTERN`, `_REAL_HERDR_PATH`, `TERMINAL_STATUSES`, `ISOLATE`, `local_herdr` λ“± 7개 λ―Έμ‚¬μš© 심볼이 μž”μ‘΄ν•©λ‹ˆλ‹€. ### **C-6: `stop_session.sh` 도움말 λ¬Έμ„œ ꡬ버전 ν‘œκΈ°** - 슀크립트 λ„μ›€λ§μ—λŠ” `--mode soft|hard` 등이 μ„œμˆ λ˜μ–΄ μžˆμœΌλ‚˜ μ‹€μ œ μ˜΅μ…˜ νŒŒμ„œλŠ” `exit 2`둜 κ±°λΆ€ν•©λ‹ˆλ‹€. --- ## 5. πŸŽ‰ μ™„λ£Œλœ 과제 (Completed Tasks β€” 9건) ### **O-3: 쑰건뢀 μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜ μœ„μž„ κ°€λ“œ (Invocation-Aware Scoped Guard)** β€” βœ… μ™„λ£Œ - Normal Mode(직접 μ†ŒμŠ€ μˆ˜μ •)와 Loop Active Mode(`/multi-agent-mux-loop` 인보크 μ‹œ `run_loop.sh` 자율 μœ„μž„)의 μ—­ν•  경계λ₯Ό λͺ…ν™•νžˆ κ΅¬λΆ„ν•˜λŠ” μŠ€ν‚¬ 인터셉터 κ°€λ“œλ ˆμΌ(`.agents/hooks.json` & `.agents/hooks/loop_delegation_guard.sh`)을 κ΅¬μΆ•ν–ˆμŠ΅λ‹ˆλ‹€. - step-type νŒŒμƒλͺ… 맀처(`file_change|edit_notebook|write_blob`)λ₯Ό μ μš©ν•˜μ—¬ κ°€λ“œ λ¬΄λ°œν™” 결함을 λ°©μ§€ν–ˆμŠ΅λ‹ˆλ‹€. - `pid` + `lstart`(ν”„λ‘œμ„ΈμŠ€ μ‹œμž‘μ‹œκ°) 신원 λŒ€μ‘° 검증을 톡해 PID Rollover 및 `PermissionError` μ‹œ λ°œμƒν•  수 μžˆλŠ” Livelock 영ꡬ 차단 μ˜€νŒμ„ μ™„λ²½νžˆ ν•΄κ²°ν–ˆμŠ΅λ‹ˆλ‹€. - `run_loop.sh` 마컀 기둝 및 `delegate_job_safe` 트랩 볡원(`_mam_release_guard`)을 μ™„λ£Œν–ˆμŠ΅λ‹ˆλ‹€. - `AGENTS.md`, `MULTI_AGENT_RULES.md` (.ko.md), `SKILL.md` λ¬Έμ„œλ₯Ό μ „μˆ˜ λŒ€μΉ­ κ°±μ‹ ν–ˆμŠ΅λ‹ˆλ‹€. - μ „μš© λ‹¨μœ„/νšŒκ·€ ν…ŒμŠ€νŠΈ μŠ€μœ„νŠΈ `tests/test_o3_scoped_guard.py` (22/22 PASS)λ₯Ό μˆ˜λ¦½ν•˜μ—¬ μž…μ¦ν–ˆμŠ΅λ‹ˆλ‹€. ### **A-1: μ›Œν¬μŠ€νŽ˜μ΄μŠ€ μ„Έμ…˜ 격리 & drift-B μ˜€λ“±λ‘ λ°©μ§€** β€” βœ… μ™„λ£Œ - `derive_workspace_slug` 헬퍼 ν•¨μˆ˜λ₯Ό μΆ”κ°€ν•˜μ—¬ μ›Œν¬μŠ€νŽ˜μ΄μŠ€ 경둜 기반 단일 μ†ŒμΌ“ 슬러그(`mam--`) λ„μΆœ 체계λ₯Ό κ΅¬μΆ•ν–ˆμŠ΅λ‹ˆλ‹€. - `reconcile.sh` drift-B μžλ™ 등둝 μ‹œ foreign cwd 차단 게이트λ₯Ό κ΅¬μΆ•ν•˜μ—¬ μ„Έμ…˜ μ˜€λ“±λ‘μ„ λ°©μ§€ν–ˆμŠ΅λ‹ˆλ‹€. ### **A-3: μ‹œν”„νŠΈ 버퍼 λ™μ‹œ μ£Όμž… μ˜€μ—Ό & μžλ™ GC 체계 ꡬ좕** β€” βœ… μ™„λ£Œ - `lib.sh` λ‚΄ `send_keys_safe` μ‹œν”„νŠΈ 버퍼 λͺ…λ Ήμ˜ μž„μ‹œ 파일λͺ…을 `sks_${sess}_${job_id}_$$_${RANDOM}_$(date +%s%N)` 식 호좜 λ‹¨μœ„ 독립 ν† ν°μœΌλ‘œ λ³€ν™˜ν•˜μ—¬ 닀쀑 μ—μ΄μ „νŠΈ λ™μ‹œ μ£Όμž… μ‹œ λŒ€ν™” ꡐ차 μ˜€μ—Ό 및 무음 μœ μ‹€(T5)을 μ›μ²œ μ°¨λ‹¨ν–ˆμŠ΅λ‹ˆλ‹€. - `set-buffer` μ‹œ μ›μžμ  μž„μ‹œ μ“°κΈ°(`.$buf.$$.tmp`) 및 rename(`mv -f`) ꡬ쑰λ₯Ό κ΅¬ν˜„ν•˜μ—¬ νŒŒν‹°μ…œ λ ˆμ½”λ“œ 관츑을 λ°©μ§€ν–ˆμŠ΅λ‹ˆλ‹€. - μΈν„°λŸ½νŠΈ/μ˜ˆμ™Έ μ’…λ£Œ μ‹œ λ‚¨λŠ” stale 버퍼 νŒŒμΌμ„ μžλ™μœΌλ‘œ μ •λ¦¬ν•˜λŠ” 60λΆ„ λ‚΄μž₯ GC(`find -mmin +60 -delete`)λ₯Ό λ‚΄μž₯ν–ˆμŠ΅λ‹ˆλ‹€. - μ „μš© νšŒκ·€ ν…ŒμŠ€νŠΈ μŠ€μœ„νŠΈ `tests/test_a3_buffer_isolation.py` (12/12 PASS)λ₯Ό μž‘μ„±ν•˜μ—¬ μž…μ¦ν–ˆμŠ΅λ‹ˆλ‹€. ### **C-2: λ―Έμ‚¬μš© `.cache/` μƒνƒœ 디렉터리 생성 및 λ°λ“œ μ½”λ“œ μ •λˆ** β€” βœ… μ™„λ£Œ - `reconcile.sh`μ—μ„œ 아무 데이터도 μ €μž₯ν•˜μ§€ μ•Šλ˜ λ―Έμ‚¬μš© `.cache/multi-agent-mux-monitor` 디렉터리 생성(`mkdir -p`) ꡬ문 및 `STATE_DIR` ν™˜κ²½λ³€μˆ˜λ₯Ό μ œκ±°ν–ˆμŠ΅λ‹ˆλ‹€. - λ ˆκ±°μ‹œ ν™˜κ²½λ³€μˆ˜ `AGENT_SESSIONS_STATE_DIR` μ„€μ • μ‹œ 무음 생성을 λ°©μ§€ν•˜κ³  stderr에 κ°€μ΄λ“œ 경고만 μ•ˆλ‚΄ν•˜λ„λ‘ μ •λˆν–ˆμŠ΅λ‹ˆλ‹€. - `deploy/remove.sh` μ–ΈμΈμŠ€ν†¨λŸ¬μ—μ„œ λ―Έμ‚¬μš© `.cache/` 디렉터리가 λΉ„μ–΄μžˆλŠ” 경우 μ•ˆμ „ν•˜κ²Œ 제거(`rmdir .cache`)ν•˜λ„λ‘ κ°œμ„ ν–ˆμŠ΅λ‹ˆλ‹€. - μ „μš© λ‹¨μœ„/νšŒκ·€ ν…ŒμŠ€νŠΈ μŠ€μœ„νŠΈ `tests/test_c2_no_stale_cache_dir.py` (5/5 PASS)λ₯Ό μž‘μ„±ν•˜μ—¬ μž…μ¦ν–ˆμŠ΅λ‹ˆλ‹€. ### **A-5: `HERDR_SESSION_NAME` λ„€μ΄ν‹°λΈŒ μ „ν™˜** β€” βœ… μ™„λ£Œ - κΈ°μ‘΄ `HERDR_SERVER_NAME` ν™˜κ²½λ³€μˆ˜λ₯Ό herdr μ‹œν”„νŠΈκ°€ 직접 μ½λŠ” λ„€μ΄ν‹°λΈŒ **`HERDR_SESSION_NAME`** 및 YAML λ ˆμ§€μŠ€νŠΈλ¦¬ ν‚€ **`herdr_session`**으둜 μ „μˆ˜ μ „ν™˜ λ‹¨μΌν™”ν–ˆμŠ΅λ‹ˆλ‹€. ### **B-1: `find_workspace_uuid` tier-3 신원 μΊμ‹œ 해석 였λ₯˜ ν•΄κ²°** β€” βœ… μ™„λ£Œ - `lib.sh` tier-3 신원 μΊμ‹œ 쑰회 μ‹œ λ―Έμ •μ˜ λ³€μˆ˜(`db_path`, `yaml_path`) 및 `yaml` import λˆ„λ½μœΌλ‘œ 무쑰건 `NameError` μ˜ˆμ™Έκ°€ λ°œμƒν•˜λ˜ 결함을 ν•΄κ²°ν–ˆμŠ΅λ‹ˆλ‹€. - DBλ₯Ό 1μ°¨ κΆŒμœ„ 경둜둜, `$YAML_PATH`λ₯Ό 폴백으둜 μ •μ œν•˜κ³  μ „μš© νšŒκ·€ ν…ŒμŠ€νŠΈ `tests/test_b1_tier3_identity.py` (8/8 PASS)λ₯Ό μž‘μ„±ν•˜μ—¬ μž…μ¦ν–ˆμŠ΅λ‹ˆλ‹€. ### **B-3: `command -v herdr` ν”„λ¦¬ν”ŒλΌμ΄νŠΈ 무λ ₯ν™”** β€” βœ… μ™„λ£Œ - `lib.sh`에 `_canonical_file()`, `_is_shim_path()`, `_resolve_real_herdr_path()`, `has_real_herdr()` 헬퍼λ₯Ό μž‘μ„±ν•˜μ—¬ `herdr()` bash ν•¨μˆ˜ 였판과 `.mam/shim/herdr` 래퍼 λ§€μΉ­(파일 μˆ˜μ€€ 심링크 포함)을 μ™„μ „ μ°¨λ‹¨ν–ˆμŠ΅λ‹ˆλ‹€. - `create_session.sh`, `multi-agent-mux-delegate-job`, `create/SKILL.md`, `status/SKILL.md` ν”„λ¦¬ν”ŒλΌμ΄νŠΈλ₯Ό `has_real_herdr`둜 μ „μˆ˜ κ΅μ²΄ν–ˆμŠ΅λ‹ˆλ‹€. - νšŒκ·€ ν…ŒμŠ€νŠΈ `tests/test_b3_herdr_preflight.py` (11/11 PASS)λ₯Ό μž‘μ„±ν•˜μ—¬ μž…μ¦ν–ˆμŠ΅λ‹ˆλ‹€. ### **C-1: Kanban λ¬Έμ„œ 29회 μ–ΈκΈ‰ vs μ‹€μ œ κ΅¬ν˜„ 0건** β€” βœ… μ™„λ£Œ - SKILL.md 3μ’…(monitor 22 / status 5 / create 2)κ³Ό README 2μ’…μ˜ Kanban μ„œμˆ μ„ μ „λ©΄ μ œκ±°ν–ˆμŠ΅λ‹ˆλ‹€. - `multi-agent-mux-monitor` 의 μ‹€ν–‰ λ©”μ»€λ‹ˆμ¦˜ μ„œμˆ μ„ μ‹€μ œ κ΅¬ν˜„μΈ `reconcile.sh --subscribe` (MQTT push + 브둜컀 λ‹€μš΄ μ‹œ 폴링 폴백) κΈ°μ€€μœΌλ‘œ μž¬μž‘μ„±ν–ˆμŠ΅λ‹ˆλ‹€. - μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” μŠ€ν‚¬ μ°Έμ‘° 2건(`kanban-worker`, `kanban-orchestrator`)을 μ‹€μ‘΄ μŠ€ν‚¬λ‘œ κ΅μ²΄ν–ˆμŠ΅λ‹ˆλ‹€. - `hermes kanban create` CLI ν”Œλž˜κ·Έ μž”μž¬ 10μ’…(`--goal-max-turns`, `--assignee`, `--comment-card` λ“±)을 νŒŒμƒν˜• 검증 게이트(G-C)둜 μ°¨λ‹¨ν–ˆμŠ΅λ‹ˆλ‹€. - μ œν’ˆ ν‘œλ©΄(`.agents/skills/`, `README*.md`) Kanban μ°Έμ‘° **0건** 확인. ### **O-1: νƒ€λ‹Ήν•˜μ§€ μ•Šμ€ 리뷰 ν”Όλ“œλ°± κ±°λΆ€/반둠 ν”„λ‘œν† μ½œ 미지원 (Rebuttal Protocol)** β€” βœ… μ™„λ£Œ - `run_loop.sh`에 `--max-rebut N` (κΈ°λ³Έκ°’ 1) μ˜΅μ…˜ 및 Rebuttal/Re-adjudication/Arbitration 3단계 ν”„λ‘œν† μ½œμ„ κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€. - Creatorκ°€ 지적 ν•­λͺ© κ±°λΆ€ μ‹œ `[REBUT: ]` νƒœκ·Έλ₯Ό 남겨 ν•΄λ‹Ή 리뷰어 λŒ€μƒ μž¬μ‹¬(`[ADJUDICATION: SUSTAINED/OVERRULED]`)을 κ°€λ™ν•˜λ©°, ꡐ착 μ‹œ Planner μž¬μ •(`[ARBITRATION: CREATOR/REVIEWER]`) λ˜λŠ” Fail-Closed 결정을 μˆ˜ν–‰ν•©λ‹ˆλ‹€. - bash 3.2 macOS 규격 빈 λ°°μ—΄ ν™•μž₯ μ•ˆμ „μ„±(`${ARR[@]+"${ARR[@]}"}`) 및 per-iteration budget reset / total budget cap 결함을 μ™„λ²½νžˆ λ³΄μ™„ν•˜κ³  νšŒκ·€ ν…ŒμŠ€νŠΈ `tests/test_o1_rebuttal.py` (10/10 PASS)둜 μž…μ¦ν–ˆμŠ΅λ‹ˆλ‹€. - `MULTI_AGENT_RULES.md`, `.ko.md`, `multi-agent-mux-loop/SKILL.md` λ¬Έμ„œ 연동을 μ™„λ£Œν–ˆμŠ΅λ‹ˆλ‹€. --- ## 6. κ²°λ‘  및 ν–₯ν›„ 보완 λ‘œλ“œλ§΅ `IMPROVEMENTS.md` λ¬Έμ„œμ— 따라 ν–₯ν›„ μ½”λ“œλ² μ΄μŠ€ 개편 μ‹œ 남은 백둜그 ν•­λͺ©(μ•„ν‚€ν…μ²˜ 2건, μ—£μ§€μΌ€μ΄μŠ€ 7건, μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜ 2건, λ ˆκ±°μ‹œ μž”μž¬ 4건)을 μΌμ›ν™”λœ 보완 λ‘œλ“œλ§΅μœΌλ‘œ κ΄€λ¦¬ν•©λ‹ˆλ‹€.