I think there’s a small mismatch here, correct me if I’m misunderstanding.
In the API, the model doesn’t remember anything between requests. It only “remembers the first message” if you keep sending it again in messages. So if you want zero influence from old turns, don’t include old turns. If you want the policy enforced, you do need to include it each request, and Prompt Caching helps when that policy prefix stays identical