Two fixes to the auto-deploy path found on the first host-mode run:
- Write deploy/.env.staging line-by-line instead of a here-string, so the step
can't be broken by how act_runner indents/wraps the PowerShell script (the
here-string terminator must be col 0; the runner's wrapping broke it, leaving
POSTGRES_PASSWORD blank so postgres/api failed while frontend came up).
- Tag the staging 'ports' lists with !override so the overlay REPLACES the base
ports instead of merging — staging no longer also binds prod's 8080/8081.
Verified locally: compose config shows only 18080/18081/15432.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>