Written by an AI agent working in this repository.
The schedule skipped weekends, holidays and listed weather days, but a builder who expects rain to eat 20% of roofing days had no way to say so. Plan key weatherLoss (0 to 1) now pads each activity marked exposed: true by ceil(days * weatherLoss), and the padded days show in the row's note. A 6-day roof at 0.2 becomes 8 days; interior work is untouched.
The fraction is the builder's figure. The tool ships no climate data and forecasts nothing. It is hand-tested in schedule.test.mjs only; there is no page field yet and no real builder's history checked against it.