feat: Add a new demo domain for an airline support assistant#23
feat: Add a new demo domain for an airline support assistant#23vishal-bala wants to merge 7 commits into
Conversation
🛡️ Jit Security Scan Results✅ No security findings were detected in this PR
Security scan by Jit
|
| .trace-line-main { display: flex; align-items: center; gap: 10px; min-width: 0; } | ||
| .trace-line-right { display: inline-flex; align-items: center; justify-content: flex-end; gap: 10px; flex: 0 0 auto; min-width: 72px; } | ||
| .trace-pill { display: inline-flex; align-items: center; flex: 0 0 auto; padding: 3px 7px; border-radius: 999px; background: rgba(255,255,255,0.06); color: var(--muted); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; } | ||
| .trace-pill { display: inline-flex; align-items: center; flex: 0 0 auto; padding: 3px 7px; border-radius: 999px; background: color-mix(in srgb, var(--accent) 12%, white); color: var(--soft); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; } |
There was a problem hiding this comment.
Light backgrounds with theme-dependent text break dark themes
High Severity
Several elements use color-mix(in srgb, var(--accent) N%, white) for backgrounds, producing an always-near-white result, while pairing it with theme-dependent text colors (var(--soft), var(--text)) that resolve to light values on dark themes. For example, on the electrohub theme (--accent: #31c7ff, --soft: #d5e5fb, --text: #f2f7ff), .trace-pill, .send-button, and .quick-start-chip:hover all render light text on a near-white background, making them unreadable. The .tool-source pills correctly use hardcoded dark text colors for the same pattern — these elements need the same treatment.
Additional Locations (2)
Reviewed by Cursor Bugbot for commit 3c6c7c2. Configure here.


Changes
This PR adds a complete
airline-supportdomain pack for Context Surfaces, including schema, prompt, generated models, demo data, docs, tests, and synthetic branding. The domain is built around a realistic airline-support model that separates booking-scoped itinerary segments, shared operating-flight status, flight-level disruptions, and traveller-level reassignment records so the demo can show credible record-backed reasoning in disruption and post-rebooking workflows.Additional Changes
Demo Paths
The primary demo path is a disruption recovery scenario: the traveller asks what happened to a disrupted flight, then follows up to see the updated itinerary and understand next steps. This path demonstrates signed-in traveller resolution, booking lookup, itinerary inspection, operating-flight lookup, disruption lookup, reassignment lookup, and the distinction between confirmed trip facts and general policy guidance.
The secondary demo path focuses on post-rebooking serviceability: after the reassignment, the traveller asks whether they can still check in, whether baggage will continue to the final destination, and which terminal they should use. This path demonstrates how the assistant grounds follow-up support questions in the updated itinerary while combining record-backed facts with policy-based check-in and baggage guidance.
A backup profile path is also included for audiences who want to inspect identity grounding and read-only personalization. In that flow, the traveller asks what the profile says about their status and what contact details are on file, allowing the demo to show privacy-safe profile-backed answers without exposing internal-only fields.
Note
Medium Risk
Adds a full new demo domain (schema/models/data generation/internal tools) plus theme-driven frontend styling changes; moderate risk due to new runtime configuration and UI theming behavior that could affect other domains.
Overview
Adds a new
airline-supportdemo domain pack (schema, generated Context Surface models, prompt/playbooks, synthetic dataset generator, branding/theme, and demo-path docs) to support disruption + rebooking support flows with record-backed reasoning and a Simple RAG contrast.Updates the shared frontend to better support themed/light domains by dynamically setting
document.documentElement.style.colorSchemebased on the domain background and revising CSS to be more theme-token driven (e.g.,color-mix, shadows, panels, and logo image sizing). Improvesscripts/load_data.pyto fail fast with a clearer message when generated JSONL rows no longer match the current pydantic model schema, and adds targeted tests covering the new domain and its data generator.Reviewed by Cursor Bugbot for commit e311788. Bugbot is set up for automated code reviews on this repo. Configure here.