release(v4.7.1): bump framework and eight skills to 4.7.1 in lockstep; archive PR #32 merge-side reviews
Issue #25: a promoted plan is reused only with --plan-file; the implicit newest-plan load is gone in both runners, and an empty planner report no longer passes silently. VERSIONS.md carries the entry; the four merge-side review reports and their identity sidecars (base6fc9194-> head1e82651, evidence review-tree) are archived under .agents/reports/<session>/. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VCgu9Fa9iT7TbJUSzdq4Ff
This commit is contained in:
1 parent
1e826515cc
commit
6b7198f73c
24 files changed
+441
-26
No files matched your search
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"loop_id": "loop-20260921T150212Z-97d845",
|
||||
"base_sha": "6fc9194f896eb2e13e123b8ebe7a9089b629764d",
|
||||
"head_sha": "1e826515cc2a07ea1f8da0ff1259e1ea4dde86fd",
|
||||
"tree_sha": "4fd82ad1c2682d12c3f5114818f97291af28a032",
|
||||
"review_commit": "1e826515cc2a07ea1f8da0ff1259e1ea4dde86fd",
|
||||
"reviewer": "reviewer-grok-01",
|
||||
"job_id": "06fb4a9e",
|
||||
"verdict": "PASS",
|
||||
"transport": "herdr",
|
||||
"evidence": "review-tree",
|
||||
"isolation": "worktree",
|
||||
"verified_at": "2026-09-21T15:25:44Z"
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
# 🔍 Review Report — Job 06fb4a9e (PR #32 @ `1e82651`)
|
||||
|
||||
- **Reviewer**: `reviewer-grok-01` · 2026-09-22
|
||||
- **검증 경로**: `/var/folders/q_/68sxgw3j073dgjg8wl9s08vw0000gn/T/mam-review/loop-20260921T150212Z-97d845/1`
|
||||
- **identity**: base `6fc9194` head `1e82651` tree `4fd82ad` (일치)
|
||||
- **소스 워크트리·본 체크아웃**: 읽기 전용. 본 체크아웃 `main` `6fc9194` 유지.
|
||||
|
||||
`git diff --check 6fc9194...HEAD` 클린. 5커밋.
|
||||
|
||||
## (1) 암묵적 로드 제거
|
||||
|
||||
Python: Phase 1 else 가 glob/`plan-*.md` 를 쓰지 않음 (`runner.py:1064-1073`). `import glob` 삭제. `resolve_planner_session` (`:990`) 은 세션 이름만 로그하고 파일을 읽지 않음. `--planner` 는 `--plan` 없이 exit 1 (`:244-248`).
|
||||
|
||||
레거시 셸 (`MAM_LOOP_PY=0`): `ls -t .agents/reports/.../plan-*.md` 제거 (`run_loop.sh` Phase 1 else). `plan-*.md` 문자열이 두 구현에 없음 (`test_p8`).
|
||||
|
||||
## (2) `--plan-file`
|
||||
|
||||
상대경로는 `workspace_root / path` (`runner.py:264`); POSIX 에서 절대경로는 `/` 로 치환되어 그대로. `~` 는 `expanduser`. 없는/빈/공백뿐/디렉터리/읽기 실패 → `_plan_text` None → parse_args `sys.exit(1)`, 잡 없음. `--plan` 과 상호 배타. `--review-only` 는 파일 검사 후 경고·무시(`current_plan` 비움). `--planner` 는 `--plan` 필수라 `--plan-file` 과 함께면 먼저 `--planner` 규칙에 걸린다.
|
||||
|
||||
레거시 셸은 `--plan-file` 을 Python 전용으로 **명시 거부** exit 1, 루프 락 전 (`run_loop.sh:127-134`, `test_p7b`). 공백 경로는 pathlib 가 처리; 전용 테스트는 없음(비차단).
|
||||
|
||||
## (3) `_plan_text` (e551e3b)
|
||||
|
||||
한 함수 (`:304-316`)가 `--plan-file`, 초기 planner 리포트, 논의 refine, 에스컬레이션 refine 에 사용. 빈 초기 계획 → `return 1`, Worker 없음 (`test_p9`). 빈 refine → 경고·이전 계획 유지 (`test_p10`, `test_p11` ESCALATE). 수정 프롬프트가 빈 계획을 싣지 않음.
|
||||
|
||||
## (4) 체크포인트
|
||||
|
||||
`current_plan` 은 기록만 (`_record_checkpoint`). `load_checkpoint` 를 runner 가 호출하지 않음. 새 실행은 `current_plan=""` 에서 시작. 본 체크아웃 `.mam/loop-checkpoint.json` 의 옛 계획은 우회가 아님.
|
||||
|
||||
## (5) 옵션 없음
|
||||
|
||||
의도된 변화만: 자기계획 프롬프트. 승격은 `--plan` 성공 시 `plan-{id}.md` 기록 유지 (`test_p6`). 기존 테스트는 검증 경로에서 실행.
|
||||
|
||||
## (6) 테스트 P1–P11
|
||||
|
||||
전부 `tmp_path`. 검증 경로:
|
||||
|
||||
```
|
||||
PYTHONDONTWRITEBYTECODE=1 <control .venv python> -m pytest -p no:cacheprovider --basetemp=/tmp/mam-review-basetemp-...
|
||||
tests/test_issue25_plan_reuse.py
|
||||
```
|
||||
|
||||
**17 passed** (P1–P11 + p3b/c/d, p5b, p7/p7b, p8). 수정 전 P1 은 옛 glob 을 단언하므로 실패했을 테스트.
|
||||
|
||||
같은 인터프리터로 `test_loop_cli`·`test_issue5_phase3`·`test_issue21_worktree_prereqs`·`test_version_consistency` 포함 시 래퍼 서브프로세스가 검증 트리에 `.venv` 가 없어 `paho` 를 못 찾는 실패 2건이 났고, `DELEGATE_JOB_PYTHON` 을 컨트롤 `.venv` 로 주면 **19 passed**. 제품 회귀가 아니라 스냅샷에 venv 가 없는 환경.
|
||||
|
||||
## (7) 문서
|
||||
|
||||
SKILL.md 에서 "기존에 승격된 계획서가 있다면 이를 로드" 잔존 없음. usage·CLI 표·Workflow 예시가 `--plan-file` 과 일치. `.claude/skills` 는 이 스냅샷에 없음.
|
||||
|
||||
## (8) 락스텝
|
||||
|
||||
`MAM_VERSION=4.7.0`. 4.7.1 bump 는 오케스트레이터 예정. 병합 차단 아님.
|
||||
|
||||
## 종합
|
||||
|
||||
암묵적 최신 계획 로드가 Python·레거시 양쪽에서 제거됐고, 재사용은 `--plan-file` 뿐이다. 빈 리포트는 조용히 계획을 지우지 않는다. 설계 재작업 불필요.
|
||||
|
||||
[VERDICT: PASS]
|
||||
Reference in new issue
Block a user