Each year keeps its full pipeline under its directory; vite bases move to /thptqg/<year>/ (2017 keeps its old and old2 generations), one deploy workflow builds both years' databases and bundles behind a root index.