# Workflow * branch (from `main`) * do the work in Next Step * move Next Step to the top of Completed Steps * move the top item of Future Steps into Next Step * commit (`TODO.md` changes in the same commit as the work) * merge to `main` if the branch is not protected, otherwise open a PR * push # Status pre-1.0 # Next Step Triage the stale remote branches (issue #71): for each, merge the work or delete the branch. # Completed Steps - 2026-08-09: Finished the lint remediation under the canonical `.golangci.yml` (issue #61, which also unblocks issue #59). Fixed the last 80 findings behavior-preservingly — `wsl_v5` 60, `sqlclosecheck` 10, `gosec` 4, `prealloc` 3, `revive` 3 — so `make check` now exits 0 on `main`. The `sqlclosecheck` sites now close `sql.Rows` in a deferred closure instead of via the `CloseRows` helper, which the linter could not see through; the four `gosec` and three `revive` findings carry per-site `//nolint` directives with justifications, and the package-rename question behind the `revive` ones is tracked in issue #76. - 2026-08-07: Updated golangci-lint to v2.12.2 everywhere it is pinned (`Dockerfile` lint stage, `Makefile` deps target), replaced `.golangci.yml` with the canonical config (v2 schema, `default: all`), and remediated the bulk of the lint findings it surfaced (issue #61): behavior-preserving fixes across every package, 2,990 findings down to 80. `make test` and `make fmt-check` were green at that point but `make lint` was still red; the commit message claiming `make check` was green was wrong. - 2026-08-07: Added the standard `.golangci.yml` and `.editorconfig` (issue #59); lint findings under the new config are tracked in issue #61. `script/bootstrap` now installs sqlite3 (needed by tests). - 2026-07-07 Adopted scripts-to-rule-them-all: `script/` entrypoints, Makefile shims, README Entrypoints section - 2026-07-02: Consolidated CLI verbs, retired overlapping commands; bound the local index to its backup destination URL. - 2026-06-28: snapshot rm now removes metadata only and prints the prune command; restore skips chown when running as non-root. - 2026-06-26: Snapshot IDs hashed at the storage boundary; snapshot list made resilient to bad remote entries. - 2026-06-24: Collapsed snapshot prune into vaultik prune; restore streams blobs to disk and restores files in blob-locality order; cron output fixes. - 2026-06-17: Restore overhaul: ReadAt chunk reads from cached blobs, reference-counted blob sweeper, integration tests; new internal/ui output layer, banner, and progress lines. - 2025-12-18: Added ARCHITECTURE.md and godoc coverage for exported API. - 2025-07-26: End-to-end integration tests; manifest format refactor; renamed backup to snapshot; afero filesystem abstraction. - 2025-07-20: Initial design and implementation: cobra + fx CLI skeleton, SQLite index database, UUID blob storage with streaming chunking. # Future Steps - Define remaining scope for a first tagged release and cut v0.1.0.