Skip to content

2026-06 audit: NDI-python follow-ups & symmetry parity with merged NDI-matlab #828 #58

Description

@stevevanhooser

Tracking issue for the NDI-python side of the 2026-06 NDI ecosystem audit. The
NDI-matlab half merged as VH-Lab/NDI-matlab#828 (DID halves:
VH-Lab/DID-matlab#148, VH-Lab/DID-python#24). This captures the changes there
that need an NDI-python counterpart, plus what was deliberately not changed.

Symmetry parity (so the cross-language tests agree)

  1. Time time_convert symmetry (audit item 28) — MATLAB is now the reference. NDI-matlab:

    • fixed a real ndi.time.syncgraph/time_convert bug (the same-referent/different-clock
      path indexed the cell-array epoch_clock with == instead of cellfun(@(x) eq(x,...)));
    • rebuilt the symmetry referent as a real ndi.element (the bespoke scenarioReferent
      lacked ==, so every same-referent conversion returned empty);
    • made makeArtifacts/time assert each case equals scenario.expected()
      (MATLAB-authoritative) instead of silently skipping.
      The shared scenario spec (scenarioStruct) is unchanged. Action: ensure the Python
      _time_scenario/_SpecRef produces the same conversions and asserts the same expected
      values; treat the MATLAB scenario as the source of truth.
  2. Compute finalizeadvance rename. NDI-matlab renamed
    finalizeSession/FinalizeSession/finalize_compute_session
    advanceSession/AdvanceSession/advance_compute_session to match the cloud API
    (swagger exposes only POST /compute/{sessionId}/advance; there is no /finalize).
    Action: rename the NDI-python cloud client's equivalent finalize call to advance.

  3. Symmetry CI infra. The cross-language symmetry workflow is driven from NDI-python.
    NDI-matlab fixed its side (authenticated GITHUB_TOKEN for matbox dependency resolution;
    tests/+ndi/+symmetry/requirements.txt present). Action: confirm the NDI-python-driven
    workflow passes against the updated NDI-matlab main.

Deferred — cross-client, not changed (need a joint decision)

Deferred — NDI-matlab-side (FYI, no NDI-python action)

requirements.txt SHA-pinning (needs matbox @sha verification), GenBank vocabulary dedup →
git-LFS, and a bulk error()-identifier rewrite were flagged but not done on the MATLAB side;
listed here only so the audit's full deferral set is in one place.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions