# Route, gather, then write the answer once

> A simpler pipeline and a more practical automatic model choice.

Canonical page: https://pyrosoft.pro/blog/route-gather-then-write-the-answer-once

Live development journal; no publication date.
Work period: 2026-09-12 to 2026-09-13
Updated: 2026-10-21

The next FreeSpark plan started with a measurement: the tools weren't the main source of delay. The model was repeatedly reading long prompts, sometimes across several calls for a single answer. Changing the prompt and conversation also prevented the engine from reusing its existing context efficiently.

The replacement pipeline routed the request, gathered useful context concurrently, wrote one streamed answer and checked it in code. A fixed conversational prompt let ordinary follow-ups reuse more of the existing conversation. Narrow tasks could still finish directly through code without a model call.

Pass 8's 41-case record showed 40 automatic passes on the 2B model and 41 on both the 8B and 9B models. Blind answer judgments and tone scores remained separate. Some of the bare-model comparisons reused the earlier recorded baseline, so this wasn't a brand-new paired run for every number.

The timing notes also preserve an important detail: hidden browser panes slowed the tests down, and the quoted 2B timing preceded its final prompt change. I don't want to turn those measurements into a speed promise for every computer. They were useful evidence for removing unnecessary work from this implementation.

The latest commit also changed Auto to load one step below the strongest model estimated to fit. On an eligible memory budget that meant the 8B choice rather than the top 9B option, with the larger model still available manually. Fitting in memory doesn't automatically make a model the most comfortable default.

FreeSpark still needs broader device, image and recovery qualification. But this pass made the architecture easier to explain: find the information, keep the conversation, and spend the model's time on the answer instead of repeatedly asking it how to begin.
