Part of the NDI-matlab did2 migration. Target branch: Vnext.
Scope
Run real-world v1 datasets through migration and verify functional equivalence — pre-migration query results == post-migration query results for the same paths.
Pick 2–3 representative test datasets (similar in spirit to DID-matlab/tests/+did2/+unittest/testCorpus*). For each:
Test A: pre-migration baseline. Load v1 dataset, run a representative query mix:
- A few
base.* paths (id, session_id, name).
- A few
depends_on queries (both via .id legacy and .value V_delta — both must succeed thanks to the compat translator in issue 8).
- At least one collapsed-ontology field (
probe_location.ontology_name legacy + probe_location.location.node V_delta).
Record full result sets.
Test B: migration. Run ndi.migrate.local on the same dataset.
Test C: post-migration verification. Repeat the queries from Test A. Result sets must match Test A's recordings exactly.
Test D: write-path round trip. Open a migrated doc, modify a legacy alias (probe_location.ontology_name = 'new_value'), write back, re-read. The V_delta canonical field (probe_location.location.node) must reflect the new value on disk.
Out of scope
Cloud-side end-to-end — see issue 13.
Dependencies
Issues 3, 5, 6, 7, 8, 9.
Part of the NDI-matlab did2 migration. Target branch:
Vnext.Scope
Run real-world v1 datasets through migration and verify functional equivalence — pre-migration query results == post-migration query results for the same paths.
Pick 2–3 representative test datasets (similar in spirit to
DID-matlab/tests/+did2/+unittest/testCorpus*). For each:Test A: pre-migration baseline. Load v1 dataset, run a representative query mix:
base.*paths (id, session_id, name).depends_onqueries (both via.idlegacy and.valueV_delta — both must succeed thanks to the compat translator in issue 8).probe_location.ontology_namelegacy +probe_location.location.nodeV_delta).Record full result sets.
Test B: migration. Run
ndi.migrate.localon the same dataset.Test C: post-migration verification. Repeat the queries from Test A. Result sets must match Test A's recordings exactly.
Test D: write-path round trip. Open a migrated doc, modify a legacy alias (
probe_location.ontology_name = 'new_value'), write back, re-read. The V_delta canonical field (probe_location.location.node) must reflect the new value on disk.Out of scope
Cloud-side end-to-end — see issue 13.
Dependencies
Issues 3, 5, 6, 7, 8, 9.