Mise · Coverage & Build Sequence

What We Solve Today, and What's Next

Twenty real cases stepped through the current build — so the roadmap is grounded in what the product actually does, not what a schema hopes it will. Chomp is the base case: get it right first, then add the rest in order.

01What the current build actually solves

Each case stepped through the built screens + engine. SOLVED = works end-to-end · PARTIAL = engine works, a view or the ask-once store is missing · UNSUPPORTED = no flow for this shape at all.

CaseVerdictGap / what it needs
1Flat recipe, all own-history invoicesSOLVEDworks end-to-end (verify manual, few questions)
2Produce line needing a yieldPARTIALno tenant yield store, no yield-confirm UI → manual
3"2 tomatoes" (each→weight)PARTIALconversion works; answer has nowhere to persist → re-asks
4"3 cups pepperoni" (missing conversion)PARTIALengine emits error; no question UI/store to resolve it
5Price outlier (fat-fingered invoice)PARTIALguard flags it; review needs the knowledge app
6No price anywhere (saffron)PARTIALladder asks; no store to hold/answer
7Sub-recipe (pasta + house marinara)PARTIALrecursion works if marinara exists; make-vs-buy detection missing
8Deep nesting (Chomp donut)PARTIALcosts correctly — but RecipeView is single-level, no tree drill-in
9Make-vs-buy (house vs jarred aioli)UNSUPPORTEDno variance type, no decision store, no UI
10Catch-weight protein (whole fish)PARTIALflag known; no special handling/UI confirmed
11Batch scale to 100 coversPARTIALsimulate_batch exists but the bad curves distort it
12Dual-unit sub-recipe (caramel fl oz)PARTIALneeds multi-unit batch_yield (schema change flagged)
13Cold-start, corpus-only (Maya beet)PARTIALcorpus not populated until waves 2-3; single dish works if data exists
14Vendor quote as a priceUNSUPPORTEDno quote ingestion path, no basis:quote
15Thin corpus vicinity (Park City)PARTIALno vicinity resolver; falls to wide/ask
16Bulk onboarding, 30 dishesUNSUPPORTEDno bulk capture, no batched verify sweep — single-recipe only
17Same recipe, 2 locationsUNSUPPORTEDsingle-tenant; no org→location costing, no switcher
18Fleet roll-up / overpayUNSUPPORTEDno fleet view, no benchmark, no cross-location
19Migration diff (Coastline)UNSUPPORTEDtranslator exists; no diff harness, no diff view
20Duplicate merge + unknown yieldPARTIALdedup script exists; no merge-review UI, no yield-unknown surfacing

02Three things the map tells us

1 · The sweet spot is narrow and clear. The current build serves a single independent kitchen costing recipes one at a time, from its own invoices — cases 1 and (cost-wise) 8. That's exactly Ben's concierge beta and Chomp's single-recipe costing. Everything else is partial or unsupported.
2 · The empty knowledge app is the universal blocker. Nearly every 🟡 Partial (cases 2–7, 20) is "engine works, but the question / ask-once loop has no store, so it's manual and doesn't remember." Build that one app and half the Partials become Solved — higher leverage than any single ledger field.
3 · Every 🔴 Unsupported case needs a whole new view (bulk, multi-location, fleet, migration-diff, quote, make-vs-buy). Those views — not a schema — are what should decide whether their speculative ledger fields (fact_scope, benchmark, diff, basis:quote) get frozen now or deferred.

03The base case — get Chomp right first

Of the five personas, Chomp's flow is the built flow: capture one nested recipe → cost from own invoices → view. Nail it end-to-end before spreading.

TaskWork
Fix the pricing bug (sweep-path units / conversion normalization)in progress · days
Kill the off-spec bulk/labor curveshours
Freeze the ledger — minimal, single-recipe scope (own_history · recursion · yield · outlier · question/error)session + commit · days
Build the knowledge app (question queue + ask-once store + dollar gate) — verify becomes real, not concierge~1.5–2 wks
Recipe-tree drill-in view (donut → caramel → shells → ingredients)~0.5–1 wk
Validate against the Chomp answer key (Test A, to the penny)days

3–4 weeks on top of where Edith is — aligned with the mid-August engine target and the September concierge beta.

The quiet payoff: two of those tasks are substrate everyone reuses. The knowledge app → Diego's friction policy, Maya's batched sweep, Coastline's cleanup questions all sit on it. The frozen ledger → the minimal-real contract every other persona extends additively. So the ranking below is "what each adds on top of a working Chomp base," not from zero.

04The other four — ranked by added work

Sizes: M ~2–3w M–L ~3–4w L ~4–6w XL ~6–10w for one engineer.

PersonaWhat it addsWorkStrategic note
2Diego
voice
Voice/SMS door · intent router · speech→fact parser · dynamic friction budget M Cheapest — zero engine or ledger changes (proven interface-agnostic); a new skin over the same tools + the friction policy already in the knowledge app. Additive, low-switching-cost wedge; The Stand flagged voice as lacking.
3Maya
greenfield · bulk
Bulk capture · batched verify sweep · onboarding-progress view · quote ingestion + basis:quote M–L + corpus data The independent-kitchen scale market. Note: the beta (Ben) doesn't need these — concierge plays them by hand — so this is for going self-serve, not September.
4Coastline
migration
Harden import · diff harness · diff view · cleanup worklist · merge-review UI · data_quality[] + diff object + split provenance L Unlocks porting the ~350 existing ChefTec customers — the biggest existing-base opportunity. Half this work (the diff harness) isn't optional — it's the correctness proof gate regardless.
5Alta
chain
Per-location costing · location switcher · fleet dashboard · benchmark/overpay engine · StandardCost + variance · geo/vicinity · fact_scope/costed_for/answer_scope XL Essentially a second product (purchasing intelligence) on costing. Highest-value segment (chains, The Stand) and the corpus moat's biggest payoff — but furthest out, needs corpus density.
The fork that sets the real order. Work says Diego is cheapest next — but the right next move is a go-to-market call:

Scaling independents (the Ben/beta market): Maya jumps ahead of Diego — bulk self-serve is what turns a concierge beta into a product independents adopt without you.

Courting sophisticated operators (Jeff, The Stand): Diego's voice door is next — voice-over-their-data is the additive, no-switching-cost wedge into people who already own tools.

Recommended: Chomp base → Diego (voice). Voice is cheap, reuses everything, and is the wedge into operators who won't switch for costing alone; Maya's self-serve can wait behind concierge for the beta. Flip Maya up if September shows independents pulling hard. Coastline & Alta are "when we target that market," both gated on things (diff harness, corpus density) that mature over the beta anyway.