← 목록
기타 2026-06-25 4KB 읽기 4분

게이트웨이 자체개선 도구 — 4티어 Quadcode + 4상 의사결정 루프

개요

게이트웨이(4개월 70+ 문서, 수십~백 회 개선)를 위한 자체개선 도구를 구현·적용. docs 스크리닝→4티어 분류 + 4상균형3진 의사결정 커밋 루프(트러블→개선→제한점 선체크→테스트→좋으면 적용·기존코드 레거시→반복).

4티어 (Quadcode, KPS 철학)

  • T4 헌법(불변·참조만, 자동개선 금지=음): 운영표준 6규칙·자율안정화규약·SSOT=gateway.yaml·4상헬스정의·한선씨우선
  • T3 규칙(검증·제안→승인): 게이트웨이규칙.psv(238)·셀코어룰(209)·Shield시그니처·cert lineage·4상판정
  • T2 플랫폼(신중·광역회귀 게이트): stunnel·crownyc opcode·start.sh·launchd·hanseonc
  • T1 개발(루프 본진): 게이트웨이통합.한선 핫패스·미배선lib·최적화 백로그·gw doctor

4상 의사결정 커밋 (게이트웨이진화.한선)

  • : 컴파일+패리티 OK·회귀0·제한점0 → 적용(기존→legacy). 라이브스왑이면 승인 후.
  • : 미해결 제한점>0 → 추가 연구/테스트 후 재판정
  • : 컴파일실패/패리티실패/회귀>0 → 거부, 현행 보존
  • : 헌법(T4) 위반 or 라이브스왑 필요 → 사용자 이관

도구 (gw evolve)

  • 게이트웨이진화.한선 — 4상 판정 코어(환경변수 입력, 8/8 분기 검증)
  • 게이트웨이진화.sh — 루프 엔진. gw evolve {tier|start|precheck|test|decide|apply|reject|log|status}
  • 흐름: start(베이스라인 스냅샷)→편집→precheck(반복트러블 8패턴 대비 신규함정)→test(그림자8081 컴파일/패리티/회귀)→decide(4상)→apply(legacy+컷오버승인+hub커밋)|reject(revert)
  • 데이터: 진화/티어맵.psv·precheck체크리스트.psv(8패턴)·진화로그.psv·legacy/·기준/

반복 트러블 8패턴 (precheck)

전역503 wedge·cert/SNI 슬레이브누락·char/byte혼동·JS회귀좀비·워치독경쟁503맹점·메모리마커경계·fork폭풍셸아웃·헬스오버게이팅SSOT드리프트

첫 사이클 (실증)

C1 포함>=0 하드닝 + 건강.한선 4상통일 → precheck 깨끗(제한점0) → test 그림자8081 컴파일OK·패리티200/200·회귀0 → decide 티 → apply(legacy 백업) → 컷오버(gw restart) → 라이브 발효(crowny.org 200·shield 403·단일인스턴스).

관련 파일

  • /Users/ef/crowny-gateway/한선게이트웨이/게이트웨이진화.{한선,sh}
  • /Users/ef/crowny-gateway/진화/ (티어맵·체크리스트·로그·legacy·기준)
  • gw CLI: gw evolve 배선

잔여

  • precheck는 휴리스틱(신규 함정 grep). 깊은 분석(메모리마커 경계 등)은 수동 검토 병행.
  • 백로그(루프로 처리 예정): opcode297 배선·A1 정적cat제거·4상프록시·WS타임아웃.

추가 사이클 (2026-06-27): C3 + B-1 + WS 테스트 훅

C3 WS 동결방지 (옴→티)

  • 버그: 소켓받기(업소켓) upstream 소켓 recv 타임아웃 없음 → 침묵 WS백엔드 1개가 단일스레드 게이트웨이(84도메인) 영구 동결.
  • 수정: 소켓폴링(업소켓, 5000) 선폴 → 준비>0 받기 / 0(5s침묵)·에러 종료. libs/게이트웨이웹소켓코어.한선.
  • 검증(통제 백엔드): 침묵→소켓폴링 5s후 0(무한블록 아님) + 릴레이→에코 프레임 수신. 2/2 PASS.
  • 도구 훅 gw evolve wstest 추가(진화/wstest/) — WS 변경 재사용 검증.

B-1 4상 프록시 가시화 (티)

  • (3)503 → Ta: 503 + Retry-After:30 + X-Gateway-Phase:Ta. (5)404 → Um: X-Gateway-Phase:Um. 정상→Ti 200.
  • 무상태·무로직(헤더만) — 메모리마커 wedge 위험 회피. per-host 상태형(Om 열화·hung 빠른실패)은 메모리마커 경계 작업으로 별도 옴.
  • 검증(실 죽은백엔드 premium.crowny.org): Ta=503+Retry-After+Phase, Um=404+Phase, Ti=200. 라이브 발효.

단일 컷오버

C3(lib arm) + B-1(통합.한선) → 한 번 gw restart(반복 kickstart 회피). 라이브: 단일인스턴스·4상티·정적200·shield403·https200.

진화로그 4사이클: C1+건강(티) · A1(티) · C3(옴→티) · B-1(티)