EnvelopeRenderer.Cli only read DEBENU_LICENSE_KEY from the process
environment. That works for `dotnet run` (inherits the invoking shell's
env), but EnvelopeRenderer.Desktop launches the CLI as a child process,
which only inherits whatever environment a double-clicked .exe or Start
Menu shortcut already had — normally nothing. Every desktop-launched
render therefore failed at the Debenu save step (error 999) regardless
of a valid key existing on disk.
Add DebenuLicenseKeyResolver: env var first, then a key.txt walked up
from the CLI executable's own directory, matching the fallback the test
suite already used internally. Verified against the actual built
EnvelopeRenderer.Cli.exe with no environment variable set and a key.txt
next to it: exit 0, valid 392-page PDF. Logged in
logs/technical_debt_log.md as a real Definition-of-Done verification
gap from Sprint 1 (Batches 4-5 verified via an in-process harness, never
the built desktop .exe).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>