본문으로 바로가기
리옵트 핸드북
리옵트 핸드북
하네스 엔지니어링

문제 설정·구조

하네스 엔지니어링의 기초Repo-readable 시스템하네스의 5요소하네스의 기술 메커니즘

검증·해석

검증 루프 설계외부 사례 비교

사례별 도입

사례: OpenAI사례: Anthropic사례: Toss사례: gstack사례: revfactory/harness

도메인별 적용

도메인별 적용 지도시나리오: 프론트엔드 팀시나리오: 플랫폼 팀시나리오: 결제·정산 팀시나리오: AI 제품 팀왜 결국 자기 하네스로 가는가

도입·운영

팀 하네스 배포 전략팀 하네스 설계 체크리스트운영: 엔트로피와 가비지 컬렉션

부록

검증 리포트업데이트 내역
핸드북›하네스 엔지니어링›시나리오: 플랫폼 팀
한국어English

시나리오: 플랫폼 팀

플랫폼 팀에서 하네스가 아키텍처 불변식, 릴리즈 게이트, 영향 반경 관리 시스템으로 작동하는 방식을 설명합니다.

핵심 요약

  • 플랫폼 하네스는 "더 빨리 고치기"가 아니라 "덜 위험하게 바꾸기", 곧 dependency·blast-radius 관리를 시스템으로 만듭니다.
  • invariants 문서, impact analysis, release gate, contract/smoke check가 load-bearing 요소입니다.
  • 공통 모듈 변경은 영향받는 팀·서비스를 먼저 식별하는 impact-analysis.md를 필수 산출물로 강제합니다.
  • release gate는 lint·typecheck·affected build·contract smoke를 요구하고 auth 경계·공유 패키지·CI/CD 규칙 변경은 human_gate로 둡니다.
  • 30일 도입은 impact-analysis 표준화, invariants.md 분리, release gate에 rollback plan 필수화 순으로 진행합니다.

플랫폼 팀의 하네스는 생산성보다 실패 반경 제어를 먼저 다룹니다. 공통 모듈, 빌드 파이프라인, 인증, 배포 규칙은 한 번 잘못 바뀌면 여러 팀으로 번집니다.

문제 구조

  • 작은 변경이 여러 서비스로 전파됨
  • 공통 모듈 변경 영향 범위를 즉시 파악하기 어려움
  • release 규칙이 암묵적이라 긴급 변경 때 우회가 생김
  • 아키텍처 불변식이 사람 리뷰에만 의존함

load-bearing 하네스 요소

요소왜 중요한가
invariants 문서공유 경계와 금지 규칙을 명시
impact analysis어느 팀/서비스가 영향 받는지 조기 식별
release gate배포 가능한 상태와 구현 완료를 분리
contract / smoke checks공유 변경의 회귀를 조기 감지

권장 루프

아티팩트 구조 예시

architecture.md
invariants.md
release-rules.md
shared-boundaries.md
impact-analysis.md
release-gate.yaml
rollback-plan.md

release gate 예시

platform_change:
  required_checks:
    - "lint"
    - "typecheck"
    - "affected build"
    - "contract smoke"
  must_document:
    - "impact analysis"
    - "rollback plan"
  human_gate:
    - "auth boundary change"
    - "shared package major behavior change"
    - "CI/CD pipeline rule change"

왜 이게 엔지니어링인가

플랫폼 하네스는 사실상 dependency and blast-radius management입니다.

  • 어떤 경계가 깨지면 안 되는지 정의합니다.
  • 변경의 영향 범위를 먼저 계산합니다.
  • 구현보다 release gate를 더 중요하게 둡니다.
  • rollback 가능성을 작업 초기에 포함합니다.

플랫폼 팀 하네스는 "더 빨리 고치기"보다 덜 위험하게 바꾸기를 시스템으로 만듭니다.

자주 망하는 패턴

실패 패턴하네스로 막는 방식
shared package를 안전하다고 가정impact analysis를 필수 산출물로 강제
build 통과만으로 mergecontract/smoke/release gate 분리
rollback 계획 없는 변경rollback-plan.md를 필수화
아키텍처 불변식이 리뷰어 머릿속에만 존재invariants.md로 외재화

30일 도입 순서

  1. 공통 모듈과 인프라 변경에 대해 impact-analysis.md를 표준화한다.
  2. invariants.md를 만들어 "바뀌면 안 되는 것"을 분리한다.
  3. release gate에서 affected build + contract smoke + rollback plan을 필수화한다.

먼저 연결해서 볼 장

  • /books/harness-engineering/case-openai
  • /books/harness-engineering/case-toss
  • /books/harness-engineering/case-gstack

관련 문서

도메인별 적용 지도

프론트엔드 팀, 플랫폼 팀, 결제·정산 팀, AI 제품 팀이 하네스를 어떻게 다르게 설계해야 하는지 안내합니다.

시나리오: 결제·정산 팀

결제·정산 도메인에서 하네스가 승인, 정합성 검증, 감사 추적, rollback 시스템으로 작동하는 방식을 설명합니다.

테스트 하네스 엔지니어링

에이전틱 테스트 환경 엔지니어링 · 테스트 코드를 넘어 환경 제어, 증거 수집, 재현성, agent repair boundary를 묶는 테스트 하네스 설계 원칙과 패키지 구조

실행 패브릭과 오케스트레이션

에이전틱 테스트 환경 엔지니어링 · PR, main, nightly, release, canary, agent-repair 루프를 어떤 시간 예산과 증거 정책으로 운영할지 설명합니다.

테스트 포트폴리오 운영 모델

에이전틱 테스트 환경 엔지니어링 · 어떤 시나리오를 browser, API, workflow, canary probe로 나누고 어느 tier를 게이트에 올릴지 정하는 운영 표준

시나리오: 프론트엔드 팀

UI 팀에서 하네스가 어떻게 브라우저 QA, 접근성, 디자인 규칙을 엔지니어링 시스템으로 만드는지 설명합니다.

시나리오: 결제·정산 팀

결제·정산 도메인에서 하네스가 승인, 정합성 검증, 감사 추적, rollback 시스템으로 작동하는 방식을 설명합니다.

On this page

문제 구조load-bearing 하네스 요소권장 루프아티팩트 구조 예시release gate 예시왜 이게 엔지니어링인가자주 망하는 패턴30일 도입 순서먼저 연결해서 볼 장