I open 4 chat windows with Gemini 3.0 Pro. I paste in all file contents to each window. I ask them "which files would an AI need to do $TASK effectively?"
Each of the 4 responses will disagree, despite some overlap. I take the union of the 4 responses as the canonical set of files that an implementer would need to see.
This reduces the risk of missing key files, while increasing the risk of including marginally important files. An easy trade-off.
Then I paste the subset of files into GPT 5.2 Pro, and give it $TASK.
You could replace the upstream process with N codex sessions instead of N gemini chat windows. It doesn't matter.
This process can be automated with structured json outputs, but I haven't bothered yet.
It uses much inference compute. But it's better than missing key inputs and wasting time with hallucinated output.
That sounds cumbersome and even more wasteful than my own method of simply dumping a fixed selection of project code in Gemini for each set of requests. Is there any benefit to pruning?