N4darae/shrt
A contract-driven gRPC regression harness for AI coding agents, with human-approved baselines. Snapshot the valid call chains of an API so an agent can look one up instead of tracing for it. gRPC today, OpenAPI next
해결하는 문제
shrt는 RPC 체인을 사용하는 서비스를 위한 회귀 테스트 스위트를 생성하고 유지 관리하는 도구입니다. 수동으로 테스트 체인을 작성할 때 자주 놓치는 중요한 엣지 케이스(경계 조건이나 누락된 토큰 등) 문제를 해결합니다. "계약(contracts)"을 사용하여 테스트 체인을 자동으로 구성하고 서비스 동작이 시간이 지나도 일관되게 유지되는지 검증합니다.
작동 방식
이 도구는 사용 가능한 RPC의 기술자(descriptor)를 구축하고 계약 오버레이를 사용하여 예상 동작을 정의합니다. 다음 워크플로우를 따릅니다.
- 도출 (Derivation): 사용 가능한 RPC를 식별하고 계약을 사용하여 호출의 순서화된 체인을 계획하고 구성합니다.
- 실행 (Execution): 이러한 체인을 실행하고 결과를 기록합니다.
- 검증 (Verification): 현재 실행 결과를 "세이프 스팟(safe spots)"(이전에 승인된 성공적인 실행)과 비교하여 드리프트나 회귀를 탐지합니다.
- 게이팅 (Gating): CI 게이트 (
shrt gate)가 모든 체인을 실행하여 회귀, 간헐적 실패, 그리고 명시적으로 단언되지 않은 응답 필드의 변경 사항까지 확인합니다.
대상 사용자
RPC 기반 서비스의 안정성을 보장해야 하는 개발자 및 QA 엔지니어, 특히 Protocol Buffers (protos)를 사용하며 엄격하고 계약 기반의 회귀 테스트 접근 방식을 원하는 분들을 위해 설계되었습니다.
주요 특징
- 계약 기반 계획: 수동 스크립팅 대신 정의된 계약을 기반으로 테스트 체인을 자동으로 구성합니다.
- 세이프 스팟 검증: 사람이 승인한 "세이프 스팟"을 기준선으로 사용하여 응답 데이터의 모든 변경 사항(드리프트)을 탐지합니다.
- 자동화된 회귀 게이팅: 회귀, 간헐적 실패 및 의심스러운 RPC를 식별하는 CI 준비 게이트를 제공합니다.
- 체인 슬라이싱: 특정 실패를 재현하기 위해 최소한의 하위 체인을 생성하는 기능입니다.
- 엄격한 린팅: 서비스가 "충돌하지 않았는지"만 확인하는 테스트를 방지하기 위해 고품질 단언(assertion)을 강제합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트