# Web 무패치 시나리오 시연 배포

Last reviewed: 2026-11-01 10:27:49 KST.
Owner: Contextra AI의 시나리오 호환·현장 적용 절차. 상태: `ICERTI R5 DEPLOYED / USER WEB VIDEO ISSUE DEFERRED`.
실제 실행 이력은 [Runtime Lifecycle](../profiles/ltb1021/topics/runtime-lifecycle/README.ko.md)의 timestamp 기록이 소유한다. 이 가이드는 운영 적용 완료 증거가 아니다.

## 목적과 역할

검토 영상으로 수용한 고정 시나리오 후보를 기존 Web 수정 없이 AI 설치본에 연결하고, 사용자가 브라우저로 확인하는 절차다. 싸움 다음에 쓰러짐을 개선할 때도 절차를 재사용하되, 엔진·규칙·score·Event 기대는 시나리오마다 별도 확정한다.

- Codex: 실제 소스/설정/배포 기준 확인, 호환 adapter, 승인된 AI 반영, bounded 기술 확인, 재현·복귀 기록.
- 사용자: Web Start/Stop·시각 평가·시연 수용 판단. Web 동료의 패치는 선행 필수가 아니다.
- 실제 배포 요청 전에는 source/문서 합의와 운영 반영을 구분한다. AI가 임의로 시험 채널을 자동 Start하지 않는다.
- Web DB의 Start 상태로부터 정상 재요청이 유입되는 것은 별개다. 유지보수 뒤 이를 AI의 자발적 Start나 회수 실패로 오인하지 않는다.

## 현재 싸움 적용 합의

- 기준: 고정 R5 통합 source `458d5ead4e1e54e7e39c15f72a9ef5206fa768ed`. [Web 설정 계약](../integration/FIGHT_R5_WEB_CONFIG.ko.md), [격리 검증](../profiles/ltb1021/topics/runtime-lifecycle/run/20261031T103126+0900-run-fight-r5-runtime-integration.md).
- 아이서티는 특정 채널만 고르는 시험이 아니라 **기존28채널과 신규 Web 등록 template의 FIGHT 기본 엔진을 R5**로 반영했다. 기존 등록·저장 채널, 신규 등록 및 반복 Start·재기동 후에도 같은 정책을 유지한다.
- 공용 source는 채널별 private `fight.engine` 선택이며 미지정은 legacy다. 아이서티의 저장 채널과 신규 template/default에 R5를 명시해 정합화했고 다른 설치본의 fallback은 바꾸지 않았다. 별도 수동 설정을 작성할 때도 이 명시적 선택 계약을 따른다.
- 기존 legacy 저장값을 이번 전환의 자동 예외로 남기지 않는다. legacy 선택 경로는 명시적 비상 복귀용으로 보존한다. 구현 방법과 exact 파일은 현장 baseline 확인 후 잠근다.
- 전체 R5는 모든 채널을 강제 Start하거나 FIGHT를 강제 On하는 의미가 아니다. Web의 On/Off·ROI·공통 cooldown을 유지하며, 다른 시나리오·test·101·청계산·SSIMS에는 기본값 변경을 전파하지 않는다.
- R5 조건은 고정한다. 사람0.25·관절0.10 하한, 구형 동작 필드 무시, 버전1 설정의 생략/오류/실효값 정책과 실시간 빨강 표시를 유지한다.

## 반복 Start를 고려한 반영

