T-EQ0H-backup-parity-cases
State: closed/done · Impact: medium · Complexity: medium
Capability::Backup flips to the Rust arm only once determined-parity shows both arms agree.
crates/determined-parity/fixtures/cases/ holds only notekit cases today, so there is no
evidence yet.
Proposed
Section titled “Proposed”Backup cases under crates/determined-parity/fixtures/cases/backup/, run against a synthetic
vault: get_status, get_list, get_changes, get_tree, get_file (markdown, image, binary,
oversize), and run_snapshot on an empty store and on a store with history. Both arms pass
against the recorded expected.json. Store paths, timestamps and shas are normalized where they
legitimately differ.
Acceptance criteria
Section titled “Acceptance criteria”- AC-1: The parity run over
cases/backup/passes with the node arm and with the Rust arm. - AC-2: Each read endpoint has at least one case, and
run_snapshothas a first-snapshot and a follow-up case with a vault delta. - AC-3: Any divergence found is fixed in
crates/determined-backupor recorded as a normalization with a one-line reason in the case.
Out of scope
Section titled “Out of scope”- Flipping the default (T-GHKW).
- Restore; it is Rust-only and gets no node arm.
Dependencies
Section titled “Dependencies”- None.