Cong — Restaurant Data Dashboard

Interactive overview of the ingested restaurant database

Restaurants by Type

Click a bar to filter map + source. Ctrl+click (Cmd on Mac) to select multiple types.

Restaurants by Source

Auto-filters when types are selected above.

Restaurant Distribution by State

Ctrl+click tabs to combine multiple types on the map.

Restaurant Types by State

Duplicate Names Within Sources

Restaurants with the same normalized name within a single dataset (likely chains)

Cross-Source Duplicate Names

Same restaurant name appearing in multiple datasets

Top Chain Restaurants (by location count)

Restaurant Types by Source Dataset

Cong — Menu Items

Canonical menu entities, dish-type and section breakdowns, regional spread (RFC-006).

Cong — Conversations (v3 Pipeline)

RFC-009 v3 end-to-end pipeline output — generate → TTS → STT. Per-conversation utterances + WER from base Nemotron.

Conversations

error class:

No v3 conversations yet. Run the pipeline: python scripts/seed_v3_demo.py for a stub demo, or kick off docker run … cong/pipeline-v3 --restaurant 2 --n 10 for the real Shokudo end-to-end.

Cong — TTS Triage

RFC-013 §3.2 audio-integrity gate. tts_audio_quality.verdict = 'fail' grouped by (voice, accent, persona). Click a row to drill into failed utterances.

Top groups by flag rate

Groups with flag_rate are sorted DESC. Excludes utterances without a T1 audit (run scripts/backfill_rfc013_t1.py --apply to populate).

Cong — Proposals + Closure Loop

RFC-013 §3.5.1 Sonnet clustering output + §3.7.2 closure metric. Approve a proposal as standing-category (recurring pattern) or frozen-cohort (one-off cleanup) — standing approvals trigger immediate backfill against the active corpus.

Closure metric

Latest application per (utterance, stt_model) — re-runs and rollback-then-reapply paths don't double-count. Bo's signal: auto_standing_pct trending up means recurring patterns are becoming automatic.

Pending proposals

Trigger the wer-proposal-audit skill in a Claude Code session to refresh. Sample column shows up to 20 representatives (full cluster_member_fks live in the DB).

Cong — Fine-tune Candidates

RFC-013 §3.7 per-canonical-term WER (formulation B). Top terms drive the May 13 fine-tune; click a row to drill into containing utterances. Export writes a NeMo-compatible manifest gated by the closure-loop's training_treatment policy + RFC-015's audio-volume cap.

Snapshot

Recompute via scripts/compute_per_term_wer.py --stt-model <m> --corpus-run-id <tag> after each generation/STT run.

Top terms by per_term_wer

Filter: n_gt ≥ min_occurrences (default 5) to drop noisy single-shot terms. Click a row to drill into the utterances containing that term.

Export

Writes data/finetune_manifests/candidates_<UTC-date>.jsonl — copy-paste the command below, adjust threshold / cap, run from the repo root.


    

Cong — Order Essentials

RFC-014 §3.3 per-entity accuracy. Order-essential entities (phone_number, address, item_count, intent_verb) sit in the priority-2 fine-tune tier; others (modifier, allergen, dietary, pickup_time, payment_method, person_name) are tier-1.

Entity hit-rate

hit = match in {exact, equivalent}; miss = match in {partial, missing}. Click a row to drill into the misses for that type. Run scripts/llm_entity_extract.py against the cloud DB to populate.