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

1. Release scope
- Type: independent hotfix over v1.3.0.4.3.
- SCR baseline: 3.2.3.9.
- Business logic: unchanged.
- Service runtime/recovery/rolling lease: inherited unchanged from v1.3.0.4.3.
- Targeted area: DICENTIS Real Bridge .env packaging and step-11 resume behavior.

2. Reproduced Windows failure
- Native Windows validation supplied by user: PASS.
- Central Server, PC Server, Room Agent and License Tools rebuild: PASS.
- Package creation step 11: completed.
- Step 12 failure:
  environment preservation coverage missing:
  02_ROOM_NODE_WINDOWS_X64/app/dicentis-real-bridge/.env
  04_ALL_IN_ONE_WINDOWS_X64/app/dicentis-real-bridge/.env

3. Root cause
- Windows DICENTIS Real Bridge runtime cache contains EXE/DLL and templates, but normally no active .env.
- v1.3.0.4.3 copied the runtime cache and only recorded .env when it happened to exist there.
- The package fixture incorrectly copied .env into its synthetic runtime cache, so it did not reproduce native Windows cache behavior.

4. Fix
- package_distributed_demo.py now calls copy_preserved_bridge_env().
- Authority order:
  1) client/dicentis-real-bridge/.env
  2) client/dicentis-real-bridge/.env.example, byte-identical fallback
  3) fail immediately if both are missing
- The selected source is copied after the binary runtime tree into Room Node and All-in-One.
- Environment preservation manifest always receives both Real Bridge entries.
- Verifier remains strict; no coverage or hash requirement was removed.

5. Resume policy
- ResumeFromStep11 in v1.3.0.4.3.1 is package/verify only.
- It does not rebuild service EXE, public assets, License Tools, CR bytecode or Android APK.
- Intended input is build-distributed copied from a v1.3.0.4.3 workspace that already reached step 12.
- Direct package-only resume from v1.3.0.4.2 is not supported because that cache predates the v1.3.0.4.3 recovery/rolling-lease EXE rebuild.

6. Regression coverage
- Runtime bridge fixture intentionally contains no .env: PASS.
- PRO package fixture and verifier: PASS.
- ULTIMATE package fixture and verifier: PASS.
- Room Node Real Bridge .env equals authoritative source bytes: PASS.
- All-in-One Real Bridge .env equals authoritative source bytes: PASS.
- .env.example fallback byte-identical: PASS.
- Missing both source files fails during package generation: PASS.
- Six authoritative .env SHA-256 checks: PASS.
- Preserved .env tamper negative test: PASS.

7. Automated validation in Linux source container
- Python/static/package tests: 7/7 PASS.
- Distributed Node tests: 3/3 PASS.
- SCR functional/static/integration tests: 18 PASS, 0 FAIL, 1 environment SKIP.
- JavaScript syntax: 233/233 PASS.
- Python AST: 24/24 PASS.
- JSON parse: 34/34 PASS before source manifest regeneration.
- XML/CONFIG/CSPROJ parse: 7/7 PASS.
- PowerShell/CMD static encoding/balance: 19/19 PASS.

8. Environment limitation
- scr303-server-client-e2e.test.js was not executed successfully because the source-only Linux container does not have dependency xlsx. The same test is classified as environment SKIP, not PASS.
- Windows PowerShell 5.1 native parser and actual step-11 resume must be run on the user's Windows machine.

9. Required Windows acceptance
1) Extract v1.3.0.4.3.1 to a new folder.
2) Copy the entire build-distributed folder from the failed v1.3.0.4.3 workspace.
3) Run 00_VALIDATE_NATIVE_WINDOWS.cmd.
4) Require: SCR v1.3.0.4.3.1 DICENTIS Real Bridge authoritative env hotfix: PASS.
5) Run 04_RESUME_FROM_STEP_11.cmd.
6) Require: DISTRIBUTED PACKAGE VERIFY: PASS.
7) Require: PACKAGE PASS: <package path>.

10. Conclusion
- Source/static/fixture validation: PASS.
- The reported root cause is fixed without changing SCR business logic or weakening verification.
- Native Windows final acceptance: PENDING user run.
