LP SCR 3.2.3.9 DISTRIBUTED FAST-DEMO BUILDER v1.3.0.4.2
VALIDATION REPORT

1. Phạm vi
- SCR baseline                              : 3.2.3.9
- Builder                                   : 1.3.0.4.2
- Nguồn nâng cấp                            : Full source v1.3.0.4.1 độc lập
- Hotfix bước 12/public JavaScript verifier : Có
- Hotfix Owner License Kit PowerShell 5.1   : Có
- Subscription expiry                       : Có
- Resume nghiêm ngặt từ bước 11             : Có
- Nghiệp vụ SCR                             : Không thay đổi
- Android targetSdk                         : Giữ nguyên 29
- Demo PKI/hardware binding                 : Không thay đổi

2. Lỗi bước 12 đã sửa
- Nguyên nhân v1.3.0.4.1: verifier cấm tuyệt đối mọi file .js nên coi asset giao diện đã minify/obfuscate là source leak.
- build-public-assets.js tạo .scr-public-assets.json schema v2.
- Mỗi JavaScript có relativePath, sourceSha256, protectedSha256, sourceSize và protectedSize.
- Verifier chỉ cho phép JavaScript trong public của central-server, pc-server và dicentis-gateway khi manifest/hash khớp.
- Verifier vẫn từ chối JavaScript ngoài public, TypeScript, Python, source map, *.min.js, file thiếu manifest, hash tamper và source/protected giống nhau.
- Package fixture Pro/Ultimate có JavaScript thực tế và negative cases bắt buộc.

3. Lỗi cấp launcher license đã sửa
- Nguyên nhân v1.3.0.4.1: Windows PowerShell 5.1 làm mất dấu ngoặc kép khi JSON limits được truyền inline qua --limits; CLI nhận dạng {maxRooms:...} và JSON.parse lỗi tại position 1.
- ISSUE_LAUNCHER_LICENSE.ps1 dùng file JSON UTF-8 tạm qua --limits-file.
- Script chấp nhận đường dẫn file request hoặc đường dẫn thư mục topology và tự tìm launcher-license.scrreq.json.
- Request được kiểm tra JSON, kind và productId trước khi gọi CLI.
- trial dùng --days; subscription dùng --expires theo số ngày nhập; perpetual không có expiresAt.
- File limits tạm và SCR_ISSUER_PASSPHRASE được dọn trong finally.
- Package verifier kiểm tra Owner script còn đầy đủ hợp đồng an toàn nêu trên.

4. Resume bước 11
- Bắt buộc đủ service EXE/manifest, public directories, license tools, Owner PKI, FFmpeg, DICENTIS, CR bytecode/workers và APK đã ký.
- Resume làm mới public asset protection manifest từ source public hiện hành.
- Resume build lại Demo Launcher, License CLI và Legacy Activator với Windows metadata v1.3.0.42.
- Không rebuild service EXE, CR bytecode hoặc APK Android khi cache hợp lệ.
- Sau đó tạo lại package bước 11 và chạy verifier mới ở bước 12.

5. Kiểm thử đã chạy trong container Linux
- JavaScript syntax                          : 233/233 PASS
- Python AST                                : 22/22 PASS
- JSON parse                                : 47/47 PASS
- XML/CONFIG/CSPROJ parse                   : 7/7 PASS
- PowerShell active encoding/balance static : 19/19 PASS
- Public asset schema v2 builder regression : PASS
- Package fixture Pro                       : PASS
- Package fixture Ultimate                  : PASS
- Distributed package verifier Pro/Ultimate : PASS
- Verifier negative cases                   : PASS
- Owner License script source contract      : PASS
- License CLI limits-file                   : PASS
- License CLI subscription expiresAt        : PASS
- Launcher invalid-root regression          : PASS
- Launcher path dài/có khoảng trắng         : PASS
- SCR 3.2.3.9 authoritative rebase          : 653 ORG files byte-identical PASS
- Functional/static/integration tests       : 29 PASS, 0 FAIL, 1 environment SKIP
- SCR central/client E2E                    : SKIP do container thiếu dependency xlsx; không phải lỗi hồi quy hotfix.

6. Bằng chứng native Windows của lần build v1.3.0.4.1 do người dùng cung cấp
- Windows PowerShell 5.1 x64 native validation: PASS.
- Service EXE, Demo Launcher/License Tools, Demo PKI và Android APK signature: PASS.
- Package Ultimate được tạo ở bước 11.
- Bước 12 FAIL đúng false positive public JavaScript đã được sửa trong v1.3.0.4.2.

7. Chưa thể thực thi trong container Linux
- Windows PowerShell 5.1 native parser đối với source v1.3.0.4.2.
- Node SEA Windows EXE build v1.3.0.4.2.
- Resume bước 11 bằng cache Windows thật của người dùng.
- Cấp/import/status license bằng EXE Windows được build lại.

8. Nghiệm thu bắt buộc trên Windows
- Copy nguyên build-distributed từ workspace v1.3.0.4.1 sang workspace v1.3.0.4.2.
- Chạy 00_VALIDATE_NATIVE_WINDOWS.cmd và nhận NATIVE WINDOWS VALIDATION: PASS.
- Chạy 04_RESUME_FROM_STEP_11.cmd, chọn ultimate.
- Phải có RESUME PUBLIC ASSET PROTECTION MANIFEST REFRESH: PASS.
- Phải có DEMO LAUNCHER + LICENSE TOOLS: PASS.
- Bước 12 phải có DISTRIBUTED PACKAGE VERIFY: PASS và PACKAGE PASS.
- Dùng package mới tạo request; dùng Owner Kit v1.3.0.4.2 cấp trial/subscription/perpetual.
- Với subscription, kiểm tra payload.validity.expiresAt và chạy import/status.

9. Bảo mật và tính nguyên vẹn
- Không chứa Android keystore thật           : PASS
- Không chứa mật khẩu rõ                    : PASS
- Không chứa Owner Root/Issuer đã tạo        : PASS
- Không chứa output/log/build cache người dùng: PASS
- Nghiệp vụ SCR ngoài phạm vi hotfix         : Không thay đổi

10. Kết luận
- Source/static/fixture/Linux regressions    : PASS trong phạm vi có thể thực thi
- Native Windows final acceptance           : PENDING lần resume/build của người dùng
- Chỉ sử dụng package sau khi bước 12 v1.3.0.4.2 PASS.
