managarten/services/mana-sync
Till JS 79996f946a feat(sync): schemaVersion + eventId on wire (M2 protocol hardening)
- sync_changes gains schema_version column (default 1, idempotent ADD)
- Change/Changeset carry schemaVersion; server refuses > MaxSupported
- server->client changes now carry eventId + schemaVersion so the
  restore path can dedup via eventId and route through a migration
  chain keyed on schemaVersion
- backup JSONL gains schemaVersion per line

Pre-M2 clients (omit the field) are treated as v1 for compatibility.
This is the stability contract we commit to before launch: once v1
events are in the wild, all future builds must replay them forward.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 15:25:32 +02:00
..
cmd/server feat(sync): Phase 2 — server-side billing gate, cron charging, email notifications 2026-04-10 22:28:57 +02:00
internal feat(sync): schemaVersion + eventId on wire (M2 protocol hardening) 2026-04-14 15:25:32 +02:00
test refactor: rename ManaDeck to Cards across entire monorepo 2026-04-01 11:45:21 +02:00
CLAUDE.md docs(mana-sync): document billing middleware, new env vars, project structure 2026-04-10 22:38:23 +02:00
Dockerfile fix(mana-sync): update Dockerfile to copy workspace shared-go dependency 2026-04-11 15:49:01 +02:00
go.mod chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
go.sum refactor(shared-go): extract shared auth package from 3 Go services 2026-04-02 13:27:44 +02:00
package.json feat: rename ManaCore to Mana across entire codebase 2026-04-05 20:00:13 +02:00