QuoteItem was missing IncludePrepCost, so the Edit GET always deserialized
it as true (DTO default). On save, prep service labor was added on top of
the catalog base price, silently bumping prices whenever any quote field
(e.g. oven cycle minutes) was changed without touching items.
Migration defaults new column to false for catalog items and true for
non-catalog items (matching the wizard's historical defaults).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>