QuoteAI — Post-MVP Backlog
Status: 🟢 Active parking lot Authors: Dan Hannah & Clay Created: 2026-04-22 Parent: QuoteAI Project Design Doc
Purpose
Parking lot for scope we've explicitly deferred — surfaced in conversation or refinement, but not in current epic (E3 demo, E4 Pricing Pipeline). Each entry captures the idea, why deferred, and source.
Useful for pitching Andy — "here's what month 2/3/4 looks like" — and for preventing scope creep on the current epic.
Organized by where in the Collect → Draft → Review → Done pipeline the work lives.
Collect
| Item | Summary | Why deferred | Source |
|---|---|---|---|
| In-app spreadsheet grid | Replace upload with live-editable QUOTE FORM grid (mirrors Brehob's Excel layout) | MVP uses upload-and-parse to minimize workflow disruption; grid deepens integration | Dan 2026-04-22 |
| Territory auto-assign by zip code | Zip → sales territory → salesperson commission routing | John lost $15-20K/yr to mis-assignment; real pain point, own epic | John-Dad 2026-04-22 |
| Multi-option / multi-tab quotes | Some Brehob spreadsheets have multiple tabs for A/B/C options | E3-D1 rejected for MVP; John wants hard-limit 3; own epic | Dan 2026-04-22, transcript |
| Excel upload from other formats | Support non-Brehob-template spreadsheets (for resale to other distributors) | Per-customer onboarding; compounds embedded-engineer model | Dan 2026-04-22 |
Draft
| Item | Summary | Why deferred | Source |
|---|---|---|---|
| Domain-knowledge rules in prompts | e.g., "smaller wet tanks protect inlet valves" (John emphasized) | First of likely many Brehob heuristics to encode | John-Dad 2026-04-22 |
| Equipment model freshness check | Verify part numbers are current (sizing/weight changes across revs) | Requires vendor catalog integration + equipment-pricing data model | John-Dad 2026-04-22 |
Review
| Item | Summary | Why deferred | Source |
|---|---|---|---|
| Quote Log + Sales Leadership Dashboard (promoted 2026-04-23) | Unified sales-activity surface: which salespeople made what quotes for which customers, total quoted amounts, pipeline status, commission distribution across the team, historical quote search. Consolidates what were separately listed as "quote analytics dashboard," "commission visibility for sales leadership," and "historical quote viewer." | Elevated to the lead "candidate future extension" — John specifically called it out; directly answers leadership's "how does this impact the business?" question. Likely the first post-MVP month of retainer work after pilot approval. | John-Dad 2026-04-23 |
| Verbatim drift detection | Adapter diff against full tool-result text on quote_drafts.tool_calls | ContentBanner removed; revisit if false-negative drift shows up | next.md 2026-04-22 |
| Divergence detection: spreadsheet ↔ doc out-of-sync | Flag when inline edits in MetaRail have diverged the rendered quote from the originally-uploaded spreadsheet (stored in quote_drafts.pricing_json). Small "out of sync" badge + "reset to spreadsheet" action | Deferred per E4-D5 (2026-04-23). Matters once Brehob accounting uses these quotes for downstream reconciliation; not a demo concern |
Done
| Item | Summary | Why deferred | Source |
|---|---|---|---|
| Vendor quote integration (5% margin path) | Centrifugal etc. — separate quote artifact, fixed 5% margin | Different shape than deal spreadsheet; own ingestion path | John-Dad 2026-04-22 |
| Quote log + Microsoft CRM | Record all quotes, flag high-value, push to CRM | Full-MVP territory; requires MS integration + approval flow | John-Dad 2026-04-22 |
| PDF / DOCX export | Export buttons currently disabled | MVP non-goal; post-MVP work | E3 design |
| Packet assembly (quote + supporting materials) | Full proposal packet as Done-adjacent stage | Pipeline-extensibility example from Dan | Dan 2026-04-22 |
Cross-cutting
| Item | Summary | Why deferred |
|---|---|---|
Persistence of priceFills / resolvedIds | Session-only state → DB | Post-demo work |
Reopen polish | Already works; session-only | Low priority |
| More ingestion data | Beyond curated subset | Hold until John signals which quote types |
| Confidence enum → float remap | RenderMeta.sections.confidence still undefined | Wave 4 follow-up |
ivfflat.probes tune | Drop or re-tune as corpus grows past 20 lists | Small task when expanding |
| Export / Import commission rates (JSON) | Settings-page buttons: download rates as JSON, re-import on new device / after cache clear | Overkill for Andy demo per E4 review (2026-04-23). Adds value once Brehob has multiple salespeople on multiple devices. Deferred until auth lands; at that point DB persistence may obviate this anyway |
| "Skip review → generate directly" button on upload | When parsed spreadsheet validates cleanly, one-click jump past form review straight to generation | Post-pilot optimization. MVP always shows form after upload — simpler, lower-stakes. Revisit once we have signal that parsed spreadsheets reliably pass validation in real use |
| Wrap commission calc as MCP tools | Expose classifyLineItem / calculateCommission as MCP tools alongside @quoteai/equipment and @quoteai/quotes | The TS pure-function impl is already deterministic; MCP wrapper only pays off when a non-deterministic caller (LLM agent) needs to compute. Per "salespeople own pricing," the CC pipeline never sees prices, so no LLM is calling commission today. Revisit if (a) cross-codebase reuse emerges (CLI, Slack bot), or (b) an agent needs to reason about commission (which would cross the "salespeople own pricing" line). Surfaced 2026-04-23 by Dan |
Graduate OUT when an item becomes active scope (own epic doc or in-flight PR). Pruning welcome — stale entries are noise.