QueryBuilderTelemetryContext: QueryableSourceInfo & Record<PropertyKey, unknown> & {
    state?: QueryBuilderExecutionContextInfo;
}

The shared envelope carried by every query builder telemetry event.

The entry point the builder was opened with (sourceInfo — the route) is spread flat at the top level, while the execution context it resolved to is nested under state. Keeping them separate is what lets a dashboard tell "arrived on mapping X" apart from "currently querying mapping X"; merging the two into one flat object would collapse that distinction.