Check that a data frame follows the persona contract
Source:R/personas.R
llm_validate_persona_frame.RdVerifies the minimum a persona frame needs: it is a data frame with at least
one row. It also reports, via a message when verbose, whether the optional
dictionary and demographic_fields attributes are present. It is tolerant:
a frame without those attributes is still usable (handles stand in for
questions, and demographics are guessed from common names).