hystax/optscale-kompressor는 코딩 에이전트에 쓰는 프롬프트를 결정적으로 압축해 원문을 되찾을 수 있게 하고, Rust 바이너리 하나로 로컬에서 도는 프로젝트다. 2026년 11월 6일 GitHub 커밋 01880519a93cc9bd8090fcea323c7811fd02dbcc은 이 프록시의 캐시 유지 타이머(keep-warm)가 백그라운드 작업의 종료를 판단하는 기준을 바꿨다. 핵심은 Monitor 이벤트가 그 감시 대상의 종료로 치부되지 않는다는 점이다.
Monitor는 에이전트가 띄워 둔 감시 작업(watch)으로, 실행되는 동안 이벤트마다 알림을 보낸다. 예전 규칙에서는 그 작업 이름을 적은 알림이 하나라도 들어오면 종료로 셌다. 그래서 아직 도는 watch가 이벤트 알림 한 건으로 끝난 것처럼 보일 수 있었다. 새 규칙은 알림이 status 태그(completed, failed, killed)를 담거나 'Monitor expired' 통지일 때만 작업을 끝낸다. 다른 형태의 알림은 예전처럼 종료로 처리한다. 알림은 이제 각각 자기 종료 경계까지만 읽으므로, 한 메시지에 들어온 두 알림이 서로를 바꾸지 않는다.
커밋에는 근거가 함께 붙었다. 이런 알림이 들어온 네 번의 캡처에서 status 태그로 끝난 작업은 2,952회, 만료 통지로 끝난 것은 38회였고, 그 밖의 경로는 하나도 없었다. 실패 사례에는 train-fasttext의 요청 …0160이 등장한다. 예전 규칙에서는 미완료 작업이 잡히지 않아 keep-warm이 408초의 대기 구간을 메꿀 수 없고, 그 구간에서 22,135 토큰이 다시 쓰였다. 두 번째 수정은 타이머마다 요청의 메시지 개수를 기록하는 것이다. 대화는 늘기만 하므로 더 짧은 요청은 그 대화가 되돌아온 것이 아니며, 타이머를 취소하지도 교체하지도 않는다. 개수는 이미 요청을 파싱하던 prefix_identity에서 얻었다.
한계도 커밋에 적혀 있다. 드문 경우지만 Claude Code 세션을 앞 지점으로 되돌리면 짧아진 요청이 이전 타이머를 취소하지 못해, 그 타이머는 설정된 상한이나 다음으로 긴 요청이 올 때까지 몇 번의 ping만 더 보낸다. Monitor 감시만 남은 대기는 가장 긴 만료 시간(expires in 10m)에서 끊긴다. Cargo.toml의 워크스페이스 버전은 1.5.14에서 1.5.16으로 올랐고 라이선스는 MIT이며, 8개 파일에 354줄 추가와 40줄 삭제 규모이고 keep-warm 다이어그램도 추가됐다. 근거는 위 네 건의 캡처와 실패 사례 하나뿐이라 더 넓은 측정은 제시되지 않았다. 변경 폭은 keep-warm 타이머의 판정 규칙에 좁게 묶여 있어, 프롬프트 캐시 유지를 쓰는 쪽은 1.5.16을 기준으로 확인할 만해 보인다.