@jfkimmes this does explain something: it seems to be able to invoke tools when it is planning, but then those tools do not get invoked in the final step.
so it uses tools to read files when planning, then fails to use tools when executing.
what a fascinating conundrum.