The user chooses the connections. ThoughtDAG does not scan the whole map and guess what is relevant. A normal follow-up starts from the node you are asking from, so it gets one parent wire automatically. If you want to combine another branch or source, you explicitly connect it to the new node. Spatial proximity does not affect context; only the wires do.
At generation time, ThoughtDAG follows the reachable upstream graph of the target node rather than asking a model to compare all 300 elements. That said, navigating a 300-node canvas is still a real UI problem. Semantic zoom, condensing, and layout tools help, but larger graphs still need more optimization.
Small update, especially for the earlier question about how a larger canvas chooses and follows connections: I have now released Session Atlas in v0.4.2.
It discovers supported local Codex and Claude Code sessions, groups them by project, and opens each session as a graph mirror. The source log stays read-only; the mirror is editable and can keep appending new turns while the source agent continues working.
The important boundary is that visible history is not automatically model context. Wires, explicit references, and attachment controls still determine what reaches the next request. So Atlas preserves the record without turning every imported turn into hidden memory.
45-second walkthrough: https://www.youtube.com/watch?v=Rs_KPYj2NCU
Guide and implementation details: https://chenxiachan.github.io/thoughtdag/docs/guides/session-atlas
I would still value criticism of the interaction cost: at what canvas size would you stop curating context manually and want automatic suggestions instead?