Can you explain what we are doing with context crunching, start with all the way from what the toggle fort reasoning is and how action nodes are compressed and o3 is used, start all the way from tool_use endpoint in agentic.rs and then go all the way to what happens in session/service.rs and then the ToolUseAgent where we do context crunching and on what conditions
Put your explanation in an output.txt file