NAS 엔진 릴레이 복구 계약 보강

This commit is contained in:
Yun Chan 2026-08-12 15:53:22 +09:00
parent b5f44fe1cb
commit 946661926b
8 changed files with 930 additions and 73 deletions

View file

@ -32,6 +32,20 @@ AI provider는 모두 호스트 엔진 게이트웨이 뒤에 둔다. 게이트
> 호스트 게이트웨이는 `apps/api/engine_gateway/`에 있으며 컨테이너 밖에서 실행한다. Claude CLI는 상주 멀티턴 풀을, Codex/Agy는 각 CLI를, `claude_api`는 Anthropic API를 호출한다. 관리자 UI의 모델 목록은 이 게이트웨이의 `GET /v1/capabilities`가 소유한다.
### 2.1 NAS preview 원격 엔진 relay
NAS preview가 Windows 호스트의 엔진을 소비할 때는 `scripts/start-nas-preview-engine.ps1`만 쓴다. 이 경로는
기본 loopback이며, LAN 주소는 `-ConfirmNasPreviewLanExposure`를 명시한 경우에만 허용한다. 실행 source는
detached-clean HEAD/tree, launcher·Python·env SHA-256, NAS가 소비할 정확한 `ENGINE_URL`에 결속한다. 기존
listener 재사용, wildcard bind, source 내부 runtime/receipt, reparse-point 경로, readiness 실패는 모두
fail-closed다. 실제 provider 생성은 `/ready?force=true`로 정확히 한 번 확인하고, 실패하면 이번 실행이 소유한
PID/listener만 정리한다.
먼저 `-CheckOnly``mutation=false` 영수증을 확인한다. 실제 시작은 별도 승인 뒤 외부 runtime-state/receipt
디렉터리를 미리 만들고 같은 인자로 `-CheckOnly`만 제거해 단 한 번 실행한다. 비밀값은 명령행·stdout·receipt에
기록하지 않는다. 성공 뒤 NAS origin의 health 3회, `/auth/me` 401, OpenAPI·asset, 실제 회기 turn→review를 다시
통과하기 전에는 preview를 GREEN으로 표시하지 않는다.
## 3. 환경변수 (.env)
| 변수 | 설명 |