The global vs. project-specific split is the right question and has real tradeoffs. You're right that preferences, identity, and coding style don't change between repos. Right now Total Recall is project-scoped, so if you're using it across multiple projects you'd be maintaining separate memory for each, which of course is redundant for that kind of context.
The tension is that some things genuinely are project-specific (decisions, architecture, people involved) and mixing those into a global tier makes retrieval noisier and may degrade performance to the point where its useless. I think the answer is probably both: a global layer for durable personal context and project-scoped registers for everything else. Haven't built that yet but it's the obvious next step. Am going to add this to my next sprint.
Also, your point about using Claude Code for thinking and writing beyond just coding resonates too. The more you use it outside of repo-scoped work, the more project-level memory feels like the wrong boundary. Will report back when ive come up with a potential solution.