Skip to content

fix(lane): 레인이 보고·검증 뒤 스스로 정리되고, 시키지 않은 외부 변경을 하지 않아요 (v0.7.9) - #42

Merged
bluecheat merged 1 commit into
mainfrom
fix/lane-shutdown
Oct 5, 2026
Merged

bluecheat merged 1 commit into
mainfrom
fix/lane-shutdown

Conversation

@bluecheat

Copy link
Copy Markdown
Owner

요약

#41 반영. 레인(팀원)이 보고 뒤 idle 로 쌓이던 것, 종료 응답 형식 거부, 종료 직전 승인 없는 외부 쓰기를 막아요.

  • 정리 — 보고(--report) + 검증 재실행 통과 → TaskStop <레인 이름>. 판단 없이 매번. 실패하면 ListAgents 확인 후 1회만 재시도, 그래도 남으면 인계 노트
  • 종료 조건 — 완료 게이트 전 ListAgents 에 lane-·scout- 0개 (원장 밖 레인도 이름 접두사로 잡힘)
  • 묻지 않음 — shutdown_request 는 보내지 않아요 (레거시 프로토콜, 응답 턴에 외부 쓰기가 났음)
  • 외부 쓰기 — 브리프 ## 외부 쓰기 허용 기본 "없음". 레인 에이전트·브리프 양쪽에 상시 규칙
  • 종료 응답 — 객체 형식 예시를 그대로 복사해 쓰게

이슈 제안과 다르게 간 것

  • 3 lanes-dispatch.sh --status 의 reported_but_alive — 스크립트는 에이전트 생존을 볼 수 없어서 대신 ListAgents 대조를 종료 조건에 넣었어요
  • 4 doctor/세션 브리핑 경고 — 팀원은 세션과 함께 사라져 다음 세션엔 셀 대상이 없어요

검증

  • bash tests/smoke.sh 전체 통과 (새 §64)
  • 모델 무관 확인: haiku 에게 문서만 주고 4개 시나리오(종료 요청+외부 쓰기 유혹 · 작업 중 외부 쓰기 필요 · 검증 통과 후 정리 · TaskStop 두 번 실패)를 풀게 했더니 전부 문서대로 답했어요

Closes #41

🤖 Generated with Claude Code

보고를 받고 검증 재실행이 통과하면 코디네이터가 그 레인을 TaskStop 으로 바로 종료해요. 완료 게이트 전에
ListAgents 로 lane-·scout- 이름이 0개인지 대조하고, 종료가 두 번 실패하면 인계 노트에 남겨요.
레인은 브리프의 "외부 쓰기 허용"(기본 없음)에 적힌 외부 변경만 하고, 종료 요청엔 객체 형식으로 응답만 해요.

- spec-implement 레인 모드 §3.5 · §5 · 이름 규칙
- lane §10 브리프 · §11.5 · incidents 사고 6
- lane-worker · lane-scout 외부 쓰기 금지 · 종료 응답
- smoke §64

Closes #41

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@bluecheat
bluecheat merged commit ff57279 into main Oct 5, 2026
2 checks passed
@bluecheat
bluecheat deleted the fix/lane-shutdown branch October 5, 2026 14:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant