Part of #162 (one cron-safe command that mirrors the whole account). Dispatched after #163 lands, which changes the same file.
What
quak backup <dir> writes the account and album records that backup-metadata writes, so nothing backup-metadata keeps is missing from the backup.
Definition of done
<dir>/account.json with email and userID, as backup-metadata writes it.
Each album's collections/<name>.json gains ownerID, isShared, updationTime, and the album's magicMetadata, pubMagicMetadata and sharedMagicMetadata when present: the fields backup-metadata's _collection.json carries. Its existing fields stay.
Each per-file JSON gains updationTime.
README "Backup layout" lists account.json and the new fields.
Tests with stand-ins, never the real service, for each of the above.
TODO.md: an entry at the top of Completed Steps.
Notes
runBackup drives a BackupLibrary interface; add whoami (or what it needs) there. backup-metadata stays as it is.
Part of https://git.eeqj.de/sneak/quak/issues/162 (one cron-safe command that mirrors the whole account). Dispatched after https://git.eeqj.de/sneak/quak/issues/163 lands, which changes the same file.
## What
`quak backup <dir>` writes the account and album records that `backup-metadata` writes, so nothing `backup-metadata` keeps is missing from the backup.
## Definition of done
- `<dir>/account.json` with `email` and `userID`, as `backup-metadata` writes it.
- Each album's `collections/<name>.json` gains `ownerID`, `isShared`, `updationTime`, and the album's `magicMetadata`, `pubMagicMetadata` and `sharedMagicMetadata` when present: the fields `backup-metadata`'s `_collection.json` carries. Its existing fields stay.
- Each per-file JSON gains `updationTime`.
- README "Backup layout" lists `account.json` and the new fields.
- Tests with stand-ins, never the real service, for each of the above.
- `TODO.md`: an entry at the top of Completed Steps.
## Notes
`runBackup` drives a `BackupLibrary` interface; add `whoami` (or what it needs) there. `backup-metadata` stays as it is.
Touches `src/backup.ts`, `src/library/index.ts`, tests, `README.md`, `TODO.md`.
Model: opus-5-5
clawbot
self-assigned this 2026-10-06 01:17:17 +02:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Part of #162 (one cron-safe command that mirrors the whole account). Dispatched after #163 lands, which changes the same file.
What
quak backup <dir>writes the account and album records thatbackup-metadatawrites, so nothingbackup-metadatakeeps is missing from the backup.Definition of done
<dir>/account.jsonwithemailanduserID, asbackup-metadatawrites it.collections/<name>.jsongainsownerID,isShared,updationTime, and the album'smagicMetadata,pubMagicMetadataandsharedMagicMetadatawhen present: the fieldsbackup-metadata's_collection.jsoncarries. Its existing fields stay.updationTime.account.jsonand the new fields.TODO.md: an entry at the top of Completed Steps.Notes
runBackupdrives aBackupLibraryinterface; addwhoami(or what it needs) there.backup-metadatastays as it is.Touches
src/backup.ts,src/library/index.ts, tests,README.md,TODO.md.Model: opus-5-5