docs: prepare Round M live validation
This commit is contained in:
@@ -14,7 +14,7 @@
|
||||
| `s5025` trusted 수동 파일 | 외부 CP949 source 통합 검증 통과; 실제 파일/환경은 계속 Git 밖에서 회차별 preflight |
|
||||
| `s5006` `Video\큐브배경.vrv` | 현재 승인 Cuts root에서 누락 |
|
||||
| `s6001` 해외지수 영상 | 국가별 `Video\20201008_<국가>.vrv` 13개가 현재 승인 Cuts root에서 누락; 외부자산 필요 |
|
||||
| 이번 마이그레이션 WebView workflow의 실제 Tornado2 검증 | **최신 성공은 승인된 5001/5074 범위의 Round H. Round J/K는 각각 pre-dispatch 명령 0건으로 종료됐고 수정된 Round L은 Gate A 승인 대기; 35개 전체의 실제 PGM 검증으로 확대 해석하지 않음** |
|
||||
| 이번 마이그레이션 WebView workflow의 실제 Tornado2 검증 | **최신 성공은 승인된 5001/5074 범위의 Round H. Round J/K/L은 각각 pre-dispatch 명령 0건으로 종료됐고 창 preflight를 교정한 Round M은 Gate A 승인 대기; 35개 전체의 실제 PGM 검증으로 확대 해석하지 않음** |
|
||||
|
||||
1.0.2 Visual Studio 개발 등록본을 signed 1.0.3으로 교체할 때 `Remove-AppxPackage -PreserveApplicationData`를 사용했다. 재등록 구간에서 바뀐 파일은 Windows package Settings transaction log `settings.dat.LOG1/LOG2`뿐이었고, WebView LocalState와 외부 `%LOCALAPPDATA%\MBN_STOCK_WEBVIEW` 운영 데이터는 삭제·덮어쓰지 않았다. 이 패키지 검증 회차는 기본 설정 부재와 환경 override 0건을 확인한 `DryRun`으로만 실행했으며 Tornado 실제 명령은 보내지 않았다.
|
||||
|
||||
@@ -90,7 +90,7 @@ range에는 그 추가 PREPARE/PLAY를 반영하지 않은 불일치가 있었
|
||||
|
||||
이 실패 뒤 `maximumAutomaticRefreshesPerTakeIn` trusted JSON-only 상한을 추가했다. 기본 `null`은 원본 연속 갱신을 유지하고, 실제 검증 설정의 `1`은 scheduler와 실제 refresh dispatch 경계에서 두 번째 실행을 이중 차단한다. 상태는 `refreshCompletedCount`, `refreshMaximumCount`, `refreshLimitReached`를 제공하며, 마지막 refresh `OnScenePlayed`가 drain되기 전에는 count가 상한에 도달해도 `refreshLimitReached=false`를 유지한다. 검증은 `completed=1`, `maximum=1`, `limitReached=true`, `refreshActive=false`, `playCompletionPending=false`를 모두 확인해야 한다. 변경된 package는 Round I 승인/계획을 재사용할 수 없으며 새 package hash, 새 회차 계획과 새 CONNECT/PREPARE/TAKE IN 승인이 필요하다.
|
||||
|
||||
### Round J/K pre-dispatch 실패와 Round L 교정
|
||||
### Round J/K/L pre-dispatch 실패와 Round M 교정
|
||||
|
||||
Round J `MBNWEB-20260712-J`는 계획 SHA-256
|
||||
`8B51E43AFC5F0E330A8DEF3B38DF071B071E5814FC96258AA9505935D1B43956`에 대한
|
||||
@@ -135,6 +135,25 @@ TAKE IN, NEXT, Page NEXT, DB write와 retry는 0이다. 세부 계획은
|
||||
[`LIVE_VALIDATION_PLAN_MBNWEB-20260712-L.md`](LIVE_VALIDATION_PLAN_MBNWEB-20260712-L.md)에
|
||||
고정했다.
|
||||
|
||||
승인된 Round L Gate A는 manifest와 시간·Int64 검사를 통과했지만 frozen PGM
|
||||
handle 592052가 `visible=true`, `iconic=true`여서 strict desktop target 검사에서
|
||||
execution marker 전에 종료됐다. 결과는 `FAIL_KNOWN_CLEANED`,
|
||||
`outcomeUnknown=false`이며 앱 launch, CONNECT, PREPARE, TAKE IN, NEXT, DB write,
|
||||
DISCONNECT와 retry는 모두 0건이다. Gate A 결과 SHA-256은
|
||||
`F57BEA9E5F4A215DBB944DCFDC22D8989A5418BDC3910B19B2A11ED9B795FE4D`다. L 승인과
|
||||
예산은 폐기했고 재사용하지 않는다.
|
||||
|
||||
새 Round M은 PID/start/exe/signature/listener와 유일한 exact 창 identity를 먼저
|
||||
검증한 뒤, 필요한 창에만 동기 `ShowWindow`를 창별 최대 1회 적용한다. 성공 판정은
|
||||
API 반환값이 아니라 5초 이내 visible/non-iconic/non-cloaked 사후 상태다. 두 창의
|
||||
원본 placement는 첫 변경 전에 메모리에 보존하며 helper 내부 부분 실패, execution
|
||||
marker 전 Gate A 실패와 marker 이후 실패 모두 exact 원상복구 경로가 있다. preflight
|
||||
동안 파일, capability, 앱 명령과 벤더 명령은 0건이다. schema 4 계획은 19,042 bytes,
|
||||
SHA-256 `7A1141C5F276729E340227CEEAA48B0E6018632BBA51F43AA94636084AA3C301`이며
|
||||
승인 전 실제 명령은 0건이다. 세부 계획과 정확한 승인문은
|
||||
[`LIVE_VALIDATION_PLAN_MBNWEB-20260712-M.md`](LIVE_VALIDATION_PLAN_MBNWEB-20260712-M.md)에
|
||||
고정했다.
|
||||
|
||||
이 실제 Live PGM 증거는 회차에 허용된 5001과 5074에 한정된다. 35개 scene builder 전체 동등성은 자동 테스트, 55-query 실데이터 smoke와 [`SCENE_EQUIVALENCE.md`](SCENE_EQUIVALENCE.md) 매트릭스로 유지하며, 나머지 scene이 실제 PGM에서 각각 송출됐다는 의미로 기록하지 않는다.
|
||||
|
||||
## 화면/계약과 운영 검증의 분리
|
||||
@@ -358,7 +377,9 @@ COM 명령 전 validation에서 명시적으로 거부됐고 Network Monitoring/
|
||||
|
||||
### 출력이 명확히 active이고 엔진이 정상인 경우
|
||||
|
||||
Gate A에 포함된 TAKE OUT을 한 번 실행한다. 성공 callback과 PGM 종료 화면을 확인한 뒤 Disconnect한다. 같은 TAKE OUT을 확인용으로 반복하지 않는다.
|
||||
해당 회차에서 명시적으로 승인된 TAKE OUT을 한 번 실행한다. 현재 M 계열에서는 이
|
||||
권한이 Gate B에만 있다. 성공 callback과 PGM 종료 화면을 확인한 뒤 승인 범위의
|
||||
Disconnect를 실행하며, 같은 TAKE OUT을 확인용으로 반복하지 않는다.
|
||||
|
||||
### 결과가 불명확한 경우
|
||||
|
||||
|
||||
Reference in New Issue
Block a user