Problem description
Datasets are declared in per-model manifests plus a shared manifest. Nothing detects two providers declaring the same dataset (same subdir), so a collision silently double-fetches or resolves non-deterministically. This occurred during the MORS migration: MORS and the shared manifest both declared Baraffe until the paired PR removed it.
Preferred solution
On discovery/fetch, detect when two manifest providers declare the same subdir (or dataset key) and fail loudly with an error naming both providers, so a conflict is caught at load time instead of silently resolved.
Raised by @nichollsh in FormingWorlds/PROTEUS#605.
Problem description
Datasets are declared in per-model manifests plus a shared manifest. Nothing detects two providers declaring the same dataset (same
subdir), so a collision silently double-fetches or resolves non-deterministically. This occurred during the MORS migration: MORS and the shared manifest both declared Baraffe until the paired PR removed it.Preferred solution
On discovery/fetch, detect when two manifest providers declare the same
subdir(or dataset key) and fail loudly with an error naming both providers, so a conflict is caught at load time instead of silently resolved.Raised by @nichollsh in FormingWorlds/PROTEUS#605.