크라우니게이트웨이 AI 통합 v2 — 설계 SSOT + 기능 매트릭스 (Phase 0 동결)
두 병렬 구현(다른 세션 v1.0 + 트랙B)을 참고해 신규 통합 v2를 구축한다. 본질이 같아(4상균형3진 + 머클 블록체인 + 라이브 무접촉) 통합이 안전하다.
두 설계 비교 + 통합 채택
| 항목 | 다른 세션 v1.0 | 트랙 B | 통합 v2 채택 |
|---|---|---|---|
| 4상 명명 | Ti/Om/Ta/Eu | 티/옴/타/음 | 티/옴/타/음 (한선씨 정본, Eu→음) |
| 4상 의미 | 정상유지/관찰/차단우회/장애조치 | 정상유지/관찰+경고/503+복구/재기동 | 통합: 티=유지 / 옴=경고헤더+관찰 / 타=503+5초복구프로브 / 음=연속타≥3 재기동 |
| 관측 대상 | 22 업스트림 | 3 (9878/9907/8081) | gateway.yaml 자동로드(전체) |
| AI API | :9158 (/ /services /chain /health) | 없음 | :9158 채택 |
| 체인 포맷 | ndjson (h/prev/root/hash/ts/cycle/ti/om/ta/eu/obs) | pipe .dat | ndjson 정본 + 트랙B 필드 보강 |
| 머클/검증 | root+hash | 3중 검증(블록해시+머클루트+이전해시) | 3중 검증 채택 |
| 복원 | state.dat | head.txt + state.jrnl | 둘 통합(state.dat 호환 + journal) |
| 안전장치 | (능동) | 드라이런 GWAI_ACT | 드라이런 우선 채택 |
| 데몬/설치 | ai.pid/ai.log | 데몬+기동.sh+launchd | 트랙B 골격 + ndjson/API 흡수 |
통합 v2 아키텍처
관측(Observe) ─ gateway.yaml 전체 업스트림 /api/health(폴백 /) GET
↓
결정(Decide) ─ 4상균형3진 (티 유지 / 옴 경고 / 타 503+복구프로브 / 음 재기동)
↓
조치(Act) ─ 드라이런 기본(권고만). GWAI_ACT=1 시 음=게이트웨이재기동.sh 실행
↓
기록(Chain) ─ ndjson 블록 append-only + 3중 머클검증 + head/journal 복원
↓
공개(API :9158) ─ / /services /chain /health (상태·체인·서비스 헬스 노출)
불변 제약 (전 단계)
- 라이브 게이트웨이(gwlive :8443/8080, 게이트웨이통합.한선) · gateway.yaml 무접촉.
- 드라이런 우선. 실제 조치(음=재기동)는 GWAI_ACT=1 단계적 활성화.
- 한선씨 정본. 라이브러리 의존 최소. CRLF/맵인덱스/파일존재/글로벌배열 함정 회피.
기능 매트릭스 체크리스트 (Phase 2 전환 게이트)
v2가 두 기존 구현의 모든 기능을 커버하는지 항목별 검증:- 4상 결정(티/옴/타/음) 정확
- gateway.yaml 전체 업스트림 자동 관측 (≥22)
- /api/health 폴백 / GET
- ndjson 체인 append + 제네시스→block 연결
- 3중 머클검증 (변조 감지 음수)
- head/journal + state.dat 복원
- 드라이런 기본 + GWAI_ACT 실조치
- AI API :9158 (/ /services /chain /health)
- 데몬 무한루프 + launchd 무중단
- 음=게이트웨이재기동.sh 트리거 (활성 시)
Phase 3 연합 (예고) — 고정IP + 블록체인 백업
- 고정IP 노드 = 연합 앵커(dns-switch.sh crowny <IP>). 위치별 게이트웨이AI 노드가 합류.
- 각 노드가 서비스목록/헬스/라우트를 서명 블록으로 체인 앵커 → 앵커가 수용·통합 라우팅.
- 백업/페일오버: 노드 상태·설정 체인+스냅샷, 장애 시 인계(피어.한선 + chain-anchor 재사용).
완료 (2026-06-10) — Phase 0~3 전부 구현·검증
산출 파일 (/Users/ef/crowny-gateway/한선게이트웨이/):
크라우니게이트웨이AI.한선(32KB) — v2 라이브러리: gateway.yaml 157업스트림 자동·병렬관측(2.5s), 게이트웨이자체건강 기반 음(재기동) 분리, ndjson+state.dat+pipe체인+3중머클, head/journal 복원, 드라이런크라우니게이트웨이AI데몬.한선/크라우니게이트웨이AI검증.한선— 가져오기 진입점(단일소스, 드리프트0)크라우니게이트웨이AI_API.한선— :9158 읽기전용 API (/ /health /chain /state /services, CRLF 정상)크라우니게이트웨이연합.한선(12KB) — Phase 3: 노드 블록체인 등록, 연합 라우트 집계, 장애노드 제외(페일오버), 변조감지, 스냅샷크라우니게이트웨이AI기동.sh— verify/start/start-act/stop/status/chain/fedcom.crowny.gateway-ai.plist— launchd 무중단 초안
- 단위검증: 4상결정·머클체인3블록·변조감지(-3)·상태복원
- 실틱: 게이트웨이=T, 157업스트림 병렬(T31/A94), 결정=옴(개별다운에 재기동 안 함=안전), ndjson obs=157
- 라이프사이클: verify→start(데몬+API)→status→API라이브→stop, :9158 CRLF strict통과
- 연합: 노드등록3, 체인검증3 PASS, 변조-1 PASS, 라우트2채택(장애노드 제외) PASS
메인세션 인수인계 (라이브 적용):
bash 크라우니게이트웨이AI기동.sh start— 드라이런 데몬+API. 며칠 섀도 관측 후start-act(GWAI_ACT=1)로 음(재기동) 활성 — 옴→타→음 순으로 점진- plist 를 ~/Library/LaunchAgents/ 복사+bootstrap 시 무중단
- Phase 3 연합: 원격 노드가
노드등록()호출(또는 API 등록 엔드포인트 추가) → 고정IP 앵커가 수용. dns-switch.sh crowny <고정IP> 로 앵커 고정.