"""Plain-Gymnasium ad-creative environment — a single-step CONTEXTUAL BANDIT. The agent reads a persona feature vector, picks a creative brief from fixed menus, and is graded against a rule-derived answer key. One action = one ad = one reward; there is no state transition, so this is a contextual bandit, not an MDP (do not call it an "RL environment"). """ __version__ = "0.2.0"