Split export into a complete backup and a shareable extract #16

Closed
opened 2026-08-26 09:15:23 +00:00 by GKaszewski · 0 comments
Owner

What to build

Two distinct exports, because backing up and sharing are different intents that a single artifact cannot serve honestly.

Complete backup stays exhaustive and round-trips with the existing archive importer. Every dimension, every DailyMetric, every CycleStart. A backup that silently omits data is not a backup, and the omission only surfaces at restore time — the one moment it cannot be recovered from.

Shareable extract carries mood, content, and activities only. Handing a mood journal to a therapist or a friend should not also disclose a location history, cycle records, and body metrics.

A single export with checkboxes was rejected: it produces files that look like backups and are not.

Naming and UI copy carry real weight here — the two must be impossible to confuse at the point of download, because the failure mode is someone sharing the wrong one and not finding out.

This lands last deliberately, once every dimension exists, so the backup is complete on arrival rather than needing an amendment per dimension.

Acceptance criteria

  • Complete backup includes every dimension, DailyMetric, and CycleStart
  • Complete backup round-trips through the archive importer with no data loss
  • Shareable extract contains mood, content, and activities and nothing else
  • Shareable extract contains no coordinates, health metrics, or cycle data
  • The two are clearly distinguished at the point of download
  • Adding a future dimension has a documented, single place to register it for backup

Blocked by

## What to build Two distinct exports, because backing up and sharing are different intents that a single artifact cannot serve honestly. **Complete backup** stays exhaustive and round-trips with the existing archive importer. Every dimension, every `DailyMetric`, every `CycleStart`. A backup that silently omits data is not a backup, and the omission only surfaces at restore time — the one moment it cannot be recovered from. **Shareable extract** carries mood, content, and activities only. Handing a mood journal to a therapist or a friend should not also disclose a location history, cycle records, and body metrics. A single export with checkboxes was rejected: it produces files that look like backups and are not. Naming and UI copy carry real weight here — the two must be impossible to confuse at the point of download, because the failure mode is someone sharing the wrong one and not finding out. This lands last deliberately, once every dimension exists, so the backup is complete on arrival rather than needing an amendment per dimension. ## Acceptance criteria - [ ] Complete backup includes every dimension, `DailyMetric`, and `CycleStart` - [ ] Complete backup round-trips through the archive importer with no data loss - [ ] Shareable extract contains mood, content, and activities and nothing else - [ ] Shareable extract contains no coordinates, health metrics, or cycle data - [ ] The two are clearly distinguished at the point of download - [ ] Adding a future dimension has a documented, single place to register it for backup ## Blocked by - #6 - #9 - #10 - #11
GKaszewski added the ready-for-agent label 2026-08-26 09:15:23 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GKaszewski/k-mood#16