feat: make LegacyParityApp playout live-only
This commit is contained in:
@@ -8,9 +8,8 @@
|
||||
확인할 수 없으면 시작하지 말고 [운영·비지정 환경 승인 게이트](PLAYOUT_OPERATIONS.md#운영비지정-환경-승인-게이트)를
|
||||
적용한다.
|
||||
|
||||
이 절차가 여는 Live 경로는 `Debug|x64`의
|
||||
`MBN_STOCK_WEBVIEW.LegacyParityApp - Development Live (Package)` 한 프로세스에만
|
||||
유효하다. `Release`와 일반 설치본의 기본 모드는 계속 `DryRun`이다. Release를 Live로 바꾸거나
|
||||
이 절차가 여는 Live 경로는 지정 개발 PC의 `Debug|x64`와 `Release|x64`
|
||||
`MBN_STOCK_WEBVIEW.LegacyParityApp - Development Live (Package)`에 유효하다.
|
||||
사용자·시스템 환경 변수에 Live 승인을 영구 저장하지 않는다.
|
||||
|
||||
## Git 밖에서 확인하거나 준비할 항목
|
||||
@@ -57,8 +56,8 @@ PowerShell 명령은 필요 없다.
|
||||
1. 저장소를 clone하고 `MBN_STOCK_WEBVIEW.sln`을 Visual Studio 2026에서 연다.
|
||||
2. `Debug|x64`, `Legacy Parity App (VS F5)`,
|
||||
`MBN_STOCK_WEBVIEW.LegacyParityApp - Development Live (Package)`를 선택한다.
|
||||
3. 첫 번째 F5로 소스 전용 첫 실행 설정 앱을 연다. 이 프로세스는 DB 미연결과 DryRun을
|
||||
강제하고 Tornado2/PGM에 연결하지 않는다.
|
||||
3. 첫 번째 F5로 소스 전용 첫 실행 설정 앱을 연다. 이 프로세스는 DB와 송출 엔진을
|
||||
만들지 않고 Tornado2/PGM에 연결하지 않는다.
|
||||
4. `Cuts 폴더 선택`에서 실제 실행 자산의 `Cuts` 폴더를 선택한다.
|
||||
5. `Res 폴더 선택`에서 기존 코더가 사용하는 실제 `Res` 폴더를 선택한다.
|
||||
6. 두 폴더가 같은 공통 부모 아래의 정확한 `Cuts`, `Res`인지 확인하고 `설정 시작`을 누른다.
|
||||
@@ -85,14 +84,14 @@ dotnet build .\src\MBN_STOCK_WEBVIEW.LegacyParityApp\MBN_STOCK_WEBVIEW.LegacyPar
|
||||
```
|
||||
|
||||
출력에 외부 runtime 경로가 활성화되었다는 메시지가 있어야 한다. 소스 전용 모드가 계속
|
||||
표시되면 Visual Studio에서 다시 빌드한다. `DryRun`은 경로 저장 실패가 아니라 별도의
|
||||
Development Live 승인이 아직 없다는 뜻일 수 있다.
|
||||
표시되면 Visual Studio에서 다시 빌드한다. Live 기동이 차단되면 별도의 Development Live
|
||||
승인이나 보호 설정이 아직 유효하지 않은 것이다.
|
||||
같은 clone에서는 이후 `git pull` 뒤 Visual Studio 2026에서 `Debug|x64`, 시작 대상
|
||||
`Legacy Parity App (VS F5)`, 실행 프로필
|
||||
`MBN_STOCK_WEBVIEW.LegacyParityApp - Development Live (Package)`를 선택해 F5로 시작할 수
|
||||
있다. 저장소를 새 폴더에 다시 clone하면 첫 실행 경로 저장을 다시 진행한다. DB overlay,
|
||||
K3D pin과 Development Live 승인이 없는 새 PC에서는 아래 수동 초기화 절차를 별도로
|
||||
완료하기 전까지 안전한 `DryRun`을 유지한다. K3D DLL 변경은 경로 저장을 반복해도 자동
|
||||
완료하기 전까지 전체 앱 기동을 차단한다. K3D DLL 변경은 경로 저장을 반복해도 자동
|
||||
승인되지 않는다. 최초 실제 동작
|
||||
확인은 아래 최소 인수 시퀀스의 `5001` 하나로 제한한다.
|
||||
|
||||
@@ -341,7 +340,7 @@ powershell -NoProfile -ExecutionPolicy Bypass `
|
||||
|
||||
| 항목 | 인수 값 |
|
||||
|---|---|
|
||||
| `mode` | 항상 `DryRun`. Development Live 프로세스만 일시적으로 Live로 덮어쓴다. |
|
||||
| `mode` | 항상 `Live`. Debug와 Release가 같은 보호된 프로필을 사용한다. |
|
||||
| `host` | 로컬 PGM이면 숫자형 loopback `127.0.0.1`. `localhost` 또는 원격 주소를 추정하지 않는다. |
|
||||
| `port` | 지정 개발 환경의 고정 Network Server TCP port `30001` |
|
||||
| `tcpMode` / `clientPort` | `1` / `0` |
|
||||
@@ -369,7 +368,7 @@ Development Live로 승인된 프로세스는 이 26개 속성을 strict JSON으
|
||||
scene root는 실행 파일 옆 검증된 `Cuts`로 마지막에 다시 고정한다. DB도
|
||||
`%LOCALAPPDATA%\MBN_STOCK_WEBVIEW\Res\MmoneyCoder.ini`를 우선하고, 없을 때만 보호된
|
||||
`Config\database.local.json`을 사용하며 DB 환경 변수는 무시한다. 이 strict 경로가 성립하지
|
||||
않으면 Live로 진행하지 않고 안전한 DryRun으로 시작한다.
|
||||
않으면 Live 엔진 기동을 차단하고 명확한 오류를 표시한다.
|
||||
|
||||
### `playout.development-live.local.json`
|
||||
|
||||
@@ -427,12 +426,12 @@ timeout, `OutcomeUnknown`, 대상 PID·시작 시각·listener 변경 또는 결
|
||||
## 8. Development Live 최소 인수 시퀀스
|
||||
|
||||
1. 기존 앱 인스턴스를 정상 종료한다.
|
||||
2. Visual Studio에서 구성 `Debug`, 플랫폼 `x64`, 시작 대상
|
||||
2. Visual Studio에서 구성 `Debug` 또는 `Release`, 플랫폼 `x64`, 시작 대상
|
||||
`Legacy Parity App (VS F5)`를 선택한다.
|
||||
3. 실행 프로필을
|
||||
`MBN_STOCK_WEBVIEW.LegacyParityApp - Development Live (Package)`로 선택하고 F5로 시작한다.
|
||||
4. 앱이 소스 전용 또는 DryRun으로 시작했다면 실제 명령을 시도하지 않는다. runtime 초기화와
|
||||
로컬 binding, 시작 인자와 두 로컬 파일을 고친 뒤 앱을 새로 시작한다.
|
||||
4. 앱이 소스 전용이거나 Live 기동 차단 오류를 표시하면 실제 명령을 시도하지 않는다.
|
||||
runtime 초기화와 로컬 binding, 시작 인자와 두 로컬 파일을 고친 뒤 앱을 새로 시작한다.
|
||||
5. 최초 인수는 자산이 완전한 사전 합의 scene 하나만 사용한다. 기본 최소 회차는 active alias
|
||||
`5001`의 `CONNECT 1회 → PREPARE 1회 → 화면·Network Monitoring 확인 → TAKE IN 1회
|
||||
→ 화면 확인 → TAKE OUT 1회 → DISCONNECT 1회`다.
|
||||
@@ -445,13 +444,11 @@ timeout, `OutcomeUnknown`, 대상 PID·시작 시각·listener 변경 또는 결
|
||||
allowlist 실패가 발생하면 다음 동작, 같은 동작 반복, 반대 동작이나 추측성 cleanup을 하지 않는다.
|
||||
PGM/Tornado2를 강제 종료하지 말고 상태를 보존한다.
|
||||
|
||||
## 9. DryRun 복귀와 인수 완료 조건
|
||||
## 9. Live 종료와 인수 완료 조건
|
||||
|
||||
Live 앱을 종료하면 부트스트랩이 만든 Live 환경은 프로세스와 함께 사라져야 한다.
|
||||
`playout.local.json`의 `mode`는 계속 `DryRun`이어야 한다. 다음으로
|
||||
`MBN_STOCK_WEBVIEW.LegacyParityApp - Explicit DryRun (Package)` 프로필을 실행해 실제 KTAP
|
||||
통신 없이 UI가 시작되는지 확인한다. Release 검증도 이 DryRun 프로필로만 수행하며
|
||||
`--development-live`를 Release Live 수단으로 사용하지 않는다.
|
||||
`playout.local.json`의 `mode`는 계속 `Live`여야 한다. 다음 실행도 같은 보호된 Live
|
||||
부트스트랩을 사용하며, 별도의 비송출 프로필로 전환하지 않는다.
|
||||
|
||||
다음 항목이 모두 맞아야 인수를 완료한다.
|
||||
|
||||
@@ -461,7 +458,7 @@ Live 앱을 종료하면 부트스트랩이 만든 Live 환경은 프로세스
|
||||
- 개발 DB read-only smoke 성공
|
||||
- 지속 K3D pin과 두 `%LOCALAPPDATA%` 송출 설정 파일의 내용·ACL 검증
|
||||
- connect-only 진단과 최소 5001 회차가 retry 0, `OutcomeUnknown=false`로 종료
|
||||
- 최종 TAKE OUT/IDLE, DISCONNECT와 Explicit DryRun 재시작 확인
|
||||
- 최종 TAKE OUT/IDLE, DISCONNECT와 정상 Live 재시작 확인
|
||||
- 누락 영상 14개 관련 action이 제한 상태임을 인수자에게 고지
|
||||
|
||||
실제 endpoint, 자격증명, 해시, 자산 경로, 화면 캡처와 Network Monitoring 증거는 승인된
|
||||
|
||||
Reference in New Issue
Block a user