Only fields that a phase beforeconfigure reads belong here. Anything
whose only default is a prompt fallback must NOT be listed: CreatePlan
spreads this object into the config, so a value here makes
ConfigurePhase's config.X = config.X ?? await prompt(...) guard
permanently non-nullish and the prompt can never fire. DatabaseTrustCert
defaulted to false here, which is why interactive installs silently wrote an
empty DB_TRUST_SERVER_CERTIFICATE and failed migrate against every
self-signed (Docker, local) SQL Server — see #4562.
The removed fields are still defaulted, twice over: every pre-configure
consumer carries its own ?? 'localhost' / ?? 1433 / ?? 4000 / ?? 4200
fallback, and each prompt passes the same value as its own default, so
--yes installs are unchanged.
Defaults applied before any prompting.
Only fields that a phase before
configurereads belong here. Anything whose only default is a prompt fallback must NOT be listed:CreatePlanspreads this object into the config, so a value here makesConfigurePhase'sconfig.X = config.X ?? await prompt(...)guard permanently non-nullish and the prompt can never fire.DatabaseTrustCertdefaulted tofalsehere, which is why interactive installs silently wrote an emptyDB_TRUST_SERVER_CERTIFICATEand failedmigrateagainst every self-signed (Docker, local) SQL Server — see #4562.The removed fields are still defaulted, twice over: every pre-
configureconsumer carries its own?? 'localhost'/?? 1433/?? 4000/?? 4200fallback, and each prompt passes the same value as its own default, so--yesinstalls are unchanged.