Skip to content

Sync → Test future manifest halts the pass - #149

Merged
revett merged 1 commit into
8thpark:mainfrom
terminalchai:test/145-unsupported-manifest-sync
Jul 28, 2026
Merged

revett merged 1 commit into
8thpark:mainfrom
terminalchai:test/145-unsupported-manifest-sync

Conversation

@terminalchai

@terminalchai terminalchai commented Jul 27, 2026 •

Copy link
Copy Markdown
Contributor

Resolves #145

Problem

  • The manifest decoder rejects unknown future versions, but no full syncOnce test proves the pass stops before doing any work
  • A regression could let an older client alter a bucket written by a newer client

Changes

  • Add a full-pass regression test using a future manifest version
  • Use fail-fast local and remote collaborators to prove there are no local reads or writes, planning, remote listing, uploads, copies, or deletions
  • Assert the pass returns the expected update-required failure with no snapshot progress

Why

  • An older client must never modify data in a format it does not understand

Testing

  • npm run lint
  • npm run build
  • npm test
  • npm run check-versions
  • npm run audit

Integration tests were not run locally because Docker Desktop was unavailable.

Greptile Summary

Adds a full-pass regression test confirming that syncOnce rejects a future manifest version before performing local or remote synchronization work.

  • Replaces collaborator operations with fail-fast implementations to detect unintended reads, writes, planning-related listing, copies, uploads, or deletions.
  • Verifies the update-required failure response contains no failures or snapshot progress.

Confidence Score: 5/5

The PR appears safe to merge because the added test accurately exercises the future-manifest rejection path without changing production behavior.

The fail-fast collaborators cover all local and remote work reachable after manifest decoding, while the permitted manifest read returns an unsupported version and the assertion matches the established early-return outcome.

Important Files Changed

Filename Overview
src/sync/sync.test.ts Adds focused regression coverage for the existing future-manifest early-return path; the setup and expected outcome align with the current synchronization contracts, with no actionable issues identified.

Reviews (1): Last reviewed commit: "test(sync): guard unsupported manifest p..." | Re-trigger Greptile

@revett
revett merged commit d1d1a55 into 8thpark:main Jul 28, 2026
10 checks passed
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.

Sync → No full pass test proves an unknown manifest version halts sync

2 participants