Thanks Nico! The model rarely writes answers, it structure the query (what to count, category, period, grouping, comparison etc.) then plain code does the money math. For questions that code doesn't support, we use the model and label those answers.
We also have a checker that reads the query and we only show figures when the two readings agree otherwise the app rather say not sure. We also rely on a small embedder that returns the 8 past nns to serve as examples.
As for classifiers, the reading is partly classification already, with rules and fixed cues checked first.