--- name: refactor-code description: > 외부 동작을 유지하면서 코드 구조·중복·모듈 경계·유지보수성을 개선할 때 쓴다. 기존 동작과 공개 계약을 기준으로 작은 변경과 동등성 검증을 수행한다. 새 동작 구현이나 버그 수정, 단순 문장 편집은 별도 작업이다. --- # 동작을 보존하는 리팩토링 개선할 구체적인 문제와 보존할 계약을 먼저 확인한다. 새 추상화나 파일 분리 자체를 성과로 삼지 않는다. 1. 대상 경로, 유지보수 문제와 원하는 개선을 확인한다. 공개 API·저장 형식·오류·순서·부수 효과 중 보존할 동작을 읽고 기존 테스트를 기준선으로 삼는다. 2. 동작이 불명확한 중요한 경계에는 작은 특성 테스트나 비교 fixture를 만든다. 기존 테스트를 다시 쓰는 대신 실제 회귀를 구별할 수 있는 검증을 선택한다. 3. 호출 관계와 소유권에 맞춰 필요한 구조만 바꾼다. 새 기능, 의존성 업그레이드와 대규모 포맷 변경을 섞지 않는다. 4. 같은 입력에 대한 결과·오류·부수 효과가 유지되는지 전후로 비교하고 필수 검사를 실행한다. 성능 개선도 요청됐다면 같은 환경·입력의 기준선과 변경 후 수치를 비교한다. 5. 발견한 기존 버그가 범위 밖이면 별도로 알린다. 고친다면 동작 변화와 그 근거를 명시해 리팩토링에 숨기지 않는다. 파일 작업은 제공된 실행 도구에서 수행한다. Agent Studio에서는 `workspace-task`를 통해 기존 공간을 유지하고 코딩 Runtime에 변경할 구조와 보존할 계약·검사를 전달한다. 실행 도구가 없으면 변경 제안과 검증 한계를 설명한다. 결과에는 개선한 구조, 유지한 계약과 확인한 동등성 검증을 담는다. 사용자가 허가한 Git 게시만 `prepare_git`의 승인 경로로 수행한다. native Git 메타데이터를 바꾸거나 사용자 변경을 되돌리지 않는다.