Skip to content

Add characterization tests for legacy network sync - #417

Closed
bjester wants to merge 1 commit into
net-characterization-363from
legacy-characterization-364
Closed

bjester wants to merge 1 commit into
net-characterization-363from
legacy-characterization-364

Conversation

@bjester

@bjester bjester commented Nov 5, 2026

Copy link
Copy Markdown
Member

Pins what a full push and a full pull send and store when the server lacks ASYNC_OPERATIONS, so the refactors of the LegacyNetwork* operations can show they change neither.

The tests run against a live server that emulates a morango version before 0.6.0: the MORANGO_TEST_LEGACY_SERVER variable turns off both ASYNC_OPERATIONS and FSIC_V2_FORMAT on the server, and LiveServer now takes extra environment variables for that. The client keeps its full set of capabilities, as a current Kolibri does when it syncs with an older one. Reducing only the client capabilities, as #364 first proposed, fails today on the server for both push and pull (#416).

The expected lists show that the client creates the transfer session and sends no stage updates for serializing, queuing, dequeuing, or deserializing. The legacy pull moves 11 records instead of 10: the client creates the transfer session before it serializes, so it sends an empty client_fsic, and the server queues the user from the initial pull again.

Closes #364

Summary

Short description

TODO

  • Have tests been written for the new code?
  • Has documentation been written/updated?
  • New dependencies (if any) added to requirements file

Reviewer guidance

If you PR has a significant size, give the reviewer some helpful remarks

Issues addressed

List the issues solved or partly solved by the PR

Documentation

If the PR has documentation, link the file here (either .rst in your repo or if built on Read The Docs)

AI usage

Pins what a full push and a full pull send and store when the server
lacks ASYNC_OPERATIONS, so the refactors of the LegacyNetwork*
operations can show they change neither.

The tests run against a live server that emulates a morango version
before 0.6.0: the MORANGO_TEST_LEGACY_SERVER variable turns off both
ASYNC_OPERATIONS and FSIC_V2_FORMAT on the server, and LiveServer now
takes extra environment variables for that. The client keeps its full
set of capabilities, as a current Kolibri does when it syncs with an
older one. Reducing only the client capabilities, as #364 first
proposed, fails today on the server for both push and pull (#416).

The expected lists show that the client creates the transfer session
and sends no stage updates for serializing, queuing, dequeuing, or
deserializing. The legacy pull moves 11 records instead of 10: the
client creates the transfer session before it serializes, so it sends
an empty client_fsic, and the server queues the user from the initial
pull again.

Closes #364

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@bjester
bjester added this pull request to stack #412 November 5, 2026 23:27
@bjester

bjester commented Nov 5, 2026

Copy link
Copy Markdown
Member Author

Combined with #415

@bjester bjester closed this Nov 5, 2026
@bjester
bjester removed this pull request from stack #412 November 7, 2026 00:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Tests that pin today's legacy network sync behavior

1 participant