minseok. 하네스 엔지니어링 포트폴리오로
문서 목차

EHR Harness Plugin"하네스 만들어줘" 한 마디의 설계도

Oracle 프로시저로 뒤엉킨 레거시 인사시스템(EHR)에서 AI 코딩 에이전트가 우리 방식대로만 일하도록: 규칙, 도메인 지식, 전문 스킬, 안전장치를 프로젝트마다 자동 생성하는 Claude Code 플러그인.

기술 문서 기준 v1.25.0 (2026-09-14) 배포 사내 GitLab 마켓플레이스 활용 2개 팀 30명 이상 (2026-09-05) 플랫폼 Claude Code / Codex / Gemini

2026-09-05 기준: 소속 팀 공식 개발방법론으로 채택됐으며, 이후에도 버전 업데이트를 진행하고 있습니다. AI TFT는 완료됐고 그 성과를 바탕으로 Claude Code 전사 도입이 결정됐습니다. 아래 기술 설명과 연혁은 v1.25.0(2026-09-14) 기준입니다.

2종
플러그인: EHR 범용 + 연말정산
2종
프로파일 EHR4, EHR5
~50
프로젝트당 자동 생성 파일
18종
차단 DB 접속 CLI
522
IBSheet API 레퍼런스 (v1.14)
0
테스트 실패: 훅, 리뷰 379케이스

하네스란

같은 요청, 다른 결과
BEFORE: 하네스 없는 AI
"휴가 신청 화면 만들어줘"
  • 학습데이터 기반의 일반적인 React + REST API 코드를 새로 발명
  • 회사 격리 없는 쿼리: 보안 결함
  • 개발자마다, 세션마다 다른 결과물
  • DB, 형상관리에 대한 통제 없음
AFTER: 하네스 적용
같은 요청
  • 기존 휴가 신청 화면을 복제 베이스로 선택: 그린필드 금지
  • 권한 법칙 판정 → 표준 매퍼, IBSheet JSP 생성
  • 셀프체크 14항목 통과 후 전달
  • 운영DB 접속, commit은 훅이 원천 차단: 커밋은 사람이

일관성은 모델 성능이 아니라 프로세스 설계에서 나온다. 하네스는 AI의 재량을 제거하고 검증된 기존 코드를 법으로 만드는 장치다: 팀원 누가, 어떤 AI 도구로 작업해도 같은 규칙이 강제된다.

설치와 사용

설치 2줄, 생성 한 마디
# 설치 (Claude Code 안에서, 최초 1회 : 사내 마켓플레이스 등록)
/plugin marketplace add <사내 GitLab 저장소>
/plugin install ehr-harness@ehr-harness

# 하네스 생성 (본인 EHR 프로젝트에서)
하네스 만들어줘          ← EHR4/EHR5 자동 감지 ,  프로젝트 실측 분석 ,  ~50파일 생성
연말정산 하네스 만들어줘   ← yjungsan 전용 플러그인

# 일상 사용 : 자연어면 됨
휴가 신청 화면 비슷하게 교육 신청 화면 만들어줘
급여계산 프로시저 호출 체인 추적해줘
이 수정이 어디 영향 가는지 분석해줘      ← Go / HOLD / STOP 판정
리뷰해줘                                 ← 요청 시 3레인 리뷰 ,  커밋 가부 판정
하네스 점검해줘                          ← drift 자동 감지, 보정 (audit)

프로젝트에 생성되는 것

프로젝트당 약 50파일
고객사-EHR-프로젝트/
├── AGENTS.md                 프로젝트 규칙 (모든 AI 플랫폼 공통 진입점) : 최상단 "⛔ DB 접근 절대 규칙"
├── CLAUDE.md ,  GEMINI.md     Claude Code / Gemini CLI 진입점
├── .claude/
│   ├── settings.json         보안 훅 등록 : 모든 터미널 명령이 훅을 거침
│   ├── hooks/ (12종)         DB 접근 제한 ,  커밋 차단 ,  삭제/비밀파일 가드 ,  리뷰 적립 ,  학습 캡처
│   ├── agents/ (4종)         화면 생성 ,  프로시저 추적 ,  릴리즈 검증 ,  DB 영향 검토
│   ├── commands/ehr/ (14종)  /ehr:plan ,  work ,  review ,  compound ,  db-connect ,  메뉴 등록 SQL
│   ├── skills/ (14종)        도메인 지식 ,  화면 빌더 ,  코드리뷰 ,  IBSheet API ,  테스트/매뉴얼 산출물 …
│   └── HARNESS.json          매니페스트 : 실측 스냅샷, 지식 이력 (drift 점검 기준)
├── .agents/ + .codex/        Codex 호환 : 1회 생성하면 팀원 누구나, 어떤 AI든 동일 규칙
└── .gitignore

