release(v4.9.1): tests no longer reach a real herdr server - archive the review reports and bump the lockstep version
Review loop (--review-only, --all-reviewer): round 1 (@325b056) 4/4 PASS,
round 2 (@db7f4ca, HERDR_SESSION) 4/4 PASS. Full suite at 325b056 on
macOS / Python 3.9 / bash 3.2 / herdr 0.9.3 from an agent pane:
1845 passed / 0 failed / 56 skipped (18 test_deploy_freshness skips: no
nats-docker submodule in the fresh worktree); the panes of the real
servers (default, multi-agent-mux) and ~/.claude/projects were unchanged.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VCgu9Fa9iT7TbJUSzdq4Ff
This commit is contained in:
1 parent
db7f4cab9c
commit
50c8da8269
32 files changed
+607
-26
No files matched your search
+24
-11
@@ -6,8 +6,8 @@
|
||||
|
||||
## 📌 현재 버전 개요 (Current Release)
|
||||
|
||||
- **프레임워크 버전**: `v4.9.0`
|
||||
- **최신 릴리스 일시**: 2026-10-12 (KST)
|
||||
- **프레임워크 버전**: `v4.9.1`
|
||||
- **최신 릴리스 일시**: 2026-10-13 (KST)
|
||||
- **기준 브랜치**: `main`
|
||||
- **핵심 아키텍처**:
|
||||
- **Terminal 상태 단방향 불변성 (`engine.py`, Issue #6 Phase 1)**: `completed`, `error`, `cancelled` 터미널 상태 진입 후 후속 이벤트나 업데이트에 의한 덮어쓰기를 엄격히 차단(Terminal Immutability). `registry.py close` 서브커맨드 및 fail-closed 조기 종료 도입.
|
||||
@@ -24,23 +24,36 @@
|
||||
|
||||
## 🧭 스킬 패키지 버전 매트릭스 (Skills Version Matrix)
|
||||
|
||||
모든 8개 스킬은 YAML frontmatter 메타데이터(`author`, `version`, `platforms`, `environments`) 표준화를 통해 `v4.9.0`로 동기화되어 배포됩니다.
|
||||
모든 8개 스킬은 YAML frontmatter 메타데이터(`author`, `version`, `platforms`, `environments`) 표준화를 통해 `v4.9.1`로 동기화되어 배포됩니다.
|
||||
|
||||
| 스킬명 | 버전 | 역할 및 주요 책임 | 상태 |
|
||||
| :--- | :---: | :--- | :---: |
|
||||
| **`multi-agent-mux-create`** | `4.9.0` | 에이전트 세션 신규 생성 및 Herdr 컨테이너 격리 스폰 | ✅ 배포 |
|
||||
| **`multi-agent-mux-stop`** | `4.9.0` | 대화 UUID 원자적 캡처 및 세션 안전 종료 (Graceful Stop) | ✅ 배포 |
|
||||
| **`multi-agent-mux-resume`** | `4.9.0` | 온디스크 대화 컨텍스트 기반 Tier-1 초고속 세션 복원 | ✅ 배포 |
|
||||
| **`multi-agent-mux-status`** | `4.9.0` | 실시간 Herdr 세션 및 레지스트리 드리프트 스냅샷 조회 | ✅ 배포 |
|
||||
| **`multi-agent-mux-monitor`** | `4.9.0` | YAML ↔ 런타임 상태 간 자율 조정자 (Reconciler Loop) | ✅ 배포 |
|
||||
| **`multi-agent-mux-delegate-job`** | `4.9.0` | MQTT 이벤트 채널 기반 비동기 단위 작업 위임 | ✅ 배포 |
|
||||
| **`multi-agent-mux-loop`** | `4.9.0` | Planner-Creator-Reviewer 3자 자율 계획·실행·피어리뷰 루프 | ✅ 배포 |
|
||||
| **`multi-agent-mux-orc-onboard`** | `4.9.0` | 오케스트레이터 UUID 격리 등록 및 서브 세션 오염 방지 | ✅ 배포 |
|
||||
| **`multi-agent-mux-create`** | `4.9.1` | 에이전트 세션 신규 생성 및 Herdr 컨테이너 격리 스폰 | ✅ 배포 |
|
||||
| **`multi-agent-mux-stop`** | `4.9.1` | 대화 UUID 원자적 캡처 및 세션 안전 종료 (Graceful Stop) | ✅ 배포 |
|
||||
| **`multi-agent-mux-resume`** | `4.9.1` | 온디스크 대화 컨텍스트 기반 Tier-1 초고속 세션 복원 | ✅ 배포 |
|
||||
| **`multi-agent-mux-status`** | `4.9.1` | 실시간 Herdr 세션 및 레지스트리 드리프트 스냅샷 조회 | ✅ 배포 |
|
||||
| **`multi-agent-mux-monitor`** | `4.9.1` | YAML ↔ 런타임 상태 간 자율 조정자 (Reconciler Loop) | ✅ 배포 |
|
||||
| **`multi-agent-mux-delegate-job`** | `4.9.1` | MQTT 이벤트 채널 기반 비동기 단위 작업 위임 | ✅ 배포 |
|
||||
| **`multi-agent-mux-loop`** | `4.9.1` | Planner-Creator-Reviewer 3자 자율 계획·실행·피어리뷰 루프 | ✅ 배포 |
|
||||
| **`multi-agent-mux-orc-onboard`** | `4.9.1` | 오케스트레이터 UUID 격리 등록 및 서브 세션 오염 방지 | ✅ 배포 |
|
||||
|
||||
---
|
||||
|
||||
## 📋 버전별 상세 변경 내역 (Changelog)
|
||||
|
||||
### 🚀 `v4.9.1` — 테스트가 실제 herdr 서버에 세션을 만들지 않는다 (2026-10-13)
|
||||
|
||||
> **패치 (PATCH Release)**: v4.9.0 병합 검증 중 에이전트 pane 에서 `--basetemp .../pytest-pr56-shim` 으로 돌린 스위트가 그 pane 의 실제 서버(`multi-agent-mux`)에 워크스페이스 7개를 남겼다(정리 완료). 제품 코드 변경은 실제 herdr 해석기의 `-shim` 규칙 한 가지.
|
||||
|
||||
#### 🌟 주요 개선 사항
|
||||
1. **원인 1 — 조상 `*-shim` 이 mock 을 가렸다**: 실제 herdr 해석기(`lib.sh` 의 `_is_shim_path`, heredoc 으로 생성되는 `.mam/shim/herdr`)가 경로 어디에든 `-shim` 이 든 PATH 디렉터리를 건너뛰었다. basetemp 이름이 mock 의 `bin/` 조상이라 mock 이 건너뛰어지고 실제 herdr 가 실행됐다. **수정**: 디렉터리 자신의 이름이 `*-shim` 일 때만 래퍼로 본다(`.mam/shim`, `multi-agent-herdr-shim`, `.agents/skills/.bin` 규칙은 그대로). 생성 shim 이 바뀌었으므로 `test_s11` 의 기준 커밋을 525df2b 로 옮겼다(#45 와 같은 방식).
|
||||
2. **원인 2 — 샌드박스가 pane 의 소켓을 남겼다**: 실제 herdr 는 sandbox `HOME` 보다 `HERDR_SOCKET_PATH` 를 따른다(실측). `mam_sandbox` 가 `HERDR_SOCKET_PATH`·`HERDR_PANE_ID`·`HERDR_TAB_ID` 와 `HERDR_SESSION`(호출자 서버 판정이 읽어 pane 안/밖에서 분기가 달라짐, 리뷰 비차단 메모)을 지운다.
|
||||
|
||||
#### ✅ 품질 검증
|
||||
- **회귀 테스트**: `tests/test_herdr_real_server_leak.py` — L1(조상 `*-shim`, 두 해석기; 실제 herdr 대신 디코이)·L2(pane 라우팅 변수 제거)는 수정 전 실패, L1b(자기 이름이 `*-shim` 인 래퍼는 계속 제외).
|
||||
- **리뷰 (`--review-only`, `--all-reviewer`)**: 1회차(@325b056) **4/4 PASS**, 2회차(@db7f4ca, `HERDR_SESSION`) **4/4 PASS**. 비차단으로 남긴 기존 차이: 생성 shim 은 `.agents/skills/.bin` 을 제외하지 않음(codex), README 의 레거시 `/tmp/multi-agent-herdr-shim/<server>` 레이아웃 설명(claude). 리포트는 `.agents/reports/<session>/`.
|
||||
- **전체 스위트 (macOS·Python 3.9·bash 3.2·herdr 0.9.3, 에이전트 pane 환경 그대로, MQTT 환경변수 없이)**: 325b056 **1845 passed / 0 failed / 56 skipped**(74 분; 새 워크트리라 `nats-docker` 서브모듈이 없어 `test_deploy_freshness` 18건이 추가로 건너뛰어졌고, 병합 뒤 main 에서 따로 실행). `~/.claude/projects` 에 새 항목 없음. 실행 전후 실제 서버(`default`, `multi-agent-mux`)의 pane 목록이 같았다.
|
||||
|
||||
### 🚀 `v4.9.0` — Issue #50·#55: 온보딩·위임이 레지스트리로 기다리고, pane 배치는 서버마다 하나씩, 테스트는 실제 에이전트 홈에 쓰지 않는다 (2026-10-12)
|
||||
|
||||
> **마이너 (MINOR Release)**: 새 종료 코드(`create --onboard` 의 44·45)와 새 대기 동작(위임 래퍼의 레지스트리 대기, pane 배치 잠금). PR #56.
|
||||
|
||||
Reference in new issue
Block a user