Back to Super Productivity

SuperSync Executable Scenario Index

docs/sync-and-op-log/supersync-scenarios.md

18.18.014.1 KB
Original Source

SuperSync Executable Scenario Index

Status: Routing index, not a prose specification.

Executable tests and their implementation owners define current behavior. This page points maintainers to representative coverage for each durable scenario family; it does not attempt to enumerate every timing interleaving or duplicate test names in prose.

For the complete inventory, search e2e/tests/sync/, src/app/op-log/, and packages/super-sync-server/tests/.

End-to-end scenarios

Scenario familyRepresentative executable contracts
Baseline create, update, delete, multi-client convergencesupersync.spec.ts
No-op cursor advancement and realtime deliverysupersync-no-op-sync.spec.ts, supersync-realtime-push.spec.ts, supersync-lastseq-preservation.spec.ts
LWW conflicts, disjoint-field merge, multi-client winner convergencesupersync-lww-conflict.spec.ts, supersync.spec.ts
Delete-wins and ordered relationship conflictssupersync-project-delete-conflict.spec.ts, supersync-concurrent-delete-reorder.spec.ts, supersync-task-ordering.spec.ts
SECTION move/removal/reorder semantic replaysupersync-section-convergence.spec.ts and the SECTION replay contract
SYNC_IMPORT clean slate, concurrent imports, late operationssupersync-import-clean-slate.spec.ts, supersync-concurrent-import.spec.ts, supersync-import-other-client-ops.spec.ts
Empty/reset server migration and abort safetysupersync-server-migration.spec.ts, supersync-server-migration-abort.spec.ts, supersync-account-reset.spec.ts
Backup/replacement recovery and crash resumesupersync-backup-recovery.spec.ts, supersync-use-remote-crash-resume.spec.ts, supersync-server-backup-revert.spec.ts
Encryption, password lifecycle, downgrade/decrypt failuressupersync-encryption.spec.ts, supersync-encryption-password-change.spec.ts, supersync-wrong-password-error.spec.ts, supersync-final-page-decrypt-failure-9256.spec.ts
Retry, transient download, constraint, and network failuresupersync-rejected-ops-transient-download-8331.spec.ts, supersync-constraint-error-recovery.spec.ts, supersync-network-failure.spec.ts
Compaction, snapshot clocks, and vector-clock pruningsupersync-compaction.spec.ts, supersync-snapshot-vector-clock.spec.ts, supersync-vector-clock-pruning.spec.ts, supersync-vector-clock-max-size.spec.ts
Archive and multi-entity cascade behaviorsupersync-archive-data-sync.spec.ts, supersync-archive-conflict.spec.ts, supersync-cascade-delete.spec.ts, supersync-cross-entity.spec.ts
Provider/account switch and late joinsupersync-provider-switch.spec.ts, supersync-reenable-and-account-switch.spec.ts, supersync-late-join.spec.ts, webdav-provider-switch.spec.ts
Schema and legacy-provider migrationsupersync-legacy-migration-sync.spec.ts, webdav-legacy-migration-sync.spec.ts

Focused client contracts

Use the smaller suite first when changing one mechanism:

MechanismFocused owner/test
Download paging, gaps, and cursor plansoperation-log-download.service.spec.ts
Import filtering and clean-slate classificationsync-import-filter.service.spec.ts
Remote conflict/apply orchestrationremote-ops-processing.service.spec.ts
Superseded-op replacement and SECTION replaysuperseded-operation-resolver.service.spec.ts
Decrypted payload/metadata integrityverify-decrypted-op-integrity.spec.ts
Crash-safe apply/store behaviorservice-logic.integration.spec.ts, remote-apply-store-port.integration.spec.ts

Server contracts

MechanismFocused owner/test
Conflict detection and multi-entity lookupconflict-detection.spec.ts, conflict-entity-lookup-plan.pglite.spec.ts
Atomic clean-slate replacementclean-slate-atomicity-sql.integration.spec.ts
Gap/reset detectiongap-detection.spec.ts
Snapshot clock and skip optimizationsnapshot-vector-clock-sql.integration.spec.ts, snapshot-skip-optimization.integration.spec.ts
Validation, payload limits, and server securityvalidation.service.spec.ts, server-security.spec.ts

Running and extending coverage

Run a focused client spec with:

bash
npm run test:file src/app/op-log/sync/<file>.spec.ts

For SuperSync and WebDAV E2E, prefer manually dispatching E2E Tests (Scheduled) for the branch. It provides the dedicated services and sharded SuperSync jobs. See e2e/CLAUDE.md for focused local commands.

Every sync fix must begin with a reproducible failure against real operation or state shapes. Add the narrow focused test first, then add or extend E2E when the contract spans clients, persistence/restart, transport, or released-version compatibility. Update this index only when a durable scenario family gains or changes its executable owner.