feat(b1): fix find_workspace_uuid tier-3 identity lookup and add test_b1_tier3_identity.py (100% PASS)

This commit is contained in:
2026-08-05 23:55:21 +09:00
parent b6c41e6486
commit 924e77e8b8
5 changed files with 903 additions and 29 deletions
+22 -9
View File
@@ -1,11 +1,9 @@
# 🛠️ Multi-Agent Mux 종합 개선 및 미해결 과제 백로그 (`IMPROVEMENTS.md`)
- **최종 갱신일**: 2026-08-05 (A-1 및 A-5 네이티브 전환 구현 완료 반영)
- **최종 갱신일**: 2026-08-05 (B-1 해결 및 완료 항목 섹션 분리 반영)
- **통합 관리 대상**: 기존 `CODEBASE_REVIEW_REPORT.md` + `OPTIMIZATION.md`
- **총 추적 미해결 과제**: **18건** (아키텍처 2건, 엣지케이스 8건, 오케스트레이션 3건, 레거시 잔재 5건)
> [!NOTE]
> 최근 A-1(워크스페이스별 Herdr session 소켓 파생 및 drift-B cwd 오등록 게이트 구축) 및 A-5(네이티브 명칭 `HERDR_SESSION_NAME`, `--herdr-session`, `herdr_session:` 단일화) 구현이 완벽히 완료되어 본 백로그에서 삭제 및 정돈되었습니다.
- **완료된 과제**: **3건** (A-1, A-5, B-1)
---
@@ -29,9 +27,6 @@
## 2. 🟠 엣지 케이스 및 런타임 버그 (Edge-case Bugs — 8건)
### **B-1: `find_workspace_uuid` tier-3 `NameError`로 영구 사망**
- `lib.sh` 내 agy 대화 복원용 tier-3 경로가 미정의 변수(`db_path`, `yaml_path`) 및 `yaml` import 누락으로 항상 `NameError` 예외를 내고 삼켜져 agy 대화 복원이 거부됩니다.
### **B-3: `command -v herdr` 프리플라이트 무력화**
- `create_session.sh`의 프리플라이트 검사 시 `command -v herdr``lib.sh`에 정의된 bash 함수(`herdr()`)를 호명하여 실제 시스템 `herdr` 바이너리가 없어도 프리플라이트를 무조건 통과해버립니다.
@@ -53,6 +48,9 @@
### **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 — 3건)
@@ -97,6 +95,21 @@
---
## 5. 결론 및 향후 보완 로드맵
## 5. 🎉 완료된 과제 (Completed Tasks — 3건)
두 문서가 `IMPROVEMENTS.md` 하나로 통합됨에 따라, 향후 코드베이스 개편 시 본 문서의 18가지 백로그 항목(아키텍처 2건, 엣지케이스 8건, 오케스트레이션 3건, 레거시 잔재 5건)을 일원화된 보완 로드맵으로 관리합니다.
### **A-1: 워크스페이스 세션 격리 & drift-B 오등록 방지** — ✅ 완료
- `derive_workspace_slug` 헬퍼 함수를 추가하여 워크스페이스 경로 기반 단일 소켓 슬러그(`mam-<parent>-<work>`) 도출 체계를 구축했습니다.
- `reconcile.sh` drift-B 자동 등록 시 foreign cwd 차단 게이트를 구축하여 세션 오등록을 방지했습니다.
### **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)를 작성하여 입증했습니다.
---
## 6. 결론 및 향후 보완 로드맵
`IMPROVEMENTS.md` 문서에 따라 향후 코드베이스 개편 시 남은 백로그 항목(아키텍처 2건, 엣지케이스 8건, 오케스트레이션 3건, 레거시 잔재 5건)을 일원화된 보완 로드맵으로 관리합니다.