Write a function in Python to process a dataset and return key metrics.
The input is a list of records, where each record contains a string category and numeric value. Return a dictionary keyed by category. Each category must contain its record count, numeric total, and arithmetic average.
process_dataset(records) accepts a list of dictionaries and returns a dictionary. Preserve the order in which categories first appear. Return {} for an empty dataset.
def process_dataset(records):