I couldn’t find how those files are fetched and generators are run, is it done only manually before submitting each PR with a new exercises, or is there some CI job that executes that I am missing?
That sounds plausible, as the canonical-data.json file is the source to generate tests from.
I also couldn’t find anything about how the track handles it, so you’re free to handle this as you’d like. One approach is to directly download the file, another is to use configlet. If you run:
configlet info -v d
It’ll output the cache directory it uses:
Using cached 'problem-specifications' dir: /Users/erik/Library/Caches/exercism/configlet/problem-specifications