Skip to content

인자는 non_idempotent Step에만, 읽기 반복 거절은 따로 8회까지 (ADR-0067) - #119

Merged
SonAIengine merged 1 commit into
mainfrom
fix/process-only-step-arguments
Oct 27, 2026
Merged

SonAIengine merged 1 commit into
mainfrom
fix/process-only-step-arguments

Conversation

@SonAIengine

Copy link
Copy Markdown
Contributor

문제

ADR-0065 뒤 rename 작업이 읽은 파일을 곧바로 다시 읽다가 반복 거절 3연속으로 멈췄다.

변경

  • runtime: effect class가 non_idempotent인 Step의 인자만 planning context에 넣는다.
  • CLI: process·terminal·web search recipe 인자를 기록된 capability일 때만 돌려준다.
  • driver: repeated_finished_action은 따로 세어 연속 8번까지 다시 묻는다(다른 거절은 2번 그대로).

근거

  • 재생(context 44개 x 2): 같은 파일 다시 읽기 26/88(인자 전부) -> 19/88(read_only 제외) -> 7/88(인자 없음).
  • 연속 반복 거절 33번 중 28번이 8회 이내에 끝남. 한도 없으면 한 Run이 call 192개 소진.
  • 실측: H5 2/2(2 call), T4 3 call, T1·T2·T6 통과. 긴 rename은 분산이 커서 판단에 쓰지 않음. 상세는 ADR-0067.

검증

  • cargo test --workspace: 741개 통과, clippy·fmt 통과

🤖 Generated with Claude Code

- ADR-0065 뒤 rename 작업(T3, H6)이 읽은 파일을 곧바로 다시 읽다가 반복 거절 3연속으로 멈췄다.
- 재생 실험(context 44개 x 2회): 같은 파일 다시 읽기가 인자 전부 26/88, read_only 제외 19/88,
  인자 없음 7/88. patch 인자는 이미 적용한 patch 재전송도 막지 못했다(22·23 vs 14·23).
- runtime은 effect class가 non_idempotent인 Step(process·terminal·web search)의 인자만 넣는다.
  CLI는 terminal·web search recipe도 기록된 capability일 때만 돌려준다(terminal로 같은 명령
  11회 반복한 Run이 있었다).
- driver는 repeated_finished_action을 따로 세어 연속 8번까지 다시 묻는다. 연속 거절 33번 중
  28번이 8회 이내에 끝났고, 한도가 없으면 한 Run이 model call 192개를 다 썼다.
- 실측: H5 2/2(2 call), T4 3 call, T1·T2·T6 통과. 긴 rename(T3·H6)은 build마다 0/4~3/4로
  흔들려 판단 근거로 쓰지 않았다. 남은 실패는 patch 작성 실패와 JSON 괄호 오류.
- 테스트 741개 통과, clippy 경고 0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@SonAIengine
SonAIengine merged commit 3555f3b into main Oct 27, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant