Skip to content

ci(crdt): run the late-stamp convergence test now that the server redelivers late stamps - #38

Merged
juicycleff merged 1 commit into
mainfrom
ci/crdt-dart-late-stamp
Oct 8, 2026
Merged

juicycleff merged 1 commit into
mainfrom
ci/crdt-dart-late-stamp

Conversation

@juicycleff

@juicycleff juicycleff commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

This turns the late-stamp convergence test back on. It was skipped because the server never redelivered a change pushed with an older stamp than a device had already synced past. #37 fixed that and it's on main now, so the skip has nothing left to excuse.

The test is "a change pushed late with an older stamp reaches a device that synced past it" in crdt-dart/test/conformance/convergence_test.dart. Device B syncs a later stamp, device A then pushes an earlier one, and both should end at 10. The suite-level skip for machines without Go stays, so a laptop with no toolchain still gets a clean run.

You can run it from crdt-dart with GOWORK=off GOPROXY=off dart test test/conformance/. It builds the conformance server from this checkout, so you need Go and a warm module cache. All 37 conformance tests pass and none are skipped.

The workflow is stricter too. The LATE_STAMP_SKIP exemption and the "allowed" branch of the jq check are gone, so any skipped conformance test now fails the "Conformance tests ran" step. We ran the check over a fresh JSON run (exits 0), then over the same run with one test flipped to skipped (exits 1). MIN_CONFORMANCE_SUITES is untouched.

One small extra: doc/go-parity.md still described the limitation and pointed at the skipped case, so that bullet now says the server redelivers late stamps.

@juicycleff
juicycleff merged commit 069b6f8 into main Oct 8, 2026
24 checks passed
@juicycleff
juicycleff deleted the ci/crdt-dart-late-stamp branch October 8, 2026 13:48
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.

1 participant