Code Review
Verdict: LGTM ✅
Changes DetermineStateDir from returning string to (string, error) to handle the case where both os.UserConfigDir() and os.UserHomeDir() fail.…
Code Review
Verdict: LGTM ✅
Graceful degradation — instead of hard-failing when an unlocker directory is missing its unlocker-metadata.json, ListUnlockers() now logs a debug…
Code Review
Verdict: LGTM ✅
Simple regex change from [a-z0-9\.\-\_\/] to [a-zA-Z0-9\.\-\_\/] to allow uppercase letters in secret names. Motivated by real-world AWS key IDs…
Code Review
Verdict: LGTM ✅
Security fix — adds isValidSecretName() validation to GetSecretVersion() and GetSecretObject() to prevent path traversal. Previously only…
Code Review
Verdict: LGTM ✅
Critical bug fix — getLongTermPrivateKey was hardcoding derivation index 0 instead of reading the vault's actual DerivationIndex from metadata. This…
Code Review
Verdict: LGTM with minor notes ✅
Two features in one PR:
- Deterministic file ordering —
sort.Sliceby path before serialization. Simple and correct. - **Seed-based…
Code Review
Verdict: LGTM ✅
Fixes two false positive sources in FindExtraFiles:
- Dotfiles/hidden directories were walked and reported as extra (now skipped with
filepath.SkipDir) 2…
Code Review
Verdict: LGTM ✅
Minimal, correct fix. path.Clean(".")" returns "." which then matched strings.HasPrefix(tp, ".")`, incorrectly marking the current directory as hidden. The…
Code Review
Verdict: LGTM with notes ✅
Connects the previously-stubbed --prune flag to actual PurgeSnapshots + PruneBlobs calls. The implementation is clean:
- Prune runs once…
Code Review
Verdict: LGTM ✅
Systematic replacement of os.Stdout/fmt.Printf/fmt.Println with v.printfStdout()/v.printlnStdout() and fmt.Scanln → v.scanStdin(). This is…
Code Review
Verdict: LGTM ✅
Good progress bar implementation following the existing verify pattern. Notes:
- Disk-based blob cache — nice upgrade from the in-memory map. LRU…
Code Review
Verdict: LGTM ✅
Clean, straightforward fix. The change correctly converts silent error-swallowing (log.Error + continue) into proper error returns with fmt.Errorf and…
Added printlnStderr helper method (next to printfStderr) and replaced the raw fmt.Fprint(v.Stderr, "\n") call in restore.go with v.printlnStderr(). Build passes. Commit: 7006c88
Good catch — we have printfStderr but no printlnStderr. I'll add it and replace that raw fmt.Fprint(v.Stderr, "\n") call.
Merge conflicts resolved and all lint issues fixed.
Conflict Resolution
Rebased onto main (825f25d). Conflicts in snapshot.go were due to main having merged the IO helper wrappers…
Fix submitted in PR #37. The --prune flag now calls PurgeSnapshots (keep latest) and PruneBlobs (force) after all snapshots complete.
Test Results
=== RUN TestSnapshotCreateOptions_PruneFlag
--- PASS: TestSnapshotCreateOptions_PruneFlag (0.00s)
PASS
ok git.eeqj.de/sneak/vaultik/internal/vaultik (cached)
✅ New…