패턴 요약

패턴 요약

이 문서는 마지막에 읽는다. 앞선 강제 문서들을 먼저 읽은 뒤, 전체를 한눈에 조망한다.


강제 구조 전체 지도

D2 diagram
---

강제 계층별 요약

빌드 타임 강제

환경도구차단하는 것
AtlasRoslyn Analyzer레이어 경계 위반, validator 누락, 실패 은닉
GlifESLint직접 컴포넌트 import, raw context, global fallback

특성: 가장 싸고, 즉각적이고, 일관됨. 코드 작성 시점에 피드백.

런타임 강제

패턴목적
Guard @ 진입점잘못된 입력이 내부로 진입하기 전 차단
Assertion전제 조건을 코드로 명시
Silent fallback 제거문제를 숨기지 않고 드러냄
Side-effect 전 검증되돌릴 수 없는 작업 전 반드시 검증

특성: 빌드 타임을 통과한 동적 우회를 처리. 최후의 방어선.

전이 통제

구성 요소역할
전이 허용 목록가능한 상태 이동을 명시적으로 정의
Private 상태 필드직접 변경 경로 차단
Transition 메서드유일한 합법 경로

특성: “값"이 아닌 “경로"로 상태를 다룸.

Planner 통제

구성 요소역할
Executor 숨기기직접 호출 경로 제거
단일 진입점 (dispatch)모든 실행을 Planner 경유 강제
실행 컨텍스트 검증Planner 외 호출 차단

특성: AI가 직접 실행을 선택할 수 없게 만듦.

테스트 하네스 강제

구성 요소역할
renderWithAppProviders 강제Provider 없는 렌더링 차단
상태 직접 설정 금지테스트도 동일한 전이 경로 사용
Planner 우회 금지테스트에서도 dispatch 경유

특성: 테스트가 우회 패턴의 정본이 되지 않게 막음.


하네스 패턴 → 강제 연결

하네스 패턴강제 방식문서
백엔드 레이어 우회Roslyn ATL001 + internal 키워드빌드 타임
검증 우회Roslyn ATL401/402 + Guard빌드 타임, 런타임
상태 변경 우회Transition 통제 + ESLint전이 통제
컴포넌트 레지스트리 우회ESLint no-restricted-imports빌드 타임
AI 실행 흐름 우회Planner 통제 + 실행 컨텍스트 검증Planner 통제
테스트 우회renderWithAppProviders 강제테스트 강제

적용 우선순위

모든 것을 한 번에 적용할 수 없다면, 이 순서로 시작한다.

  1. 가장 자주 발생하는 우회 경로 1개 를 먼저 닫는다
  2. 빌드 타임 규칙 1개 를 error로 설정한다
  3. CI gate 를 설정해서 빌드 실패가 merge를 막게 한다
  4. 점진적으로 커버리지를 넓힌다

완벽한 강제보다 일관된 강제가 더 중요하다.