By construction, individual summaries are not typically large enough to overload the context window when expanded.

The reason that the volume is potentially arbitrarily large is that one sub-agent can call lcm_expand multiple times - either vertically or horizontally. But that's a process that occurs gradually as the tool is used repeatedly.

This has not been a problem in our testing, but if it were a problem it would be easy to prevent sub-agents from invoking lcm_expand once their context buffer has reached a specified threshold.

Suppose there's the following situation:

    Summary A = summarise(message 1 to P)
    Summary B = summarise(Summary A, message P+1 to Q)
    Summary C = summarise(Summary B, message Q+1 to R)
What does calling lcm_expand(Summary C) do? Does it unroll all messages from message 1 to message R or does it unroll to Summary B and message Q+1 to R?

> volume is potentially arbitrarily large is that one sub-agent can call lcm_expand multiple times - either vertically or horizontally

I'm assuming from this that it's the latter? In that case, that addresses my concern about not blowing up the context window immediately.