release(v4.7.4): bump framework and eight skills to 4.7.4 in lockstep; archive PR #38 merge-side reviews

Issue #34: the loop waits for the creator job's sub-jobs, reviewers get
the sub-job table as evidence, a run with sub-jobs voids a round whose
source changed during review, and a pane caller reaches an agent of
another workspace on its own server. VERSIONS.md carries the entry; the
merge-side reports (round 1 @ed293dc and round 2 @e80186f with identity
sidecars, base ed293dc -> head e80186f, 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:
GodopuandClaude Fable 5.1 committed 2026-09-25 16:44:20 +09:00
1 parent e80186f560
commit 22586d2a01
28 files changed
+825 -26

No files matched your search

@@ -0,0 +1,32 @@
# 🔍 Review Report — Job df6a4aa1 (PR #38 델타 `ed293dc...e80186f`)
- **Reviewer**: `reviewer-grok-01` · 2026-09-25
- **검증 경로**: `/var/folders/q_/68sxgw3j073dgjg8wl9s08vw0000gn/T/mam-review/loop-20260925T072328Z-2f5853/1`
- **identity**: head `e80186f` tree `3501868` (일치). 1회차 grok N1 을 이 델타가 닫음.
- **본 체크아웃**: `main` `7a4a0c2` 유지.
`git diff --check ed293dc...HEAD` 클린. 커밋 `8a9101e`, `e80186f`.
## (1) 세 정정 — 닫힘
**N1.** `get_feedback` (`registry.py:316-317`) 기본 `events` 는 `("completed", "error")` 그대로다. 감사 ndjson 은 `source_event`/`event`, `.events.log` 폴백은 `event` 를 같은 튜플로 본다. `_subjob_state` (`runner.py:690-691`) 만 `cancelled` 를 더 넣는다. T13: `target_not_found`·`session_busy` 가 `| NOT-DISPATCHED | <reason> |`. 임시 사본에서 그 인자를 빼면 T13 두 건이 실패했다.
**R2.** 종류는 `reason.split(" ", 1)[0]` (`runner.py:696-697`). `deadline_timeout (remote runner)` → `CLOSED-UNCONFIRMED`, 미확인 종결 1. `session_busy`·`target_not_found` 는 `ORCHESTRATOR_CLOSED` 에 없어 미확인으로 안 간다. 취소 쪽은 예전처럼 완전 일치/`rolled back` 접두다. 임시 사본에서 완전 일치로 되돌리면 T14 가 실패했다.
**K1.** stray 가 있을 때만 `STRAY_RULE` (`runner.py:726-729`). 없으면 그 문장이 없고, 자손도 stray 도 없으면 `""`. SUBJOB_RULE 은 표에 있는 자손용이고, STRAY_RULE 은 “필요할 때만 NOT PASS” 라 모순이 아니다. T6 통과.
## (2) 1회차·락스텝
부모 검증, 자손 대기, 같은 서버 이름 조회, stale 가드는 이 델타가 되돌리지 않는다. `feedback` CLI 와 다른 `get_feedback` 호출은 기본 인자라 취소 이벤트를 새로 집지 않는다. 4.7.4 bump 는 오케스트레이터 예정. 병합 차단 아님.
## 테스트
검증 경로, `AGENT_PYTHON_BIN` = 컨트롤 `.venv`, basetemp `/tmp`:
T13×2, T14, T6 → **4 passed in 13.93s**.
## 종합
1회차 N1·R2·K1 이 코드와 macOS 실행과 맞다. 설계 재작업 불필요.
[VERDICT: PASS]