하네스는 프로젝트 저장소에 커밋된다: 한 명이 생성하면 checkout 받는 팀원 전원이 같은 규칙을 공유하고, 고객사별 지식은 프로젝트 안에 격리되어 서로 섞이지 않는다.

#프로파일 2종: 프로젝트 유형 자동 감지

프로파일별 기술 스택과 특화 기능
프로파일 스택 특화
EHR4 Ant + Anyframe + Spring MVC Velocity 매퍼, 레거시 화면 패턴, 릴리즈 검증 B1~B7
EHR5 Maven + MyBatis + Spring Boot 동일 도메인, 스택별 코드 템플릿, 릴리즈 검증 B1~B11

표를 가로로 움직여 전체 내용을 확인할 수 있습니다.

클라우드 HR MSA용 workup 프로파일은 v1.20에서 분리했고, 별도 플러그인으로 다시 설계한다.

보안: DB 접근 정책

v1.16+, 3중 방어

기본은 무접속이다. AI는 운영DB에 어떤 경우에도 접속하지 않는다. 예외는 사용자가 개발DB라고 직접 확인해 등록한 대상 하나뿐이며, 이때도 전용 진입점으로 읽기 전용 SELECT만 실행한다(300행, 30초 제한, 감사 로그). 개발DB 여부는 자동 판별하지 않고, 등록이 없으면 담당자가 export한 폴더만 읽는다. 커밋, 푸시도 같은 방식으로 차단되어 최종 확정은 항상 사람이 한다.

AI 명령 시도sqlplus… / git commit PreToolUse 훅실행 직전 자동 개입 정규식 검문경로, 파이프 우회 포함 매치 차단 (exit 2)명령 실행 안 됨 + 대안 안내
보안 정책의 방어 레이어
레이어 내용
1층, 기술 DB CLI 18종(sqlplus, tbsql, mysql, sqlcmd, impdp…)과 JDBC 직접 접속 차단, DB 진입점은 전용 스크립트 하나(READ ONLY 트랜잭션 + SELECT 단일문 파서). 접속 설정은 write-once, 운영 마커는 쓰기/실행 모두 차단. git/svn 커밋, 푸시 차단. 우회 시나리오 자동 테스트 167케이스 상시 검증
2층, 규칙 AGENTS.md 최상단 "⛔ DB 접근" 절대 규칙: 훅이 적용되지 않는 Codex, Gemini까지 커버
3층, 인프라 개발DB 한정 + 망분리가 최종 보장: 훅, 규칙은 보조 안전망임을 명시

표를 가로로 움직여 전체 내용을 확인할 수 있습니다.

쓸수록 똑똑해진다: EHR Cycle

지식 누적 폐곡선
/ehr:plan영향도(권한 법칙, 치명 프로시저) 자동 포함 기술 계획 /ehr:work복제 기반 구현: DDL, 프로시저 초안까지 /ehr:review요청 시 코드리뷰 ∥ 릴리즈 검증 ∥ DB 영향: 3레인 리뷰 후 커밋 가부 판정 /ehr:compound세션에서 배운 사실, 패턴을 하네스에 회수

