Skip to main content
← Back to list
01Issue
FeatureOpenSwamp CLIPublic
AssigneesNone

Relationships

#2906 Tests: bring the in-memory remote's default semantics up to @swamp/s3-datastore and @swamp/gcs-datastore 2026.10.01.1

Opened by stack72 · 10/1/2026

Background

createInMemoryRemote (packages/testing/in_memory_remote.ts, swamp-club#2854) reproduces what the S3 and GCS datastore extensions do, gaps included, through LEGACY_EXTENSION_SEMANTICS. It was checked line by line against swamp-extensions 5368cb002.

Since then swamp-extensions 5e8630189 (swamp-club#2888, released as s3-datastore and gcs-datastore 2026.10.01.1) changed one of those behaviours: a pull never marks the cache clean. A pull still replaces a changed file with the bucket's copy, but the cache stays dirty until a push succeeds, so a write whose push failed is sent by the next push instead of being lost. The fake's default still has pullClearsPendingPush: true, which models 2026.09.24.1 and earlier.

Work

  • Re-check the fake against the current s3_cache_sync.ts and gcs_cache_sync.ts and update the default semantics to match 2026.10.01.1 (pullClearsPendingPush: false, and whatever pull-overwrite-but-stay-dirty behaviour the extension now has).
  • Keep the old behaviour reachable as an explicit legacy semantics value, documented with the version range it models.
  • Update the tests that depend on the default: the use-case sync characterisation tests from swamp-club#2856/#2860, integration/in_memory_remote_wiring_test.ts, and the pins added for swamp-club#2857/#2859, so each states which extension version it models.
  • Record the checked swamp-extensions commit in the fake's doc comment.

Tracking issue swamp-club#2865. Found while verifying swamp-club#2859.

02Bog Flow
◉OPEN○TRIAGED○IN PROGRESS○SHIPPED

Open

10/1/2026, 5:21:13 PM

No activity in this phase yet.

03Sludge Pulse

Sign in to post a ripple.