feat: complete legacy parity and modernize operator UI
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# 35개 Scene 동등성 매트릭스
|
||||
|
||||
현행 판정 기준 시각은 2026-07-20이다. 완료·차단·외부 입력 범위는
|
||||
현행 판정 기준 시각은 2026-07-22이다. 완료·차단·외부 입력 범위는
|
||||
[`MIGRATION_STATUS.md`](MIGRATION_STATUS.md)를 우선 적용한다. 원본
|
||||
`C:\Users\MD\source\repos\MBN_STOCK_N`은 읽기 전용으로만 분석했으며, 이 문서 작업에서도
|
||||
원본 파일을 수정하지 않았다. 원본 35개 builder의 파일 해시는
|
||||
@@ -16,16 +16,49 @@
|
||||
| 원본 inventory와 hash 기준선 | 완료 | 35/35 builder, 원본 기준선 스크립트 35/35 |
|
||||
| DTO와 mutation builder | 완료 | registry가 정확히 35개 builder를 발견하고 catalog와 1:1 대조 |
|
||||
| loader와 runtime route | 완료 | MainForm 도달 가능 builder 34개, active alias 45개를 fail-closed route로 등록; `s8086`은 원본과 같이 무alias 진단 전용 |
|
||||
| 자동 테스트 | 완료 | 최신 .NET solution 2,817/2,817, LegacyWeb 117/117, JavaScript 502/502, 원본 baseline 35/35 통과; 실패·skip 0. Release 빌드 warning 0, error 0 |
|
||||
| 개발 MSIX UI/DB | 완료 | 실제 Windows 입력으로 UC1~UC7, GraphE, FSell, VIList, ThemeA, EList, PList 모달, 검색·키보드·drag와 개발 DB 저장→fresh readback→delete/absence를 검증하고 cleanup 완료 |
|
||||
| 자동 테스트 | 완료, 최종 합계 갱신 대기 | 마지막 전체 .NET solution 3,115/3,115, 별도 LegacyParityWeb 127/127, WebPlayout JavaScript 424/424 통과. 그 뒤 즉시 선택·PROGRAM enabled·빈 검색·설정·비교 import 및 s6001 staged workflow의 focused/static 검증도 통과했으며, 전체 solution 최종 합계는 재실행 뒤 갱신 |
|
||||
| 개발 MSIX UI/DB | **직전 패키지 PASS · 최신 코드 물리 재검증 대기** | 직전 등록 AppX에서 실제 Windows 입력으로 UC1~UC7, GraphE, FSell, VIList, ThemeA, EList, PList 모달, 검색·키보드·drag와 개발 DB 저장→fresh readback→delete/absence를 검증하고 cleanup 완료. 이후 교정 사항과 설정/비교 local-state를 포함한 최신 AppX 회차는 실행 전 |
|
||||
| 고객 배포 MSIX | 현재 범위에서 보류 | 현재 결과는 unsigned 개발 패키지. 고객용 version·Publisher·서명 인증서·업데이트와 새 PC 로컬 설정 배포는 사용자가 재개할 때 결정 |
|
||||
| 실제 DB read→DTO→mutation smoke | 완료 | 34개 도달 가능 builder의 data route 통과: 33개 Oracle/MariaDB loader와 `s5025` trusted 외부 CP949 파일. 무alias `s8086` diagnostic과 NXT restore audit를 포함한 실제 Oracle/MariaDB query 58건이 성공했다. 종속 asset 또는 PGM 준비 상태는 이 행의 범위가 아니다. |
|
||||
| 종속 asset preflight | **외부자산 필요** | 승인 Cuts에서 `s5006`의 `Video\큐브배경.vrv`와 `s6001` 해외지수용 국가별 영상 13개가 없다. 누락·빈 파일·root 탈출·reparse 검사는 완료됐고 제공 전에는 두 route를 fail closed한다. |
|
||||
| 이번 마이그레이션의 실제 Tornado2/PGM | **32/34 runtime route 완료** | 현재 작업 트리로 5001/5074를 재검증하고 자산 비의존 30개 route를 순차 검증했다. 5077 6행의 1/20→20/20, 마지막 페이지, 5088 12행 전환, 이전 scene unload와 최종 TAKE OUT/IDLE도 확인했다. 미검증은 외부자산이 없는 `s5006`/`s6001`뿐이다. |
|
||||
| 종속 asset preflight | **필수 통과 · optional 외부자산 14개 제한** | 설정 Cuts root는 active `.t2s` alias 45개와 필수 built-in asset 9개를 모두 요구한다. `s5006`의 `Video\큐브배경.vrv`와 `s6001` 국가 영상 13개만 optional missing으로 수용하며 관련 action만 fail closed한다. 빈 파일·root 탈출·reparse·중간 junction 검사는 유지한다. |
|
||||
| 이번 마이그레이션의 실제 Tornado2/PGM | **32/34 runtime route 최신 실측 · s6001 4-action 대기** | 최신 `LATEST-CORE-01` 6/6, `THIRTY-02`+`RECOVERY8001-01`+`THIRTY20-29-01`의 30 route 30/30, 최신 `LATEST-PAGED-04` 24/24를 실제 PGM에서 확인했다. 5077 6행 1/20→20/20, 5088 12행 1/20 전환, 이전 scene unload와 최종 TAKE OUT/IDLE도 포함한다. `s6001` 영상 비의존 4 action/18-stage workflow는 구현·static PASS이나 실제 PGM은 실행 전이다. |
|
||||
|
||||
2026-07-11 Round H와 실패 회차는 역사적 증거로 보존한다. 현재 32개 route 판정은
|
||||
`MBNWEB-20260718-DEV-LIVE-01/02/05`의 실제 PGM 화면, Network Monitoring request/success,
|
||||
`FAILURE=0`, `ERROR=0`, retry 0, `OutcomeUnknown=false`를 기준으로 한다.
|
||||
2026-07-11 Round H, `CORE5001-05`, `PAGED-01`과 기존 중단 회차는 역사적 증거로
|
||||
보존한다. 현재 32개 route 및 PageN 판정의 기준선은 다음 2026-07-22 staged evidence다.
|
||||
|
||||
- `MBNWEB-20260722-LATEST-CORE-01`: 6/6. 5001 TAKE IN → 5074 playlist NEXT →
|
||||
5074 Page NEXT 2/2 → TAKE OUT/IDLE을 확인했다.
|
||||
- `MBNWEB-20260722-THIRTY-02`: 자산 비의존 route 0~18의 전체 sequence와
|
||||
route 19 `8001` TAKE IN/PGM을 확인했다. `8001`의 원본 첫 refresh가 120초인데
|
||||
runner wait 상한이 90초였어서 대기 stage만 timeout됐다. 해당 wait는 SDK
|
||||
명령을 보내지 않았고, 앱은 `PROGRAM 8001`, `OutcomeUnknown=false`의 알려진
|
||||
상태로 유지됐으므로 앱·scene 실패로 판정하지 않는다.
|
||||
- `MBNWEB-20260722-RECOVERY8001-01`: read-only로 refresh settle을 확인한 뒤
|
||||
알려진 `PROGRAM 8001` 상태에서 TAKE OUT을 단 한 번 수행해 IDLE로 복귀했다.
|
||||
- `MBNWEB-20260722-THIRTY20-29-01`: 41/41. route 20~29를 이어서 검증했다.
|
||||
- `MBNWEB-20260722-LATEST-PAGED-04`: 24/24. 5077 page 1/20에서 19회 Page NEXT로
|
||||
20/20까지 전환하고, playlist NEXT로 5088 page 1/20을 출력한 뒤
|
||||
TAKE OUT/UNLOAD/IDLE을 확인했다.
|
||||
|
||||
자산 비의존 30개 route의 실제 PGM 결과는 모두 성공이며 Network Monitoring
|
||||
request/success가 일치한다. 완료 기준선의 `FAILURE`, `ERROR`, safety-probe
|
||||
`blocked`, `violation`, `OutcomeUnknown`은 모두 0이고 명령 retry도 0이다.
|
||||
|
||||
staged runner의 authoritative cut inventory는 기존 32개에 `6001`을 추가한 33개다.
|
||||
`s6001`의 두바이유·WTI·브렌트유·금 action은 필수 built-in
|
||||
`images\주유기merge.png`, `images\35752913_l.jpg`를 source/runtime hash로 고정하고
|
||||
물리 double-click으로 4행을 만든 뒤 action마다 activate→TAKE IN→read-only wait→TAKE OUT을
|
||||
한 번씩 수행하도록 구현했다. 전체 18 stage와 static audit는 통과했지만, 아직 실제 PGM 회차를
|
||||
실행하지 않았으므로 `TOR-22` 또는 route 완료로 표기하지 않는다.
|
||||
|
||||
5077 Page NEXT가 약 65초 동안 완성되지 않는다는 의심은 PGM 결함이 아니다.
|
||||
19회 Page NEXT는 각각 effect/`Prepare(10)`/`Play(10)`을 한 번씩만 수행했고,
|
||||
`Play` 후 `SCENE_PLAYED`는 144~188ms 안에 도착했다. page 9와 page 20의 즉시·45초·
|
||||
65초 명명 capture는 각 page 내에서 바이트 단위로 동일하고, 지연 capture가
|
||||
있는 17개 stage도 모두 즉시 capture와 해시가 같다. 따라서 이미지 관찰 도구의
|
||||
표시·판독 artifact로 기록하며 fade 단위, 중복 prepare/play 또는 scene 자산
|
||||
회귀로 분류하지 않는다. 원본과 해당 evidence 패키지의 `5077.t2s` SHA-256도
|
||||
`845B99DFC499B5BDCD84058D68D91D849D59FB6692CB44784118A99EA68A20E2`로 동일하다.
|
||||
|
||||
## 표기
|
||||
|
||||
@@ -49,16 +82,17 @@ Mutation 약어는 실제 COM 메서드를 Web 입력에 노출하지 않는 COM
|
||||
실제 데이터 상태는 다음과 같이 기록한다.
|
||||
|
||||
- `DB-P`: 실제 Oracle/MariaDB 조회 → typed DTO → mutation preflight가 통과했다.
|
||||
- `FILE-P`: `s5025`의 trusted 외부 CP949 수동 파일 → DTO → mutation preflight가 통과했다. 실제 파일과 디렉터리는 계속 Git 밖에 둔다.
|
||||
- `FILE-P`: `s5025`의 trusted CP949 수동 파일 → DTO → mutation preflight가 통과했다. 현재 `%LOCALAPPDATA%\MBN_STOCK_WEBVIEW\OperatorData`의 개인/외국인/기관/VI발동 4파일은 authoritative 원본 `bin\Debug\Data`와 length·SHA-256이 정확히 같다. 실제 파일과 디렉터리는 계속 Git 밖에 둔다.
|
||||
- `DB-DP`: 원본 MainForm에서 도달하지 않는 `s8086` diagnostic 조회와 mutation preflight가 통과했다. 이 결과로 runtime alias를 만들지는 않는다.
|
||||
- `ASSET-X`: builder가 요구하는 외부 asset이 승인 Cuts에 없거나 강화된 preflight가 끝나지 않아 실제 PREPARE/PGM 준비 상태가 아니다.
|
||||
- `TOR-18`: 2026-07-18 현재 작업 트리의 Development Live에서 PGM 화면과 Network Monitoring을 함께 검증했다.
|
||||
- `TOR-22`: 2026-07-22 해당 staged evidence가 고정한 Development Live 빌드에서 PGM 화면과 Network Monitoring을 함께 검증했다.
|
||||
- `TOR-PENDING`: 실제 PGM용 폐쇄형 workflow와 정적 검증은 완료됐지만 아직 Development Live stage를 실행하지 않았다.
|
||||
- `TOR-X`: 필요한 외부 제작 자산이 없어 PREPARE 전에 fail closed했다.
|
||||
- `TOR-NA`: active alias가 없어 운영 송출 대상이 아니다.
|
||||
|
||||
## 자동 테스트 묶음
|
||||
|
||||
아래 묶음은 최신 Core Debug/Release x64 전체 실행에 포함돼 실패 0건으로 통과했다. 모든 행에는 공통으로 `LegacySceneCatalogTests`, `LegacySceneMutationBuilderRegistryTests`, `LegacySceneRuntimeCoverageTests`, `LegacySceneDataSourceRouterTests`가 적용된다.
|
||||
아래 묶음은 마지막 전체 Core Debug/Release x64 실행에 포함돼 실패 0건으로 통과했다. 이후 변경의 focused 검증도 통과했으며 최종 전체 합계는 재실행 뒤 갱신한다. 모든 행에는 공통으로 `LegacySceneCatalogTests`, `LegacySceneMutationBuilderRegistryTests`, `LegacySceneRuntimeCoverageTests`, `LegacySceneDataSourceRouterTests`가 적용된다.
|
||||
|
||||
| 코드 | 테스트 파일 |
|
||||
|---|---|
|
||||
@@ -77,40 +111,40 @@ Mutation 약어는 실제 COM 메서드를 Web 입력에 노출하지 않는 COM
|
||||
|
||||
| Builder / alias / page | 원본 기능 | 새 builder → loader → resolver/route | mutation | 자동 테스트 | 실제 데이터 | 실제 Tornado |
|
||||
|---|---|---|---|---|---|---|
|
||||
| `s5001` / `5001`, `N5001` / — | 국내·NXT·해외 지수, 환율, 업종, 종목 단일 시세와 등락 표식 | `S5001SceneMutationBuilder` → `S5001SceneDataLoader` → `LegacyParameterizedSceneRequestResolver` | `V, Vis, A` | `T-PARAM` 통과 | `DB-P` | `TOR-18` |
|
||||
| `s5001` / `5001`, `N5001` / — | 국내·NXT·해외 지수, 환율, 업종, 종목 단일 시세와 등락 표식 | `S5001SceneMutationBuilder` → `S5001SceneDataLoader` → `LegacyParameterizedSceneRequestResolver` | `V, Vis, A` | `T-PARAM` 통과 | `DB-P` | `TOR-22` |
|
||||
| `s5006` / `5006` / — | 국내·NXT 종목 현재·시가·고가·저가와 비율, 등락 상태, 큐브 배경 영상 | `S5006SceneMutationBuilder` → `S5006DomesticSceneDataLoader`/`S5006NxtSceneDataLoader` → market 직접 route | `V, Vis, C, BgV` | `T-PANEL` 통과 | `DB-P`; `Video\큐브배경.vrv` 외부 자산 누락 | `TOR-X` |
|
||||
| `s5011` / `5011` / — | 국내·NXT 종목 시세, 액면가, 자본금, 시가총액, 순위 | `S5011SceneMutationBuilder` → `S5011SceneDataLoader` → branch 직접 route | `V, Vis, C` | `T-PANEL` 통과 | `DB-P` | `TOR-18` |
|
||||
| `s5016` / `5016` / — | 미국·중화권·유럽·아시아 지수와 채권·환율·원자재 3열 panel | `S5016SceneMutationBuilder` → `S5016SceneDataLoader` → closed target 직접 route | `V, Vis` | `T-PANEL` 통과 | `DB-P` | `TOR-18` |
|
||||
| `s50160` / `50160` / — | 원면·국제금·국내금 2열 panel | `S50160SceneMutationBuilder` → `S50160SceneDataLoader` → closed target 직접 route | `V, Vis` | `T-PANEL` 통과 | `DB-P` | `TOR-18` |
|
||||
| `s5023` / `5023` / — | 코스피·코스닥 일별/월합계 주체별 매매동향 grid | `S5023SceneMutationBuilder` → `S5023SceneDataLoader` → `LegacyGridMarketSceneRequestResolver` | `V, C` | `T-GRID` 통과 | `DB-P` | `TOR-18` |
|
||||
| `s5024` / `5024` / — | 코스피·코스닥 매매동향 막대, 중앙선과 양·음 크기/위치 | `S5024SceneMutationBuilder` → `S5024SceneDataLoader` → `LegacyGridMarketSceneRequestResolver` | `V, Vis, Pos, Scale` | `T-GRID` 통과 | `DB-P` | `TOR-18` |
|
||||
| `s5025` / `5025` / — | 승인된 수동 파일의 개인·외국인·기관 순매도 좌·우 5쌍 | `S5025SceneMutationBuilder` → `S5025SceneDataLoader`/`S5025TrustedManualFileDataSource` → `LegacyGridMarketSceneRequestResolver` | `V` | `T-GRID`, `T-MANUAL` 통과 | `FILE-P`; 외부 CP949 파일 통합 검증 완료 | `TOR-18` |
|
||||
| `s5026` / `5026` / — | 두 국내 종목 주간 candle과 각 종목 시세/OHLC | `S5026SceneMutationBuilder` → `S5026SceneDataLoader` → `ComparisonAndYieldLegacyRequestResolver` | `V, Vis, C, Crop` | `T-COMP` 통과 | `DB-P` | `TOR-18` |
|
||||
| `s5029` / `5029` / — | 두 종목 candle·수익률 비교와 두 path-shape | `S5029SceneMutationBuilder` → `S5029SceneDataLoader` → `ComparisonAndYieldLegacyRequestResolver` | `V, Vis, Pos, Shape` | `T-COMP` 통과 | `DB-P` | `TOR-18` |
|
||||
| `s5032` / `8018`, `8032`, `5032` 중 선물 조건 / — | 선물을 포함한 좌·우 두 항목 plate | `S5032SceneMutationBuilder` → `S5032SceneDataLoader` → `LegacyParameterizedSceneRequestResolver` | `V, Vis, A` | `T-PARAM` 통과 | `DB-P` | `TOR-18` |
|
||||
| `s5037` / `5037` / — | 국내 종목 현재가와 매수·매도 거래원별 수량 | `S5037SceneMutationBuilder` → `S5037SceneDataLoader` → `LegacyGridMarketSceneRequestResolver` | `V, Vis` | `T-GRID` 통과 | `DB-P` | `TOR-18` |
|
||||
| `s5074` / `5074` / 5 | Oracle/MariaDB/DataManager 계열의 최대 5행 시세·수익률 목록 | `S5074SceneMutationBuilder` → `S5074SceneDataLoader` → typed paged 직접 route | `V, Vis, A` | `T-PAGED` 통과 | `DB-P` | `TOR-18` (page 1/2) |
|
||||
| `s5076` / `5076` / — | 주요매출 구성, 기준일, 항목 비율과 누적 원형 각도 | `S5076SceneMutationBuilder` → `S5076SceneDataLoader` → subject 직접 route | `V, Vis, Angle` | `T-FOUND` 통과 | `DB-P` | `TOR-18` |
|
||||
| `s5077` / `5077` / 6 | Oracle/MariaDB/DataManager 계열의 최대 6행 시세·수익률 목록 | `S5077SceneMutationBuilder` → `S5077SceneDataLoader` → typed paged 직접 route | `V, Vis, A` | `T-PAGED` 통과 | `DB-P` | `TOR-18` (1/20→20/20) |
|
||||
| `s5078` / `5078` / — | 미국·국내 섹터지수 값과 양·음 막대 크기 | `S5078SceneMutationBuilder` → `S5078SceneDataLoader` → `ChartLegacySceneRequestResolver` | `V, Vis, Scale` | `T-CHART` 통과 | `DB-P` | `TOR-18` |
|
||||
| `s5079` / `5079` / — | 성장성 지표 기간·값과 복수 path | `S5079SceneMutationBuilder` → `S5079SceneDataLoader` → `ChartLegacySceneRequestResolver` | `V, Vis, Path` | `T-CHART` 통과 | `DB-P` | `TOR-18` |
|
||||
| `s5080` / `5080` / — | 매출액 분기 시계열과 양·음 막대/중앙선 | `S5080SceneMutationBuilder` → `S5080SceneDataLoader` → `ChartLegacySceneRequestResolver` | `V, Vis, PosK, Scale` | `T-CHART` 통과 | `DB-P` | `TOR-18` |
|
||||
| `s5081` / `5081` / — | 영업이익 분기 시계열과 양·음 막대/중앙선 | `S5081SceneMutationBuilder` → `S5081SceneDataLoader` → subject 직접 route | `V, Vis, PosK, Scale` | `T-FOUND` 통과 | `DB-P` | `TOR-18` |
|
||||
| `s5082` / `5082` / — | 일자·개인·기관·외국인 매매동향 grid와 부호 variant | `S5082SceneMutationBuilder` → `S5082SceneDataLoader` → 직접 route | `V, Vis` | `T-5082` 통과 | `DB-P` | `TOR-18` |
|
||||
| `s5083` / `5083` / — | 개인·기관·외국인 매매 시계열, baseline과 세 path | `S5083SceneMutationBuilder` → `S5083SceneDataLoader` → `ChartLegacySceneRequestResolver` | `V, Pos, Path` | `T-CHART` 통과 | `DB-P` | `TOR-18` |
|
||||
| `s5084` / `5084` / — | 코스피·코스닥 매매 시계열, baseline과 path | `S5084SceneMutationBuilder` → `S5084SceneDataLoader` → `ChartLegacySceneRequestResolver` | `V, Pos, Path` | `T-CHART` 통과 | `DB-P` | `TOR-18` |
|
||||
| `s5085` / `5085` / — | 프로그램 매매 grid의 구분별 금액과 부호 색상 | `S5085SceneMutationBuilder` → `S5085SceneDataLoader` → `LegacyGridMarketSceneRequestResolver` | `V, C` | `T-GRID`, `T-FOUND` 통과 | `DB-P` | `TOR-18` |
|
||||
| `s5086` / `5086` / — | 국내·해외 지수/종목/업종 수익률 시계열과 path-shape | `S5086SceneMutationBuilder` → `S5086SceneDataLoader` → `ComparisonAndYieldLegacyRequestResolver` | `V, Vis, Pos, Shape` | `T-COMP` 통과 | `DB-P` | `TOR-18` |
|
||||
| `s50860` / `50860` / — | 국내·해외 지수/종목/업종 line 시계열과 path-shape | `S50860SceneMutationBuilder` → `S50860SceneDataLoader` → `ComparisonAndYieldLegacyRequestResolver` | `V, Vis, C, Pos, Shape` | `T-COMP` 통과 | `DB-P` | `TOR-18` |
|
||||
| `s5087` / `5087` / — | 두 국내 종목 candle·수익률 비교와 두 line shape | `S5087SceneMutationBuilder` → `S5087SceneDataLoader` → `ComparisonAndYieldLegacyRequestResolver` | `V, Vis, Pos, Shape` | `T-COMP` 통과 | `DB-P` | `TOR-18` |
|
||||
| `s5088` / `5088` / 12 | Oracle/MariaDB/DataManager 계열의 최대 12행 시세·수익률 목록 | `S5088SceneMutationBuilder` → `S5088SceneDataLoader` → typed paged 직접 route | `V, Vis, A` | `T-PAGED` 통과 | `DB-P` | `TOR-18` (5077 뒤 1/20) |
|
||||
| `s6001` / `6001` / — | 해외지수와 유가·금 단일 plate, 연계 이미지·영상/방향 상태 | `S6001SceneMutationBuilder` → `S6001SceneDataLoader` → closed target 직접 route | `V, A, Vis, C` | `T-PANEL` 통과 | `DB-P`; 해외지수 국가별 영상 13개 `ASSET-X` | `TOR-X`; 자산 제공 전 PREPARE 금지 |
|
||||
| `s6067` / `6067` / — | 기관 순매수 grid와 부호 색상 | `S6067SceneMutationBuilder` → `S6067SceneDataLoader` → `LegacyGridMarketSceneRequestResolver` | `V, C` | `T-GRID`, `T-FOUND` 통과 | `DB-P` | `TOR-18` |
|
||||
| `s8001` / `8001`, `8002` / — | 코스피·코스닥 업종 square chart와 cube 색상 | `S8001SceneMutationBuilder` → `S8001SceneDataLoader` → `LegacyParameterizedSceneRequestResolver` | `V, C` | `T-PARAM` 통과 | `DB-P` | `TOR-18` |
|
||||
| `s8003` / `8003` / — | 국내 종목 호가·시세와 매수·매도 잔량 막대 | `S8003SceneMutationBuilder` → `S8003SceneDataLoader` → `LegacyGridMarketSceneRequestResolver` | `V, Vis, C, Scale` | `T-GRID` 통과 | `DB-P` | `TOR-18` |
|
||||
| `s8010` / `8035`, `8061`, `8040`, `8046`, `8051`, `8056` / — | 지수·종목·거래정지·해외 candle, 거래량, 예상지수, 이동평균 path | `S8010SceneMutationBuilder` → `S8010SceneDataLoader` → alias/market/mode 직접 route | `V, Vis, C, Pos, Crop, Path` | `T-CANDLE` 통과 | `DB-P` | `TOR-18` |
|
||||
| `s8018` / `8018`, `8032`, `5032` 중 비선물 조건 / — | 국내·NXT·해외·업종 좌·우 두 항목 plate | `S8018SceneMutationBuilder` → `S8018SceneDataLoader` → `LegacyParameterizedSceneRequestResolver` | `V, Vis, A` | `T-PARAM` 통과 | `DB-P` | `TOR-18` |
|
||||
| `s8067` / `8067`, `5068`, `5070`, `5072` / — | 글로벌 world-map의 지역별 현재가·등락과 방향/배경 상태 | `S8067SceneMutationBuilder` → `S8067SceneDataLoader` → 직접 route | `V, Vis, C` | `T-FOUND`, `T-PANEL` 통과 | `DB-P` | `TOR-18` |
|
||||
| `s5011` / `5011` / — | 국내·NXT 종목 시세, 액면가, 자본금, 시가총액, 순위 | `S5011SceneMutationBuilder` → `S5011SceneDataLoader` → branch 직접 route | `V, Vis, C` | `T-PANEL` 통과 | `DB-P` | `TOR-22` |
|
||||
| `s5016` / `5016` / — | 미국·중화권·유럽·아시아 지수와 채권·환율·원자재 3열 panel | `S5016SceneMutationBuilder` → `S5016SceneDataLoader` → closed target 직접 route | `V, Vis` | `T-PANEL` 통과 | `DB-P` | `TOR-22` |
|
||||
| `s50160` / `50160` / — | 원면·국제금·국내금 2열 panel | `S50160SceneMutationBuilder` → `S50160SceneDataLoader` → closed target 직접 route | `V, Vis` | `T-PANEL` 통과 | `DB-P` | `TOR-22` |
|
||||
| `s5023` / `5023` / — | 코스피·코스닥 일별/월합계 주체별 매매동향 grid | `S5023SceneMutationBuilder` → `S5023SceneDataLoader` → `LegacyGridMarketSceneRequestResolver` | `V, C` | `T-GRID` 통과 | `DB-P` | `TOR-22` |
|
||||
| `s5024` / `5024` / — | 코스피·코스닥 매매동향 막대, 중앙선과 양·음 크기/위치 | `S5024SceneMutationBuilder` → `S5024SceneDataLoader` → `LegacyGridMarketSceneRequestResolver` | `V, Vis, Pos, Scale` | `T-GRID` 통과 | `DB-P` | `TOR-22` |
|
||||
| `s5025` / `5025` / — | 승인된 수동 파일의 개인·외국인·기관 순매도 좌·우 5쌍 | `S5025SceneMutationBuilder` → `S5025SceneDataLoader`/`S5025TrustedManualFileDataSource` → `LegacyGridMarketSceneRequestResolver` | `V` | `T-GRID`, `T-MANUAL` 통과 | `FILE-P`; 외부 CP949 파일 통합 검증 완료 | `TOR-22` |
|
||||
| `s5026` / `5026` / — | 두 국내 종목 주간 candle과 각 종목 시세/OHLC | `S5026SceneMutationBuilder` → `S5026SceneDataLoader` → `ComparisonAndYieldLegacyRequestResolver` | `V, Vis, C, Crop` | `T-COMP` 통과 | `DB-P` | `TOR-22` |
|
||||
| `s5029` / `5029` / — | 두 종목 candle·수익률 비교와 두 path-shape | `S5029SceneMutationBuilder` → `S5029SceneDataLoader` → `ComparisonAndYieldLegacyRequestResolver` | `V, Vis, Pos, Shape` | `T-COMP` 통과 | `DB-P` | `TOR-22` |
|
||||
| `s5032` / `8018`, `8032`, `5032` 중 선물 조건 / — | 선물을 포함한 좌·우 두 항목 plate | `S5032SceneMutationBuilder` → `S5032SceneDataLoader` → `LegacyParameterizedSceneRequestResolver` | `V, Vis, A` | `T-PARAM` 통과 | `DB-P` | `TOR-22` |
|
||||
| `s5037` / `5037` / — | 국내 종목 현재가와 매수·매도 거래원별 수량 | `S5037SceneMutationBuilder` → `S5037SceneDataLoader` → `LegacyGridMarketSceneRequestResolver` | `V, Vis` | `T-GRID` 통과 | `DB-P` | `TOR-22` |
|
||||
| `s5074` / `5074` / 5 | Oracle/MariaDB/DataManager 계열의 최대 5행 시세·수익률 목록 | `S5074SceneMutationBuilder` → `S5074SceneDataLoader` → typed paged 직접 route | `V, Vis, A` | `T-PAGED` 통과 | `DB-P` | `TOR-22` (page 1/2) |
|
||||
| `s5076` / `5076` / — | 주요매출 구성, 기준일, 항목 비율과 누적 원형 각도 | `S5076SceneMutationBuilder` → `S5076SceneDataLoader` → subject 직접 route | `V, Vis, Angle` | `T-FOUND` 통과 | `DB-P` | `TOR-22` |
|
||||
| `s5077` / `5077` / 6 | Oracle/MariaDB/DataManager 계열의 최대 6행 시세·수익률 목록 | `S5077SceneMutationBuilder` → `S5077SceneDataLoader` → typed paged 직접 route | `V, Vis, A` | `T-PAGED` 통과 | `DB-P` | `TOR-22` (1/20→20/20) |
|
||||
| `s5078` / `5078` / — | 미국·국내 섹터지수 값과 양·음 막대 크기 | `S5078SceneMutationBuilder` → `S5078SceneDataLoader` → `ChartLegacySceneRequestResolver` | `V, Vis, Scale` | `T-CHART` 통과 | `DB-P` | `TOR-22` |
|
||||
| `s5079` / `5079` / — | 성장성 지표 기간·값과 복수 path | `S5079SceneMutationBuilder` → `S5079SceneDataLoader` → `ChartLegacySceneRequestResolver` | `V, Vis, Path` | `T-CHART` 통과 | `DB-P` | `TOR-22` |
|
||||
| `s5080` / `5080` / — | 매출액 분기 시계열과 양·음 막대/중앙선 | `S5080SceneMutationBuilder` → `S5080SceneDataLoader` → `ChartLegacySceneRequestResolver` | `V, Vis, PosK, Scale` | `T-CHART` 통과 | `DB-P` | `TOR-22` |
|
||||
| `s5081` / `5081` / — | 영업이익 분기 시계열과 양·음 막대/중앙선 | `S5081SceneMutationBuilder` → `S5081SceneDataLoader` → subject 직접 route | `V, Vis, PosK, Scale` | `T-FOUND` 통과 | `DB-P` | `TOR-22` |
|
||||
| `s5082` / `5082` / — | 일자·개인·기관·외국인 매매동향 grid와 부호 variant | `S5082SceneMutationBuilder` → `S5082SceneDataLoader` → 직접 route | `V, Vis` | `T-5082` 통과 | `DB-P` | `TOR-22` |
|
||||
| `s5083` / `5083` / — | 개인·기관·외국인 매매 시계열, baseline과 세 path | `S5083SceneMutationBuilder` → `S5083SceneDataLoader` → `ChartLegacySceneRequestResolver` | `V, Pos, Path` | `T-CHART` 통과 | `DB-P` | `TOR-22` |
|
||||
| `s5084` / `5084` / — | 코스피·코스닥 매매 시계열, baseline과 path | `S5084SceneMutationBuilder` → `S5084SceneDataLoader` → `ChartLegacySceneRequestResolver` | `V, Pos, Path` | `T-CHART` 통과 | `DB-P` | `TOR-22` |
|
||||
| `s5085` / `5085` / — | 프로그램 매매 grid의 구분별 금액과 부호 색상 | `S5085SceneMutationBuilder` → `S5085SceneDataLoader` → `LegacyGridMarketSceneRequestResolver` | `V, C` | `T-GRID`, `T-FOUND` 통과 | `DB-P` | `TOR-22` |
|
||||
| `s5086` / `5086` / — | 국내·해외 지수/종목/업종 수익률 시계열과 path-shape | `S5086SceneMutationBuilder` → `S5086SceneDataLoader` → `ComparisonAndYieldLegacyRequestResolver` | `V, Vis, Pos, Shape` | `T-COMP` 통과 | `DB-P` | `TOR-22` |
|
||||
| `s50860` / `50860` / — | 국내·해외 지수/종목/업종 line 시계열과 path-shape | `S50860SceneMutationBuilder` → `S50860SceneDataLoader` → `ComparisonAndYieldLegacyRequestResolver` | `V, Vis, C, Pos, Shape` | `T-COMP` 통과 | `DB-P` | `TOR-22` |
|
||||
| `s5087` / `5087` / — | 두 국내 종목 candle·수익률 비교와 두 line shape | `S5087SceneMutationBuilder` → `S5087SceneDataLoader` → `ComparisonAndYieldLegacyRequestResolver` | `V, Vis, Pos, Shape` | `T-COMP` 통과 | `DB-P` | `TOR-22` |
|
||||
| `s5088` / `5088` / 12 | Oracle/MariaDB/DataManager 계열의 최대 12행 시세·수익률 목록 | `S5088SceneMutationBuilder` → `S5088SceneDataLoader` → typed paged 직접 route | `V, Vis, A` | `T-PAGED` 통과 | `DB-P` | `TOR-22` (5077 뒤 1/20) |
|
||||
| `s6001` / `6001` / — | 해외지수와 유가·금 단일 plate, 연계 이미지·영상/방향 상태 | `S6001SceneMutationBuilder` → `S6001SceneDataLoader` → closed target 직접 route | `V, A, Vis, C` | `T-PANEL` 통과 | `DB-P`; 유가·금 built-in 이미지 2개 통과, 해외지수 국가별 영상 13개 `ASSET-X` | 유가·금 4 action `TOR-PENDING`; 국가 영상 action `TOR-X` |
|
||||
| `s6067` / `6067` / — | 기관 순매수 grid와 부호 색상 | `S6067SceneMutationBuilder` → `S6067SceneDataLoader` → `LegacyGridMarketSceneRequestResolver` | `V, C` | `T-GRID`, `T-FOUND` 통과 | `DB-P` | `TOR-22` |
|
||||
| `s8001` / `8001`, `8002` / — | 코스피·코스닥 업종 square chart와 cube 색상 | `S8001SceneMutationBuilder` → `S8001SceneDataLoader` → `LegacyParameterizedSceneRequestResolver` | `V, C` | `T-PARAM` 통과 | `DB-P` | `TOR-22` |
|
||||
| `s8003` / `8003` / — | 국내 종목 호가·시세와 매수·매도 잔량 막대 | `S8003SceneMutationBuilder` → `S8003SceneDataLoader` → `LegacyGridMarketSceneRequestResolver` | `V, Vis, C, Scale` | `T-GRID` 통과 | `DB-P` | `TOR-22` |
|
||||
| `s8010` / `8035`, `8061`, `8040`, `8046`, `8051`, `8056` / — | 지수·종목·거래정지·해외 candle, 거래량, 예상지수, 이동평균 path | `S8010SceneMutationBuilder` → `S8010SceneDataLoader` → alias/market/mode 직접 route | `V, Vis, C, Pos, Crop, Path` | `T-CANDLE` 통과 | `DB-P` | `TOR-22` |
|
||||
| `s8018` / `8018`, `8032`, `5032` 중 비선물 조건 / — | 국내·NXT·해외·업종 좌·우 두 항목 plate | `S8018SceneMutationBuilder` → `S8018SceneDataLoader` → `LegacyParameterizedSceneRequestResolver` | `V, Vis, A` | `T-PARAM` 통과 | `DB-P` | `TOR-22` |
|
||||
| `s8067` / `8067`, `5068`, `5070`, `5072` / — | 글로벌 world-map의 지역별 현재가·등락과 방향/배경 상태 | `S8067SceneMutationBuilder` → `S8067SceneDataLoader` → 직접 route | `V, Vis, C` | `T-FOUND`, `T-PANEL` 통과 | `DB-P` | `TOR-22` |
|
||||
| `s8086` / active alias 없음 / — | 유가·금 3열 원천. 원본 파일은 있으나 MainForm dispatch 없음 | `S8086SceneMutationBuilder` → `S8086DiagnosticSceneDataLoader`; 앱 runtime route 없음 | `V, C` | `T-FOUND`, `T-PANEL` 통과 | `DB-DP` | `TOR-NA` |
|
||||
|
||||
## 공통 호출 순서 동등성
|
||||
@@ -171,14 +205,16 @@ TAKE IN은 PREPARE 때의 오래된 DTO를 그대로 재생하지 않는다. 원
|
||||
## 구현 판정과 실제 송출 범위
|
||||
|
||||
35개 builder, 45개 active alias, DTO/mutation, 실제 DB read, 5·6·12행 PageN 경계와
|
||||
마지막 페이지, Debug/Release x64 suite와 개발 MSIX UI/DB 검증은 완료됐다. 실제 PGM은
|
||||
34개 runtime route 가운데 32개를 현재 작업 트리로 검증했다. `5001`/`5074` 재검증 뒤
|
||||
자산 비의존 30개 route를 순차 검증했으며, `5077` 20페이지 전체와 `5088` 전환,
|
||||
retired scene unload 및 최종 TAKE OUT/IDLE을 포함한다.
|
||||
마지막 페이지 자동 계약은 완료됐다. 직전 개발 MSIX UI/DB 검증도 PASS지만 이후 UI 교정을
|
||||
포함한 최신 AppX 물리 회차는 대기 중이다. 실제 PGM은 34개 runtime route 가운데 32개를
|
||||
검증했다. 최신 `5001`/`5074` 6/6과 자산 비의존 30개 route 30/30을 완료했고,
|
||||
최신 `5077` 20페이지 전체와 `5088` 전환 24/24, retired scene unload 및 최종
|
||||
TAKE OUT/IDLE을 포함한다.
|
||||
|
||||
이 완료 판정에는 다음 범위 제한이 있다.
|
||||
|
||||
1. 실제 PGM 미검증 route는 외부 제작 자산이 없는 `s5006`과 `s6001`뿐이다.
|
||||
1. 실제 PGM 미검증 route는 `s5006`과 `s6001`이다. 다만 `s6001`의 영상 비의존 4 action은
|
||||
외부자산 없이 검증 가능하며 18-stage workflow의 실제 실행만 남았다.
|
||||
2. `s5025`의 trusted 외부 CP949 파일·경로는 Git과 고객 MSIX에 포함하지 않는다.
|
||||
3. `s5006`의 background video와 `s6001` 해외지수 국가 영상 13개는 승인된 asset root와
|
||||
preflight가 준비된 뒤에만 실제 송출한다.
|
||||
|
||||
Reference in New Issue
Block a user