Unsure what your use case is, but compaction makes it lose anormous amount of context. Claude code is better used on a task-by-task basis; things get bad. The whole purpose of init and CLAUDE.md is to prevent long chats from losing context and approach more surgically.
For the last month I've been working on a relatively big feature in a larger project.
I often compact the session when starting a new feature, often have to remind claude to read the claude.md etc. I still use it as if it was a new session regularly, it frequently doesn't remember what it did an hour ago, etc.
But the compact seems to work which is a very different experience than the one of the GP, who kills the session when it reaches the context limit and writes explicit summary files.