vignette/docs/ops/evidence/nas-relay-recovery-2026-08-18.json
Yun Chan 6a42063d49 NAS 엔진 릴레이 실제 시작 성공과 15:05 게이트 재검증 결과 기록
- 릴레이 실제 1회 시작 passed(4종 SHA pin, ready 실생 통과, PID 65328) 후
  LAN 한정 9100 방화벽 규칙 추가(Private 프로필 누락이 transport error 원인)로
  NAS origin health 3/3 ok·engine true, auth 401, OpenAPI 126 실측 — 8-12 이후 첫 회복
- 직렬 게이트 재실행 31/14/12did-not-run 실패를 정직 기록: 스윕 91건 협폭 레이아웃 결함
  보고(아침 연쇄 중단으로 미실행이던 테스트) + 스택·데이터 드리프트 의심 실패군,
  교사 재평가 2건 미실행 — pending 유지, 원인 조사 이관
- 대시보드 211차 노트, TODO NAS 항목 갱신, SSOT 체커 59 PASS
2026-08-18 15:45:06 +09:00

52 lines
3 KiB
JSON

{
"schema": "vignette.nas-relay-recovery.v1",
"captured_at": "2026-08-18T15:48:00+09:00",
"owner_approval": "2026-08-18 소유자 지시로 남은 작업 3순위로 'NAS 엔진 릴레이 복구(start-nas-preview-engine.ps1 -CheckOnly → 실제 1회 시작 → NAS health/auth/OpenAPI 재검증)'를 명시해 마무리를 지시함. LAN 노출(192.168.0.223:9100)은 중단 세션에서 명시 승인 완료. 방화벽 규칙 추가(관리자 승격)는 실행 시점 소유자 UAC 승인.",
"checkonly": {
"status": "preflight_passed",
"mutation": false,
"receipt_path": "D:\\workspace\\nas-relay-state\\receipt-checkonly-20260818.json",
"binding": {
"source_commit": "4771b97c3a9a4c52349f8a6a55a08a3ce0a5c880",
"source_tree": "286723de877ed950c36656d5598fdf2d57c861fa",
"launcher_sha256": "492d8b5c4ba21d1463c9a937ac2949f0a6d3725f6f37786f14dd5aac419fb27c",
"python_sha256": "5f7b89a612c9b8af1d6456cdfcd1dbe5ca630849e79aebced9bee9a6694952ec",
"env_sha256": "312afcb50c11be16d90fa6ad79c0b416f9d65c4877c06aeafd436260f18c18ec",
"listen_address": "192.168.0.223",
"port": 9100,
"consumer_engine_url": "http://192.168.0.223:9100",
"secret_value_emitted": false
}
},
"nas_consumer_contract_observed": {
"engine_url": "http://192.168.0.223:9100",
"engine_mode": "claude_cli",
"source": "docker inspect vignette-preview-20260807 api 컨테이너 환경(2026-08-18 실측)"
},
"actual_start": {
"status": "passed",
"started_at": "2026-08-18T06:25:35Z (15:25:35 KST)",
"receipt_path": "D:\\workspace\\nas-relay-state\\receipt-actual-20260818.json",
"pid": 65328,
"checks": {
"source_detached_clean": true,
"port_previously_unused": true,
"listener_owner_matches": true,
"liveness_ok": true,
"generation_ready": true
},
"notes": "엔진 구독 한도(15:00 KST) 리셋 직후 15:05 자동화가 실행했다. ready?force=true 실생 1회 통과."
},
"firewall_fix": {
"problem": "NAS→릴레이 TCP 연결 타임아웃(transport error). 릴레이의 Python311 인바운드 허용 규칙이 Public 프로필뿐이었고 이더넷 네트워크는 Private.",
"fix": "인바운드 TCP 9100 허용 규칙 추가 — LocalAddress 192.168.0.223, RemoteAddress 192.168.0.0/24, Profile Private(소유자 UAC 승인). 규칙명 'Vignette NAS preview engine relay (9100 LAN)'."
},
"verification": {
"local_relay_health": "http://192.168.0.223:9100/health → {ok:true, engine:claude_cli}",
"nas_origin_health_3_consecutive": "http://100.116.83.60:8088/api/health → status=ok, db=true, engine=true, engine_detail=OK (3/3)",
"auth_me_status": 401,
"openapi_paths": 126,
"nas_to_relay_probe_from_nas": "SSH YunChan@100.116.83.60 → curl 192.168.0.223:9100/health → ok:true"
},
"remaining_for_full_current_green": "201차 계약의 actual-origin 실제 회기 turn→review smoke는 아직 실행 전 — health/auth/OpenAPI 회복만으로 current GREEN 표기하지 않는다."
}