Every agent in a session gets access to a shared session.state dict. Sub-agents and tools can read and write to it, and changes propagate across the agent tree within that session. This is the closest thing to what you're doing with shared files, just kept in memory and scoped