## Problem

Nothing shipped uses the CRDT sync stack. No desktop, mobile, or plugin code calls `/api/sync`, and `cloud-sync` is absent from the plugin manifest, yet the repo keeps a Durable Object, tests, and a dormant plugin. That is maintenance cost for a feature no user reaches.

## Evidence

- `apps/web/src/sync.ts` (334 lines) serves `/api/sync` and is routed in `apps/web/src/index.ts`. `apps/web/wrangler.jsonc` binds `CRDT_SYNC` and registers the `v1-crdt-sync` SQLite class.
- A repo-wide search for `/api/sync` returns only `apps/web/src/sync.ts`, `apps/web/src/index.ts`, and `apps/web/test/index.spec.ts`. No desktop, CLI, plugin, or SDK code calls it.
- `plugins/crates/cloud-sync` is about 1,650 lines of implementation plus 620 lines of tests. It is a `plugins/Cargo.toml` workspace member but is not listed in `plugins/manifest.json`, so it is never packaged.
- `docs/CRDT_PLUGIN.md` already says: "production code does not use it yet. Only its own tests reference it."
- `docs/public/**` and `README.md` never mention sync.

## Impact

Everyone touching cloud code has to keep a dormant Durable Object, its auth path, its tests, and a non-shipping plugin building. Removing it shrinks the deployed Worker surface and the plugin workspace build. No user-facing surface changes because none exists today.

If cross-device sync is still intended (TODO lines 45–46, 88–89, 201–202), this issue is the place to say so and record what would replace the current design. Otherwise the smallest removal is:

1. Delete `apps/web/src/sync.ts`, its route, its tests, and the `CRDT_SYNC` binding.
2. Add a `deleted_classes` migration for `CrdtSync` so the class can be retired.
3. Delete `plugins/crates/cloud-sync` and its workspace entry.
4. Delete `docs/CRDT_PLUGIN.md`, or mark it as a rejected design.

<sub>Generated on _MrBeast_ using _opencode-go/deepseek-v4.1-flash_ in _ses_e4e791c2affeMESQY12TV38EBX_</sub>
