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, baseed293dc-> heade80186f, 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
2.1 KiB
🔍 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
e80186ftree3501868(일치). 1회차 grok N1 을 이 델타가 닫음. - 본 체크아웃:
main7a4a0c2유지.
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]