Bug Fixes
AI estimates were failing silently on certain phase configurations — drafting with zero line items instead of surfacing an error or falling back gracefully. This happened when phases had custom-only materials, minimal work area definitions, or incomplete scope notes.
The fix bundles four robustness improvements: baseline floor rules now apply before category matching, custom materials are properly wired into AI prompts, deterministic fallback rules activate when the AI pipeline stalls, and error feedback is now only permitted when the previous estimate was also empty (no regression to empty states).
All evaluation scenarios now reliably produce valid estimates. The system gracefully degrades when individual LLM calls stumble — single-room or single-category failures no longer cascade into a full draft failure.