Standard Grant: Vup Vault - Personal Backup, Sync & Archive with indexd

Grant Milestone Progress Report (February)

What progress was made on your grant this month? Summarize your progress into a few sentences or bullet points.

  • Implemented s5_compression crate: zstd compress/decompress with optional trained dictionary support, achieving excellent compression on typical backup content (JSON, markdown, code, config files, logs)

  • Added index-only import mode to s5_importer_local: hash files with blake3 and track them in FS5 without uploading blob data, enabling the vault to index local directories efficiently

  • Created vup_cli crate with vup config (BIP39 seed phrase generation + validation), vup add (register directories and index), vup status (re-index and display vault state), and vup backup (stub for M2)

  • Config persistence via ~/.config/vup/config.toml with seed phrase (to be replaced by encrypted secret storage), source directories, and local store targets

Task Commits Additional Notes
s5_compression crate f548cb5 zstd compress/decompress + dictionary training, 5 unit tests + 1 doctest
Index-only import mode 4567c82 s5_importer_local: ImportMode enum, ImportProgress, create_index_only(), 3 unit tests
vup CLI scaffold with clap 6d6aeac vup config, vup add, vup status, vup backup commands
Config file format and storage 6d6aeac VaultConfig with TOML persistence, BIP39 seed phrase, local store targets

Validation: Clone GitHub - s5-dev/s5-rs ยท GitHub, checkout commit 6d6aeac and run cargo test -p s5_compression -p s5_importer_local -p vup_cli

What will you be working on next month?

  • vup backup command: scan added directories, create FS5 snapshot, upload to configured store with resume support

  • vup snapshots command: list snapshots with date, paths, and size

  • vup restore command: restore full snapshot or filtered subset to a target path

  • Progress reporting with indicatif (upload/download progress bars, ETA, throughput)

2 Likes