## ADDED Requirements ### Requirement: Run synchronizes a frozen DLL plan before server start Run SHALL synchronize a declared UE4SS DLL extension before executing the associated `process.start` command. It SHALL compare the local managed-release marker against the frozen version/checksum, skip unchanged releases, and otherwise download, checksum-verify, stage, and atomically activate the declared DLL path within the scoped server workspace. #### Scenario: Changed approved DLL updates before launch - **WHEN** a start job carries a valid extension plan whose release differs from the managed marker - **THEN** Run verifies and activates the new DLL before launching the server process. #### Scenario: Unchanged approved DLL is reused - **WHEN** a start job carries the same version and checksum as the managed marker - **THEN** Run does not download the DLL again and proceeds to server launch. ### Requirement: Run preserves DLL deployment safety boundaries Run SHALL require HTTPS, a SHA-256 checksum, bounded content length, a safe logical target, and a declared `.dll` path. It SHALL write only managed extension files, retain one previous DLL for rollback, redact sensitive generated configuration, and never execute the DLL, inject a running process, load arbitrary libraries, or expose raw local paths/credentials through Platform-facing results. #### Scenario: Invalid or mismatched payload does not activate - **WHEN** download fails, exceeds its byte limit, has a checksum mismatch, or the declared DLL path is unsafe - **THEN** Run keeps the prior managed DLL intact and returns a safe failed start result. ### Requirement: Run explicitly rejects Linux UE4SS DLL activation Run SHALL reject a `ue4ss-dll` extension plan when its local platform is not Windows amd64. It SHALL not attempt to map the DLL, invoke a shell loader, or substitute `LD_PRELOAD`. #### Scenario: Linux extension start fails closed - **WHEN** a Linux Run receives a UE4SS DLL extension plan - **THEN** it returns `unsupported_extension_platform` before any download or process launch. ### Requirement: Extension synchronization does not block independent channels DLL download and verification SHALL run inside the claimed lifecycle job with bounded context while Run control heartbeat, job acknowledgement/result, cancellation polling, log spool upload, and artifact transfer remain independently scheduled. #### Scenario: Slow DLL download preserves control and log traffic - **WHEN** a DLL download is blocked or slow during a start job - **THEN** Run continues its control heartbeat and durable log upload within their configured deadlines.