Skip to content

Closiro v2.42.1

Choose a tag to compare

@closedsi-engineering closedsi-engineering released this 22 Oct 22:43
· 1 commit to main since this release
bd2d4a6

Closiro v2.42.1

디버그 사건의 정확도를 지키면서 비용을 줄이는 변경, 코딩 에이전트 모드의 쓰기 차단 오판 수정, Closiro Desktop의 fine-tune을 에이전트 쪽에서 쓰는 기능을 담았습니다.

r1hard 8과제 라이브 측정(claude-sonnet-5-5, 사건당 예산 $5, 비용 모드):

빌드 통과 거짓 검증 사건당 비용 사건당 시간
v2.42.0 (10-21) 7/8 1 $0.81 5.0분
이 릴리스 (10-22) 7/8 0 $1.03 6.4분

이 릴리스의 미통과 1건은 숨은 테스트 실패가 아니라 아래의 예산 배분 결함으로 멈춘 것이며, 이 릴리스에서 고쳤습니다(수정 후 미측정). 비용은 v2.42.0보다 높게 나왔습니다. 사건당 실행 수가 늘었기 때문인데, 과제당 한 번씩 잰 결과라 원인이 어느 변경인지는 가려지지 않았습니다. 측정 기록: experiments/r1hard-live/2026-10-18/feasibility.md §5k–§5p.

디버그 사건

  • 긴 명령 출력은 Headroom으로 압축합니다. 테스트·빌드 출력이 62줄을 넘으면, 대화 기록에 들어가기 전에 Headroom 로그 압축기(github.com/headroomlabs-ai/headroom, Apache-2.0)를 거칩니다. 마지막 62줄만 남기던 이전 방식과 달리 출력 전체에서 에러, 실패, 스택, 요약을 남깁니다. 압축기가 빠뜨린 실패 줄(Go의 --- FAIL 아래 메시지 등)은 원본에서 찾아 다시 붙입니다. 원본은 작업 폴더의 .snailer/headroom/에 저장되고, 압축마다 사건 폴더의 headroom.jsonl에 기록이 남습니다. 지난 측정의 실제 출력 240개로 비교하면 모델이 보는 분량이 57% 줄었습니다. 디버그 실행에서 기본으로 켜지고(SNAILER_HEADROOM=1), 다른 모드에서는 꺼져 있습니다.
  • 앞 단계로 돌아온 사건이 예산 부족으로 멈추지 않습니다. 조사 중 더 좁은 증상 기준을 제안하면 사건이 문제 확인 단계로 돌아가는데, 그 단계의 몫(사건 예산의 5%)을 이미 써 버려 멈추는 일이 있었습니다. 이제 이미 도달했던 단계까지의 몫을 씁니다.
  • 프롬프트에 인용된 단어가 쓰기를 막지 않습니다. 사건 프롬프트가 이전 실행의 보고("읽기 전용 지시를 어겼다")를 인용하면, 그 단어를 이번 실행의 금지로 읽어 테스트 파일을 쓰지 못하는 일이 있었습니다. 디버그 실행의 쓰기는 이제 호스트의 셸 범위가 정합니다.
  • 실행 간 캐시 접두사를 공유하도록 프롬프트 순서를 바꿨습니다. 고정 규칙과 호스트 명령을 앞에, 사건 기록을 뒤에 두고, 시스템 프롬프트에서 실행마다 다른 작업 트리 경로를 뺐습니다. 도구 호출 사이에 설명 글을 쓰지 말고, 독립적인 도구는 한 번에 부르라는 규칙도 넣었습니다.

모든 에이전트 실행

  • ponytail을 기본으로 적용합니다. github.com/DietrichGebert/ponytail(MIT)의 "가장 작고 완전한 변경" 규칙이 시스템 프롬프트의 고정 섹션에 들어갑니다. SNAILER_PONYTAIL=lite|full|ultra|off로 단계를 고르며, 기본은 full입니다.
  • 예외 목록을 허용 목록으로 읽습니다. "Do not modify files outside a.rs, b.rs", "a.rs 외의 파일은 수정하지 마", "Only edit a.rs" 같은 요청에서 이전에는 나열한 파일을 보호 대상으로 읽어, 고치라는 파일만 막고 나머지는 열어 두었습니다. 이제 나열한 경로만 쓸 수 있고, 나머지는 거부하면서 허용 목록을 알려 줍니다. 경로를 특정할 수 없는 예외("parser 모듈 밖")는 거부하지 않고 묻습니다.

Fine-tune

  • closiro finetune status|models|ask, MCP fine_tune_ask/fine_tune_status, 데몬 finetune.* 메서드로, Closiro Desktop이 이 Mac에서 서비스하는 fine-tune을 에이전트 쪽에서 씁니다(~/.snailer/finetune.json). 일이 fine-tune과 분명히 맞고 점수가 충분할 때만 로컬 모델이 명령을 쓰고, 아니면 클라우드 모델로 넘깁니다. 계약: docs/FINETUNE_ENDPOINT_CONTRACT.md.
  • 엔드포인트가 꺼져 있으면 ask가 앱과 같은 시작 절차로 서버를 켜고 다시 묻습니다. 이렇게 켠 서버는 명령이 끝나면 15초 안에 스스로 꺼집니다. CLOSIRO_FINETUNE_AUTOSTART=0으로 끕니다.

서드파티 고지

Headroom의 로그 압축기와 크기 조정기 두 파일을 src/aci/headroom_log/에 옮겨 왔습니다. headroom-core 크레이트 자체는 tree-sitter 0.27을 고정해서 요구해, 이 저장소의 tree-sitter와 함께 링크할 수 없습니다. ponytail의 SKILL.md는 src/agent/ponytail/에 라이선스와 함께 들어 있습니다. 고지는 THIRD-PARTY-NOTICES에 있습니다.