작업할수록 고객사별 노하우가 하네스 문서에 쌓인다. 일상 대화의 교정 신호는 자동 캡처(개인정보 7종 마스킹) → 주 1회 수확 → 사람 승인 후에만 반영. 소스가 많이 바뀌면 "하네스 점검해줘" 한 마디로 drift를 감지, 보정한다(audit). v1.14에서는 유료 그리드 솔루션 IBSheet의 API 522항목(메서드 322, 이벤트 67, 속성 133)을 개발자 가이드 PDF에서 인덱스화해, LLM 학습데이터가 없어 메서드명을 추측하던 문제까지 없앴다. v1.21부터 리뷰는 수정할 때마다 자동으로 돌지 않고 요청할 때만 실행하며, v1.23~v1.24에서 생성 하네스의 진입 파일과 반복 지침을 줄여 토큰 사용량을 낮췄다.

연말정산 전용 플러그인

yjungsan-harness

같은 저장소의 두 번째 플러그인. 매년 바뀌는 세법을 국세청, 법령센터 API에서 자동 수집해 코드, DB와 교차검증하고 (시즌 임박 14/30/60일 자동 알림), 버그 조사, 화면 수정, 프로시저 추적부터 패치 배포 5단계 자동화(zip → 메일 초안 → 가이드 → diff → 영향 고객사 식별)까지 커버한다. 고객사 29곳의 커스텀 패턴과 DB 객체 217개 카탈로그 내장: 커맨드 17개, 전문 에이전트 6개.

연혁

v1.9 → v1.25
v1.25.02026-09-14리뷰 신호 선택기 프로세스 절감: 전체 회귀 138초 → 92초, argv 초과 시 신호 누락 방지
v1.24.02026-09-11생성 하네스 경량화: 단순 요청은 직접 처리, 스킬을 진입 파일과 작업별 참조로 분리
v1.23.22026-09-11매퍼 SQL 주석 규칙 명시: EHR4 CDATA는 "--"만, EHR5는 "#" 주석 금지
v1.23.12026-09-11실제 갱신 결과 반영: 충돌 백업 경로 분리, .gitignore 전용 병합, 오탐 수정
v1.23.02026-09-11토큰 절약: 생성기 진입 파일 120KB → 1.8KB, /ehr:intent 선택 연결
v1.22.02026-08-27Stop 훅 등록 제거: 턴 종료마다 도는 훅 0개
v1.21.02026-08-27요청 기반 리뷰: 자동 실행 대신 요청 시 실행, 3레인 커버리지로 커밋 가부 판정
v1.20.02026-08-27EHR4/EHR5 전용으로 범위 단순화, workup 프로파일 분리
v1.19.02026-08-26리뷰 신호 로직을 실행 스크립트로 이동(fail-closed), Critical 정책 누락 5건 수정
v1.18.02026-08-26변경 파일에 걸리는 정책 항목만 부분 로드: 리뷰 컨텍스트 절감
v1.17.02026-08-25코드리뷰 게이트: 체크 항목 35개, 릴리스 전 다관점 리뷰 80건 반영
v1.16.02026-08-11DB 정책 개정: 운영DB 차단 유지, 사용자가 등록한 개발DB만 읽기 전용 조회
v1.15.02026-07-09보안 훅 5종 추가, PowerShell 우회 차단, 테스트 시나리오와 사용자매뉴얼 산출물 스킬
v1.14.02026-06-30IBSheet API 레퍼런스 522항목: 유료 솔루션 메서드명 추측 오류 근절
v1.13.22026-06-18AGENTS.md 최상단 "DB 접속 금지" 절대 규칙: Codex, Gemini 대비
v1.13.12026-06-18타 프로젝트 장애 보고서 교차점검 → DB CLI 탐지 빈틈 7종 선제 보강
v1.13.02026-06-18DB 무접속 정책: AI의 DB 직접 접속 전면 금지, export 폴더만
v1.12.02026-06-18DB 정책 1차 강화: 명세만 허용, 실데이터 행 조회 전면 차단
v1.11.02026-06-18workup 프로파일: 클라우드 HR MSA(멀티레포, Vue 혼재) 지원, 3-프로파일 체제
v1.10.32026-05-08외부 리뷰 반영 정합성 패치: PII 마스킹 7종 확장
v1.10.02026-04-25Self-evolving: 대화 캡처 → 수확 → 사람 승인 학습 파이프라인
v1.9.02026-04-18EHR Cycle: /ehr:* 커맨드 5종, 지식 누적 폐곡선 도입