Web은 DB가 Start인 채널에 주기적으로 Start를 재전송한다는 사용자 설명이다. 약1초는 참고값이며 이번에 실제 주기를 측정하거나 Web 코드를 수정한 사실이 아니다. 상세 계약은 [SECURE_REST_BRIDGE](../integration/SECURE_REST_BRIDGE.ko.md#web-desired-state-재전송과-유지보수)를 따른다.

1. 저장된 Web 의도와 AI의 현재 실행을 구분한다. AI Stop만으로 Web DB가 Stop으로 바뀌지 않는다.
2. 준비 중의 반복 요청으로 구형 engine 선택이 다시 저장되거나 승인하지 않은 mixed source/config가 실행되지 않도록 실제 ingress·저장·기동 순서를 정한다.
3. 무유입 구간이 필요하면 exact 요청에서 허용된 Gateway 중지 또는 사용자 Web Stop을 사용한다. Web DB/재요청 주기를 임의 변경하거나 임시 우회 경로를 만들지 않는다.
4. source·지속 default·기존 설정을 정합화한 뒤 정상 유입을 복구한다. 재유입 Start는 새 R5 설정을 유지해야 하며, 같은 실효 입력은 불필요한 restart나 run 교체를 만들지 않아야 한다.
5. 입력 URI·시간 anchor·ROI 등 실제 변경은 단순 중복과 구분한다. 모든 Start를 내용과 관계없이 무시하는 식으로 처리하지 않는다.
6. 복구 후 Web에서 재시작된 허용 채널을 반복 Stop하지 않는다. 사용자가 수동 시험을 맡은 이후 Codex가 별도 Start/Stop을 대신하지 않는다.

## 배포 전·실행·수용

| 단계 | 해야 할 일 | 완료 기준 |
| --- | --- | --- |
| 후보 고정 | 사용자 시각 수용 범위, 코드·규칙·설정 지문 연결 | 샘플 수용과 라이브 일반화를 구분 |
| 실제 baseline | branch/source/image/transaction, mount·model·설정·ct와 현장 Start 모드 확인 | 다른 세대의 source를 섞지 않음 |
| 호환 묶음 | 현장 image 기반 필요한 최소 일관된 패치 준비 | 최신 branch 전체 이식·모델 재변환·다중 ROI 전환을 끼워 넣지 않음 |
| 복귀 준비 | 이전 source/image·persistent default·채널 설정 snapshot과 CAS 보존 | 원래 실효값까지 돌아갈 방법 확보 |
| 반영 | 승인된 Contextra 컨테이너만 교체·필요한 설정 정합화 | 같은 컨테이너의 다른 채널 일시 중단 가능성을 승인 범위로 취급 |
| AI 준비 | source/config 반영과 process readiness·오류 여부 확인 | 사용자 브라우저 검토 단계로 넘길 준비 완료 |
| 사용자 시험 | 기존 Web 요청·표시·실제 알람·썸네일·클립 확인 | 사용자 피드백과 bounded 로그로 수용/잔여사항 분리 |
| 마감 | 최종 persistent 상태·운영 상태·복귀 지점 기록 | 임시값과 자동복구를 남기지 않고 다음 반복에 재사용 가능 |

현재 승인 방향은 아이서티 AI/Web을 시험 대상으로 사용하고 실제 Event 전송·썸네일/클립 저장·브라우저 알람까지 확인하는 것이다. 별도 mock POST, 과거 Event 재전송, 알람 수 증대를 위한 cooldown 변경은 포함하지 않는다. 기존 인증·목적지·보관 정책은 유지한다.

정상 수용 시 R5 배포와 기본 설정은 유지하고 채널 실행 여부는 사용자가 결정한다. 실패하면 영향·원인·복귀안을 보고한다. 승인 없는 자동 rollback·재Start는 하지 않는다. Web의 정상 재요청에 따른 실행과 Codex의 제어 호출은 기록에서 구분한다.

## 최소 검증

- **필수 1 / 설정·반복 요청:** 구형 Web, 기존/신규 채널, 재기동 후 R5 실효값, 생략/score 하한/오류/no-op를 확인한다. 변경 없는 규칙은 기존 cache 검증을 재사용하고 설정 연결 변경에 필요한 검사만 추가한다.
- **필수 2 / 출력·알람:** 실제 기여 객체와1초 유지의 빨강, 미관측 해제, Event 중복 억제, 실제 알람/썸네일/클립을 확인한다. 짧은 처리 상태 확인을 장시간10FPS 보장으로 확대하지 않는다.
- **권장:** 비싸움 비교자료 한 개의 짧은 수동 확인. 사용자가 허용한 채널만 시험하며 정오탐은 사용자가 판단한다.
- **보류:** 장시간·자연 장면 일반화, 비대상 서버 반영, 새 Web 설정 UI 패치, 다른 시나리오 동시 개선.

## 실제 실행 뒤 남길 항목

배포 전에 기존 ERROR가 발견되고 사용자가 조사를 요청하면 상태 리셋보다 근거 보존을 먼저 한다. 원본은 승인된 서버의 제한 폴더에, 동료용 자료는 마스킹본으로 분리한다. 채널/run/generation·최초 오류·최종 상태·요청/응답을 연결하고 원인 확인과 책임 추정을 구분한다. [6채널 사례](../profiles/ltb1021/topics/runtime-lifecycle/analysis/20261101T101310+0900-analysis-icerti-six-channel-errors.md)는 첫 보존 사례이며, R5가 입력 경로 오류까지 해결한다고 표현하지 않는다.

하나의 새 timestamp 실행 기록에 대상 서버·source/image·patch manifest, 원래/최종 persistent 설정 지문, 실제 명령 또는 재실행 helper, 작업 순서, 중단·유입 복구, 사용자 시험 결과, rollback 절차를 연결한다. 원문 secret·인증 URL은 기록하지 않는다. 별도 확인 없이 복붙 재실행할 수 있다는 의미는 아니며 매번 actual baseline과 CAS를 다시 확인한다.

첫 실제 적용의 명령/helper·지문·설정 전환·복귀 기준은 [R5 배포 기록](../profiles/ltb1021/topics/runtime-lifecycle/run/20261101T102749+0900-run-icerti-r5-deployment.md)에 연결했다. 사용자 영상 표시 문제는 별도 보류이며 이번 절차로 Web 수용까지 완료했다고 주장하지 않는다. 쓰러짐 개선 시 이 가이드와 새 고정 후보·검토 결과를 함께 지정하고, R5 수치나 싸움 규칙을 쓰러짐에 자동 복제하지 않는다.
