code/generated/resources/latest is a full copy of v5.0: 679 generated files against 678, differing only in the README and Contents files and one ParcellationEntityVersion.m (diff -rq shows five differing files). Every schema rebuild doubles the newest version, and every diff of a rebuild shows each change twice.
openMINDS_Python does exactly the same (openminds/latest and openminds/v5 are byte-identical apart from the version string inside), so both projects inherit the pipeline's decision to treat latest as a version rather than an alias.
The MATLAB reason for a physical copy is that a version is selected by adding its folder to the path, and selectModelVersion("latest") needs a folder to add. That does not require a copy: latest could be resolved to the newest version folder by selectModelVersion and getModelVersion, with a one-line manifest saying which version latest currently is.
Proposal: drop the latest folder from the generated output, resolve "latest" to the newest vN.0 folder at selection time, and record the mapping in schema_manifest.json or a sibling file so tooling and tests can still ask what latest means. The one genuinely different file (ParcellationEntityVersion.m) needs a look first, since a copy that differs from its source is either a pipeline bug or an unversioned change.
🤖 Generated with Claude Code
code/generated/resources/latestis a full copy ofv5.0: 679 generated files against 678, differing only in the README and Contents files and oneParcellationEntityVersion.m(diff -rqshows five differing files). Every schema rebuild doubles the newest version, and every diff of a rebuild shows each change twice.openMINDS_Python does exactly the same (
openminds/latestandopenminds/v5are byte-identical apart from the version string inside), so both projects inherit the pipeline's decision to treatlatestas a version rather than an alias.The MATLAB reason for a physical copy is that a version is selected by adding its folder to the path, and
selectModelVersion("latest")needs a folder to add. That does not require a copy:latestcould be resolved to the newest version folder byselectModelVersionandgetModelVersion, with a one-line manifest saying which versionlatestcurrently is.Proposal: drop the
latestfolder from the generated output, resolve"latest"to the newestvN.0folder at selection time, and record the mapping inschema_manifest.jsonor a sibling file so tooling and tests can still ask whatlatestmeans. The one genuinely different file (ParcellationEntityVersion.m) needs a look first, since a copy that differs from its source is either a pipeline bug or an unversioned change.🤖 Generated with Claude Code