-
15e6506e5d
next: integrate accumulated work into main (#114)
main
sneak
2026-09-23 13:03:02 +02:00
-
-
d24f5dc33c
Adopt the canonical golangci-lint config (closes #90)
next
clawbot
2026-09-23 02:14:40 +02:00
-
-
eed117fe25
Route direct-stdout command output through internal/ui (closes #149)
clawbot
2026-09-22 20:28:50 +02:00
-
dd7a610c23
Mark a snapshot complete only after its metadata export succeeds (closes #177)
clawbot
2026-09-22 20:00:41 +02:00
-
1548c0f933
Correct the security claims in docs and comments, and record the accepted risks (closes #171)
clawbot
2026-09-22 19:28:31 +02:00
-
c3bec7d3aa
Reject a metadata database truncated to the age header and nonce (closes #152)
clawbot
2026-09-22 18:11:57 +02:00
-
1244c9e48d
Bound download expansion and escape control chars on the terminal (closes #164)
clawbot
2026-09-22 17:00:35 +02:00
-
82c51a5337
Validate blob hashes, offsets and lengths from the destination (closes #155)
clawbot
2026-09-22 16:11:28 +02:00
-
d88ed64489
Parse the age identity key once and accept every identity in it (closes #165)
clawbot
2026-09-22 15:45:27 +02:00
-
bd9656dbd4
Reject a decrypted snapshot database that is not the requested one (closes #156)
clawbot
2026-09-22 15:01:02 +02:00
-
7e611b95db
Check blob sizes and the database in shallow verify (closes #169)
clawbot
2026-09-22 14:28:44 +02:00
-
4f27608560
Add negative and boundary tests for blobgen and types (closes #170)
clawbot
2026-09-22 14:28:34 +02:00
-
ae6aaaa388
Wait for the interrupted operation to clean up before exit (closes #159)
clawbot
2026-09-22 14:00:49 +02:00
-
f788668287
Remove the unused crypto path and write the blob-ID hash step once (closes #151)
clawbot
2026-09-22 13:46:02 +02:00
-
238ce3985f
Scrub example config of real credentials and internal hosts (closes #172)
clawbot
2026-09-22 13:45:52 +02:00
-
548a7ae156
Give the local index and its export copy an explicit 0600 mode (closes #168)
clawbot
2026-09-22 13:12:07 +02:00
-
3a58377127
Parse age_recipients at config load and never echo the entry (closes #153)
clawbot
2026-09-22 13:01:00 +02:00
-
a6434de57f
Open the downloaded snapshot database read-only, on a private temp dir (closes #162)
clawbot
2026-09-22 12:45:53 +02:00
-
b4654f8e52
Abort the run when packing fails, even under --skip-errors (closes #161)
clawbot
2026-09-22 12:28:44 +02:00
-
39aef1c47c
Stop config set echoing secrets; reject credential-bearing storage URLs (closes #166)
clawbot
2026-09-22 12:28:32 +02:00
-
96ebcd40d7
Reconcile purge against remote by hashed key, not human ID (closes #160)
clawbot
2026-09-22 12:11:49 +02:00
-
d9f0220f94
Restore files at 0600 and make the blob hash check unskippable (closes #163)
clawbot
2026-09-22 11:45:52 +02:00
-
4c83e82543
Reject a blob_size_limit below the largest possible chunk (closes #167)
clawbot
2026-09-22 11:45:41 +02:00
-
86361c8b50
Fail closed on unreadable manifests instead of losing blobs (closes #157)
clawbot
2026-09-22 11:45:30 +02:00
-
d77663d039
Default a scheme-less s3.* endpoint to TLS (closes #158)
clawbot
2026-09-22 11:11:34 +02:00
-
3abe9cbd9e
Scope the PID lock to mutating commands (closes #150)
clawbot
2026-09-22 11:01:29 +02:00
-
76a6917a35
Keep restore writes inside the target directory (closes #154)
clawbot
2026-09-22 11:01:01 +02:00
-
38ebfd843a
Trust only uploaded blobs for deduplication (closes #148)
clawbot
2026-09-22 10:29:21 +02:00
-
6b7517a4dc
Add fault-injection tests for interruption and corruption (closes #72)
clawbot
2026-09-22 09:46:46 +02:00
-
994e5de613
Quiet only the stdout UI under --json, not the log level (closes #112)
clawbot
2026-09-22 09:05:52 +02:00
-
42f4e648d7
Reconcile docs with code across the accuracy-sweep items (closes #74)
clawbot
2026-09-22 09:05:36 +02:00
-
343129f891
Accept a remote key for restore and verify, and document it (closes #124)
clawbot
2026-09-22 01:01:25 +02:00
-
a50e3fa038
Add tests for internal/storage: URL parsing, backends, shared conformance suite (closes #66)
clawbot
2026-09-22 00:58:27 +02:00
-
6fcd8e1668
Stamp Docker image version from the host; flush profiles on error exit (closes #75)
clawbot
2026-09-21 22:01:05 +02:00
-
aab6a87f8c
Reconcile the schema/migration docs with the code (closes #68)
clawbot
2026-09-21 21:58:37 +02:00
-
c355ef4d25
Report a prune count that could not be read as unknown, not 0 (closes #96)
clawbot
2026-09-21 21:41:57 +02:00
-
5927e1aa3d
Write file:// blobs atomically via temp file and rename (closes #130)
clawbot
2026-09-21 21:24:42 +02:00
-
9ca962969a
Map s3 not-found to storage.ErrNotFound in Get and Stat (closes #129)
clawbot
2026-09-21 21:07:35 +02:00
-
89ebfc78e2
Use one duration parser and fix the --older-than months example (closes #123)
clawbot
2026-09-21 20:58:30 +02:00
-
07ef3a1c78
Drop the lint-guard shell scanner, keep the Dockerfile.lint checks (closes #121)
clawbot
2026-09-21 20:41:33 +02:00
-
c423d13191
Hash the plaintext, not the encrypted bytes, in verify --deep (closes #131)
clawbot
2026-09-21 20:24:37 +02:00
-
75a10d3a22
Hash-verify the Go toolchain in the release workflow (closes #105)
clawbot
2026-09-21 19:48:52 +02:00
-
3d56dd7eb0
VACUUM snapshot metadata through the sqlite driver, not a CLI (closes #120)
clawbot
2026-09-21 19:41:28 +02:00
-
bdce350041
Delete dead code and stale fixtures, fix config set reindent (closes #70)
clawbot
2026-09-21 19:25:01 +02:00
-
753bc3ef60
Correct remote layout and privacy docs for hashed snapshot keys (closes #67)
clawbot
2026-09-21 19:24:44 +02:00
-
d2a0510cb4
Trigger CI on next, not only main (closes #122)
clawbot
2026-09-21 14:55:59 +02:00
-
583f65040a
Correct --cron flag help to name warnings as unsuppressed (closes #87)
clawbot
2026-09-21 14:55:45 +02:00
-
d257f8f658
Lint in a container as a build step, via Dockerfile.lint (closes #113)
sneak
2026-08-10 12:54:46 +00:00
-
-
696ed9ab4d
Gate prune's local-cleanup output on --json, and make
make build build (closes #108)
clawbot
2026-08-09 19:53:46 +02:00
-
f21e7c9e70
Suppress the startup banner for --json (closes #106)
clawbot
2026-08-09 19:18:36 +02:00
-
c16ef476a9
Log to stderr and stop discarding With attributes (closes #82)
clawbot
2026-08-09 18:43:55 +02:00
-
e3f407b440
Make the tagged-release path work on Gitea (closes #65)
clawbot
2026-08-09 18:03:18 +02:00
-
b6e4a218a3
Isolate the lint cache and context-gate the native path (closes #99)
clawbot
2026-08-09 17:15:07 +02:00
-
c51f693527
Make the test gate unfakeable and stop test-integration lying (closes #93)
clawbot
2026-08-09 16:29:26 +02:00
-
3f9c2e5033
Record the stale-branch triage and advance TODO.md (closes #71)
clawbot
2026-08-09 10:23:30 +02:00
-
50816b7415
Make a missing CHECK_EPOCH fail the build (closes #91)
clawbot
2026-08-09 10:09:27 +02:00
-
c3bb3b5580
Make script/cibuild unable to report an unearned green (closes #85)
clawbot
2026-08-09 09:37:55 +02:00
-
3bcdbcfd83
Correct what --cron actually suppresses (closes #84)
clawbot
2026-08-09 07:43:45 +02:00
-
50e20b460e
List remote snapshots without requiring the private key (closes #64)
clawbot
2026-08-09 07:34:15 +02:00
-
af607e3597
Run the linter at the pinned version locally too (closes #78)
clawbot
2026-08-09 04:52:22 +02:00
-
e496aa334b
Finish the lint remediation: script/cibuild exits 0 (closes #61)
clawbot
2026-08-09 04:25:11 +02:00
-
cc58583130
Update golangci-lint to v2.12.2 with canonical config (#62)

clawbotandsneak
2026-08-07 23:22:48 +02:00
-
b87b72d4b9
Update TODO.md: lint remediation chunk 1 complete (refs #61)
sneak
2026-08-07 17:00:13 +00:00
-
e7b49d58ab
Fix noinlineerr findings: internal/vaultik (refs #61)
sneak
2026-08-07 16:59:56 +00:00
-
919229f224
Fix noinlineerr findings: internal/storage (refs #61)
sneak
2026-08-07 16:59:56 +00:00
-
68cffba35d
Fix noinlineerr findings: internal/snapshot (refs #61)
sneak
2026-08-07 16:59:56 +00:00
-
26cbb63749
Fix noinlineerr findings: internal/pidlock (refs #61)
sneak
2026-08-07 16:59:56 +00:00
-
bf1d3c6bad
Fix noinlineerr findings: internal/database (refs #61)
sneak
2026-08-07 16:59:56 +00:00
-
dca3c50cd2
Fix noinlineerr findings: internal/crypto (refs #61)
sneak
2026-08-07 16:59:56 +00:00
-
1ee0d291ca
Fix noinlineerr findings: internal/config (refs #61)
sneak
2026-08-07 16:59:56 +00:00
-
2f7e37153c
Fix noinlineerr findings: internal/cli (refs #61)
sneak
2026-08-07 16:59:56 +00:00
-
26909b058a
Fix noinlineerr findings: internal/chunker (refs #61)
sneak
2026-08-07 16:59:56 +00:00
-
2dfdc5f095
Fix noinlineerr findings: internal/blobgen (refs #61)
sneak
2026-08-07 16:59:56 +00:00
-
217d60eeaa
Fix noinlineerr findings: internal/blob (refs #61)
sneak
2026-08-07 16:59:56 +00:00
-
f7ba056814
Fix noinlineerr findings: cmd/vaultik (refs #61)
sneak
2026-08-07 16:59:56 +00:00
-
82eb352eb5
Apply linter autofixes: internal/vaultik (refs #61)
sneak
2026-08-07 16:53:23 +00:00
-
0296e26210
Apply linter autofixes: internal/storage, types, ui (refs #61)
sneak
2026-08-07 16:53:23 +00:00
-
1e05fa0dd7
Apply linter autofixes: internal/snapshot (refs #61)
sneak
2026-08-07 16:53:23 +00:00
-
bec964fc20
Apply linter autofixes: internal/globals, log, models, pidlock, s3 (refs #61)
sneak
2026-08-07 16:53:23 +00:00
-
b1451bb17e
Apply linter autofixes: internal/database (refs #61)
sneak
2026-08-07 16:53:19 +00:00
-
ee83f50281
Apply linter autofixes: internal/crypto (refs #61)
sneak
2026-08-07 16:53:19 +00:00
-
76f79af733
Apply linter autofixes: internal/config (refs #61)
sneak
2026-08-07 16:53:19 +00:00
-
070a8a5447
Apply linter autofixes: internal/cli (refs #61)
sneak
2026-08-07 16:53:19 +00:00
-
40516d1263
Apply linter autofixes: internal/chunker (refs #61)
sneak
2026-08-07 16:53:19 +00:00
-
a66e1f9844
Apply linter autofixes: internal/blobgen (refs #61)
sneak
2026-08-07 16:53:19 +00:00
-
5e4df7d04f
Apply linter autofixes: internal/blob (refs #61)
sneak
2026-08-07 16:53:19 +00:00
-
d34868a9c4
Apply linter autofixes: cmd/vaultik (refs #61)
sneak
2026-08-07 16:53:19 +00:00
-
04fce150bc
Add script/lint-fix entrypoint and make lint-fix shim (refs #61)
sneak
2026-08-07 16:40:59 +00:00
-
23d22a0f19
Add standard .golangci.yml (refs #59)
sneak
2026-08-07 16:29:49 +00:00
-
c9c72ef29d
script/bootstrap: install sqlite3, which the test suite shells out to
sneak
2026-08-07 16:29:45 +00:00
-
928c389a5a
Add .editorconfig (refs #59) (#60)

clawbotandsneak
2026-08-07 17:46:18 +02:00
-
2aaeeb4966
Refresh vendored REPO_POLICIES.md
sneak
2026-07-07 01:53:18 +02:00
-
43346e62db
Adopt scripts-to-rule-them-all: script/ entrypoints, Makefile shims
sneak
2026-07-07 00:19:19 +02:00
-
df975bb8f0
Add standard Workflow section to TODO.md
sneak
2026-07-06 21:06:38 +02:00
-
fc56b0cb30
Add TODO.md
sneak
2026-07-06 20:35:44 +02:00
-
1f32820607
Merge branch 'refactor/cli-verb-consolidation'
sneak
2026-07-02 16:42:24 +02:00
-
-
34a4d163f2
Consolidate CLI verbs; retire overlapping commands
sneak
2026-07-02 16:42:20 +02:00
-
-
9497a31d0f
Merge branch 'fix/bind-local-index-to-storage-url'
sneak
2026-07-02 16:35:44 +02:00
-
-
d330f9f031
Bind the local index to its backup destination
sneak
2026-07-02 16:35:41 +02:00
-
-
fda6d7a7eb
Merge branch 'fix/restore-skip-chown-non-root'
sneak
2026-06-28 07:48:32 +02:00
-