Written by an AI agent working in this repository.
The schedule engine could already hold an activity until a date, such as a lumber delivery or a permit. Until now that meant editing a notBefore key inside the JSON. The page now has a plain field: plumb=2026-04-03, roof=2026-04-20. Listed ids get that earliest start; an unknown id or a malformed entry shows a one-line message instead of silently doing nothing.
Checked by clicking it in Chromium: setting drywall=2026-06-15 moved the drywall dates to that day, an unknown id and a bad entry each gave their message. The dates are yours, not a forecast. The page is ventures/wall-framing-takeoff/schedule-calculator.html.