fix(dx): hardening assertions for data correctness and add DESC pagination fixture

What does this MR do and why?

Addresses the four issues raised by Duo's review on !2494 (merged), and adds a missing DESC pagination fixture.

Relates to #1265 (closed)

Testing

All 262 YAML fixtures parse locally. Both null_sort_keys variants (ASC + DESC) pass against Docker testcontainers.

Performance Analysis

  • This merge request does not introduce any performance regression. If a performance regression is expected, explain why.

Test-only changes. No runtime impact.

Agent context — long-form analysis, file-by-file walkthroughs, profiler output, alternatives considered

Duo review fixes

  1. Stale comment: aggregation_user_disconnected_scoped_node_rejects.yaml claimed a negative compile-error check was "not expressible" despite compile_error_not_contains being added in !2494 (merged). Replaced the comment with the actual assertion.

  2. Vacuous assertion guard: PathEdgeExpect with all-optional fields allowed {} to silently assert nothing. Added has_assertions() check that panics if every field is None.

  3. Ordering assumption: path_edges paired actual and expected paths by positional zip, which is fragile if path_ids() order is non-deterministic. Both sides are now sorted by destination ID before comparison.

  4. Step index: Added step field to PathEdgeExpect and used it in step_indices_sequential.yaml so the fixture actually verifies sequential step indices, matching the Rust test's core assertion.

Also rewrote all 6 path_edges fixtures from - - {} nested-dash syntax to - [{}] flow-sequence syntax for readability.

DESC pagination fixture

The Rust test cursor_pages_across_null_sort_keys loops over both mr.merged_at (ASC) and -mr.merged_at (DESC). The existing YAML only covered ASC. Added null_sort_keys_desc.yaml for the DESC variant.

%{all_commits}

Merge request reports

Loading
Loading