2026-09-14 create_session.sh 로 reviewer-agy-01, reviewer-grok-01, planner-reviewer-codex-01 을 만들 때 세 에이전트 모두 첫 화면의 디렉터리 신뢰(trust) 다이얼로그에서 멈췄다.
에이전트
다이얼로그
수락 방법
agy
Do you trust the contents of this project?
> Yes, I trust this folder 선택 상태에서 Enter
grok
Do you trust the contents of this directory?
y
codex
Do you trust the contents of this directory?
› 1. Yes, continue 선택 상태에서 Enter
결과:
⚠️ TUI readiness check timed out → 프로세스가 살아 있어 세션은 보존, last_visible_status: tui-ready-timeout.
준비되지 않은 세션이므로 온보딩 주입이 비활성화된다(create_session.sh:313-314).
진단 덤프 .mam/diagnostics/<name>-<epoch>.txt 에 다이얼로그 화면이 남는다.
사람이 각 pane 에서 직접 수락한 뒤에야 진행됐다.
원인
create_session.sh:322 의 handle_startup_dialogs(lib.sh:2668)는 AGENT=claude 일 때만 호출된다.
wait_for_tui_ready(lib.sh:2107)는 다이얼로그 화면을 준비 완료로 보지 않으므로 시간 초과까지 기다린다.
제안
에이전트별 trust 다이얼로그 시그니처와 수락 키를 lib_py.agents facts 에 둔다.
wait_for_tui_ready 대기 중 시그니처를 감지하면 수락하고 준비 대기를 이어간다.
CLI 가 비대화식 trust 설정(설정 파일·옵션)을 제공하면 그쪽을 우선한다.
보안: 수락은 --workspace 로 지정한 대상 디렉터리에 한정한다. codex 의 경우 trust 가 프로젝트 로컬 설정·훅·exec 정책을 로드하게 하므로, 자동 수락을 옵트인(--auto-trust 등)으로 둘지 검토한다.
환경 정보
MAM v4.5.0 (당시 main 5611859), 현재 main 1134d74 에서도 해당 코드 동일
agy (Gemini 3.8 Flash), grok 1.0.30, codex-cli 0.154.0, Linux
## 증상
2026-09-14 `create_session.sh` 로 `reviewer-agy-01`, `reviewer-grok-01`, `planner-reviewer-codex-01` 을 만들 때 세 에이전트 모두 첫 화면의 **디렉터리 신뢰(trust) 다이얼로그**에서 멈췄다.
| 에이전트 | 다이얼로그 | 수락 방법 |
|---|---|---|
| agy | `Do you trust the contents of this project?` | `> Yes, I trust this folder` 선택 상태에서 Enter |
| grok | `Do you trust the contents of this directory?` | `y` |
| codex | `Do you trust the contents of this directory?` | `› 1. Yes, continue` 선택 상태에서 Enter |
결과:
- `⚠️ TUI readiness check timed out` → 프로세스가 살아 있어 세션은 보존, `last_visible_status: tui-ready-timeout`.
- 준비되지 않은 세션이므로 **온보딩 주입이 비활성화**된다(`create_session.sh:313-314`).
- 진단 덤프 `.mam/diagnostics/<name>-<epoch>.txt` 에 다이얼로그 화면이 남는다.
- 사람이 각 pane 에서 직접 수락한 뒤에야 진행됐다.
## 원인
- `create_session.sh:322` 의 `handle_startup_dialogs`(`lib.sh:2668`)는 `AGENT=claude` 일 때만 호출된다.
- `wait_for_tui_ready`(`lib.sh:2107`)는 다이얼로그 화면을 준비 완료로 보지 않으므로 시간 초과까지 기다린다.
## 제안
1. 에이전트별 trust 다이얼로그 시그니처와 수락 키를 `lib_py.agents` facts 에 둔다.
2. `wait_for_tui_ready` 대기 중 시그니처를 감지하면 수락하고 준비 대기를 이어간다.
3. CLI 가 비대화식 trust 설정(설정 파일·옵션)을 제공하면 그쪽을 우선한다.
4. 보안: 수락은 `--workspace` 로 지정한 대상 디렉터리에 한정한다. codex 의 경우 trust 가 프로젝트 로컬 설정·훅·exec 정책을 로드하게 하므로, 자동 수락을 옵트인(`--auto-trust` 등)으로 둘지 검토한다.
## 환경 정보
- MAM v4.5.0 (당시 main `5611859`), 현재 main `1134d74` 에서도 해당 코드 동일
- agy (Gemini 3.8 Flash), grok 1.0.30, codex-cli 0.154.0, Linux
환경: macOS (Darwin 25.6.0), MAM main 1134d74, agy (Gemini 3.8 Flash)
create_session.sh --agent agy --onboard 실행 시 Do you trust the contents of this project? 다이얼로그에서 멈췄습니다. 이어서 TUI readiness check timed out 이 나고 온보딩이 건너뛰어졌습니다 (본문과 동일).
Enter 키로 수락한 뒤 delegate-job submit 으로 온보딩을 보내자 정상 완료됐습니다 (#23 의 env 우회 적용).
참고: 수락 직후에도 herdr agent read --source visible 은 한동안 다이얼로그 화면을 그대로 보여 줬습니다. 같은 시점에 --source recent 에서는 입력창이 보였습니다. 제안 2처럼 대기 중에 다이얼로그를 감지·수락하도록 구현할 때, visible 스냅샷이 갱신되지 않을 수 있다는 점을 고려해야 합니다.
## macOS 에서도 재현 (agy)
- 환경: macOS (Darwin 25.6.0), MAM main `1134d74`, agy (Gemini 3.8 Flash)
- `create_session.sh --agent agy --onboard` 실행 시 `Do you trust the contents of this project?` 다이얼로그에서 멈췄습니다. 이어서 `TUI readiness check timed out` 이 나고 온보딩이 건너뛰어졌습니다 (본문과 동일).
- Enter 키로 수락한 뒤 `delegate-job submit` 으로 온보딩을 보내자 정상 완료됐습니다 (#23 의 env 우회 적용).
- 참고: 수락 직후에도 `herdr agent read --source visible` 은 한동안 다이얼로그 화면을 그대로 보여 줬습니다. 같은 시점에 `--source recent` 에서는 입력창이 보였습니다. 제안 2처럼 대기 중에 다이얼로그를 감지·수락하도록 구현할 때, `visible` 스냅샷이 갱신되지 않을 수 있다는 점을 고려해야 합니다.
모달의 시그니처와 수락 키를 에이전트 어댑터(startup_dialogs → MAM_STARTUP_DIALOGS)로 옮기고 handle_startup_dialogs 를 에이전트 무관으로 만들었다. 이전에는 claude 전용 사다리를 claude 에게만 돌렸기 때문에 agy·grok·codex 는 신뢰 창에 앉은 채로 준비 대기가 만료되고 온보딩이 건너뛰어졌다.
agy: "Do you trust the contents of this project" / "Yes, I trust this folder" 가 미리 선택되어 있으므로 Enter
grok: "Do you trust the contents of this directory" 에 y
codex: 신뢰 창은 "1. Yes, continue" 가 선택되어 있어 Enter, 0.155.1 업데이트 안내는 아무것도 바꾸지 않는 2(Skip)
--no-auto-trust 와 MAM_AUTO_TRUST=0 으로 신뢰 창만 사람에게 남길 수 있다. codex 의 신뢰는 프로젝트의 로컬 설정·훅·실행 정책까지 함께 읽어들이므로 이 스위치가 필요하다. 안내 창은 항상 처리한다.
수락 판정은 다이얼로그 시그니처가 아니라 준비 토큰으로 한다. --source visible 은 이미 수락된 창을 한동안 계속 보여주므로, 화면에 시그니처가 남아 있다는 것이 키가 전달되지 않았다는 증거가 아니다. 같은 시그니처에 대한 재전송은 MAM_DIALOG_RESEND_S(기본 5초)로 막는다. resume 도 create 와 같은 계약과 같은 스위치를 쓴다.
검증
전체 스위트 f4ba205: 1080 통과 / 12 실패 / 20 건너뜀. 실패 12건은 모두 이 호스트의 기존 기준선 실패다. 리뷰어 5명 전원 PASS.
실제 herdr 수용 시험에서 agy·grok·codex·opencode 네 건 모두 사람 개입 없이 사용 가능한 TUI 까지 도달했다. codex 업데이트 안내도, 남은 신뢰 창도 없었다.
부수 확인: grok pane 에 기동 후 "Help improve Grok / Opt out / Opt in" 텔레메트리 배너가 남는다. 입력을 막지 않는다. 배너가 뜬 채로 33초 작업해 온보딩을 마치는 것을 실측했으므로 다이얼로그 항목을 추가하지 않았다.
PR #35 로 해결했다. 브랜치 `fix/issue-23-24`, head `f4ba205`.
모달의 시그니처와 수락 키를 에이전트 어댑터(`startup_dialogs` → `MAM_STARTUP_DIALOGS`)로 옮기고 `handle_startup_dialogs` 를 에이전트 무관으로 만들었다. 이전에는 claude 전용 사다리를 claude 에게만 돌렸기 때문에 agy·grok·codex 는 신뢰 창에 앉은 채로 준비 대기가 만료되고 온보딩이 건너뛰어졌다.
- agy: "Do you trust the contents of this project" / "Yes, I trust this folder" 가 미리 선택되어 있으므로 Enter
- grok: "Do you trust the contents of this directory" 에 `y`
- codex: 신뢰 창은 "1. Yes, continue" 가 선택되어 있어 Enter, 0.155.1 업데이트 안내는 아무것도 바꾸지 않는 `2`(Skip)
`--no-auto-trust` 와 `MAM_AUTO_TRUST=0` 으로 신뢰 창만 사람에게 남길 수 있다. codex 의 신뢰는 프로젝트의 로컬 설정·훅·실행 정책까지 함께 읽어들이므로 이 스위치가 필요하다. 안내 창은 항상 처리한다.
수락 판정은 다이얼로그 시그니처가 아니라 준비 토큰으로 한다. `--source visible` 은 이미 수락된 창을 한동안 계속 보여주므로, 화면에 시그니처가 남아 있다는 것이 키가 전달되지 않았다는 증거가 아니다. 같은 시그니처에 대한 재전송은 `MAM_DIALOG_RESEND_S`(기본 5초)로 막는다. resume 도 create 와 같은 계약과 같은 스위치를 쓴다.
## 검증
전체 스위트 `f4ba205`: 1080 통과 / 12 실패 / 20 건너뜀. 실패 12건은 모두 이 호스트의 기존 기준선 실패다. 리뷰어 5명 전원 PASS.
실제 herdr 수용 시험에서 agy·grok·codex·opencode 네 건 모두 사람 개입 없이 사용 가능한 TUI 까지 도달했다. codex 업데이트 안내도, 남은 신뢰 창도 없었다.
부수 확인: grok pane 에 기동 후 "Help improve Grok / Opt out / Opt in" 텔레메트리 배너가 남는다. 입력을 막지 않는다. 배너가 뜬 채로 33초 작업해 온보딩을 마치는 것을 실측했으므로 다이얼로그 항목을 추가하지 않았다.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
증상
2026-09-14
create_session.sh로reviewer-agy-01,reviewer-grok-01,planner-reviewer-codex-01을 만들 때 세 에이전트 모두 첫 화면의 디렉터리 신뢰(trust) 다이얼로그에서 멈췄다.Do you trust the contents of this project?> Yes, I trust this folder선택 상태에서 EnterDo you trust the contents of this directory?yDo you trust the contents of this directory?› 1. Yes, continue선택 상태에서 Enter결과:
⚠️ TUI readiness check timed out→ 프로세스가 살아 있어 세션은 보존,last_visible_status: tui-ready-timeout.create_session.sh:313-314)..mam/diagnostics/<name>-<epoch>.txt에 다이얼로그 화면이 남는다.원인
create_session.sh:322의handle_startup_dialogs(lib.sh:2668)는AGENT=claude일 때만 호출된다.wait_for_tui_ready(lib.sh:2107)는 다이얼로그 화면을 준비 완료로 보지 않으므로 시간 초과까지 기다린다.제안
lib_py.agentsfacts 에 둔다.wait_for_tui_ready대기 중 시그니처를 감지하면 수락하고 준비 대기를 이어간다.--workspace로 지정한 대상 디렉터리에 한정한다. codex 의 경우 trust 가 프로젝트 로컬 설정·훅·exec 정책을 로드하게 하므로, 자동 수락을 옵트인(--auto-trust등)으로 둘지 검토한다.환경 정보
5611859), 현재 main1134d74에서도 해당 코드 동일macOS 에서도 재현 (agy)
1134d74, agy (Gemini 3.8 Flash)create_session.sh --agent agy --onboard실행 시Do you trust the contents of this project?다이얼로그에서 멈췄습니다. 이어서TUI readiness check timed out이 나고 온보딩이 건너뛰어졌습니다 (본문과 동일).delegate-job submit으로 온보딩을 보내자 정상 완료됐습니다 (#23 의 env 우회 적용).herdr agent read --source visible은 한동안 다이얼로그 화면을 그대로 보여 줬습니다. 같은 시점에--source recent에서는 입력창이 보였습니다. 제안 2처럼 대기 중에 다이얼로그를 감지·수락하도록 구현할 때,visible스냅샷이 갱신되지 않을 수 있다는 점을 고려해야 합니다.PR #35 로 해결했다. 브랜치
fix/issue-23-24, headf4ba205.모달의 시그니처와 수락 키를 에이전트 어댑터(
startup_dialogs→MAM_STARTUP_DIALOGS)로 옮기고handle_startup_dialogs를 에이전트 무관으로 만들었다. 이전에는 claude 전용 사다리를 claude 에게만 돌렸기 때문에 agy·grok·codex 는 신뢰 창에 앉은 채로 준비 대기가 만료되고 온보딩이 건너뛰어졌다.y2(Skip)--no-auto-trust와MAM_AUTO_TRUST=0으로 신뢰 창만 사람에게 남길 수 있다. codex 의 신뢰는 프로젝트의 로컬 설정·훅·실행 정책까지 함께 읽어들이므로 이 스위치가 필요하다. 안내 창은 항상 처리한다.수락 판정은 다이얼로그 시그니처가 아니라 준비 토큰으로 한다.
--source visible은 이미 수락된 창을 한동안 계속 보여주므로, 화면에 시그니처가 남아 있다는 것이 키가 전달되지 않았다는 증거가 아니다. 같은 시그니처에 대한 재전송은MAM_DIALOG_RESEND_S(기본 5초)로 막는다. resume 도 create 와 같은 계약과 같은 스위치를 쓴다.검증
전체 스위트
f4ba205: 1080 통과 / 12 실패 / 20 건너뜀. 실패 12건은 모두 이 호스트의 기존 기준선 실패다. 리뷰어 5명 전원 PASS.실제 herdr 수용 시험에서 agy·grok·codex·opencode 네 건 모두 사람 개입 없이 사용 가능한 TUI 까지 도달했다. codex 업데이트 안내도, 남은 신뢰 창도 없었다.
부수 확인: grok pane 에 기동 후 "Help improve Grok / Opt out / Opt in" 텔레메트리 배너가 남는다. 입력을 막지 않는다. 배너가 뜬 채로 33초 작업해 온보딩을 마치는 것을 실측했으므로 다이얼로그 항목을 추가하지 않았다.