Persona-to-grounding mapping
The six AVX personas vary in their grounding needs. The following table summarizes which
grounding surface each persona primarily uses and what data it expects at session
initialization. The table is the prescriptive implementation guide; the authoritative code
lives in agents/supervisor/persona_definitions.py and lambdas/api-assistant-chat/persona_map.py.
| Persona | Primary segment | LTM products loaded at session init | KB grounding in use |
|---|---|---|---|
|
Fleet Driver |
Fleet operator |
vehicle_identity, service_records, charging_sessions, ota_campaigns, vehicle_telemetry_aggregated, energy_usage |
LTM + unfiltered KB (generic |
|
Consumer |
Rental |
vehicle_identity, charging_sessions, customer_360, customer_interactions, ota_campaigns, energy_usage |
LTM + unfiltered KB (generic |
|
Retail Advisor |
OEM |
vehicle_identity, customer_360, customer_interactions |
LTM + unfiltered KB (generic |
|
Vehicle Owner |
OEM |
vehicle_identity, service_records, charging_sessions, customer_360, ota_campaigns, vehicle_telemetry_aggregated |
LTM + unfiltered KB (generic |
|
Service Advisor |
Fleet (mixed) |
vehicle_identity, service_records, customer_360, customer_interactions |
LTM + pre-scoped filtered KB — source categories pre-scoped via
|
|
Technician |
Fleet (mixed) |
vehicle_identity, service_records |
LTM + pre-scoped filtered KB — source categories pre-scoped via
|
All six AVX personas have KB grounding available, but the mechanism differs.
Fleet Driver, Consumer, Retail Advisor, and Vehicle Owner use the generic unfiltered
retrieve tool — the supervisor passes an optional source_category keyword argument
or retrieves across all categories based on the query. Service Advisor and Technician use
pre-scoped KB access defined in PERSONA_KB_FILTERS in persona_definitions.py, which
restricts the Retrieve filter to the source categories appropriate for each role.
When a mixed persona’s query does not require reference lookup — for example, "when was
this vehicle last serviced?" — the supervisor omits the KB Retrieve call and answers from
Memory alone, saving both latency and token cost.
Persona is always inferred server-side from validated Cognito claims, never accepted from client-supplied parameters. The mapping logic is described in Personas and Tenancy; the security rationale is covered in Security.