Each of these was checked against next at 0700901 (the last three at 81f83b2; line numbers have moved since). Each needs only its sentence changed to match the code. The code changes are tracked in other issues.
ARCHITECTURE.md:85 says chunks are "streamed to storage". In fact each blob is written in full to a temp file in the OS temp directory (internal/blob/packer.go:338-360) and uploaded only after it is finalized (:582-610). A backup therefore needs up to blob_size_limit of free space under $TMPDIR, and no document says so. The README's blob_size_limit entry and config.example.yml should state it.
docs/DATAMODEL.md:113 gives the snapshot ID format as hostname-YYYYMMDD-HHMMSSZ. The actual format is hostname_name_TIMESTAMP, with an RFC 3339 timestamp (internal/snapshot/snapshot.go:121-128).
docs/DATAMODEL.md:229-235 says incomplete snapshots are checked against the destination before deletion. PruneDatabase deletes every incomplete snapshot unconditionally (snapshot.go:1678-1687), which #177 accepted.
docs/DATAMODEL.md:220 says restore "Downloads required blobs based on manifest". Restore never reads the manifest; it uses the snapshot database.
ARCHITECTURE.md:57 and internal/types/types.go:159 say source_path is "for restore path stripping". Restore strips nothing.
config.example.yml:296 gives the index_path default as /var/lib/vaultik/index.sqlite. The default is in the platform data directory (internal/config/config.go:247).
internal/cli/snapshot.go:69 says the config is at /etc/vaultik/config.yml by default. The platform config directory is searched first (internal/cli/root.go:146-150), as the README's --config entry says.
internal/cli/prune.go:25 says snapshot remove runs the same cleanup. It leaves blobs alone and prints a hint instead.
The README section on the release workflow says the release uses actions/setup-go, which contradicts the README's own script/install-go entry. The workflow uses script/install-go.
Since #236, the script/release header comment and the README's goreleaser entry compare goreleaser handling to rules script/lint no longer has.
script/fmt-check says it has the same scope as script/fmt. It also checks testdata and dot-directories, which go fmt ./... skips.
Definition of done
Every sentence above matches the code.
make check passes.
Model: fable-5-1 (audit); opus-5-5 (issue)
Each of these was checked against `next` at `0700901` (the last three at `81f83b2`; line numbers have moved since). Each needs only its sentence changed to match the code. The code changes are tracked in other issues.
- `ARCHITECTURE.md:85` says chunks are "streamed to storage". In fact each blob is written in full to a temp file in the OS temp directory (`internal/blob/packer.go:338-360`) and uploaded only after it is finalized (`:582-610`). A backup therefore needs up to `blob_size_limit` of free space under `$TMPDIR`, and no document says so. The README's `blob_size_limit` entry and `config.example.yml` should state it.
- `docs/DATAMODEL.md:113` gives the snapshot ID format as `hostname-YYYYMMDD-HHMMSSZ`. The actual format is `hostname_name_TIMESTAMP`, with an RFC 3339 timestamp (`internal/snapshot/snapshot.go:121-128`).
- `docs/DATAMODEL.md:229-235` says incomplete snapshots are checked against the destination before deletion. `PruneDatabase` deletes every incomplete snapshot unconditionally (`snapshot.go:1678-1687`), which https://git.eeqj.de/sneak/vaultik/issues/177 accepted.
- `docs/DATAMODEL.md:220` says restore "Downloads required blobs based on manifest". Restore never reads the manifest; it uses the snapshot database.
- `ARCHITECTURE.md:57` and `internal/types/types.go:159` say `source_path` is "for restore path stripping". Restore strips nothing.
- `config.example.yml:296` gives the `index_path` default as `/var/lib/vaultik/index.sqlite`. The default is in the platform data directory (`internal/config/config.go:247`).
- `internal/cli/snapshot.go:69` says the config is at `/etc/vaultik/config.yml` by default. The platform config directory is searched first (`internal/cli/root.go:146-150`), as the README's `--config` entry says.
- `internal/cli/prune.go:25` says `snapshot remove` runs the same cleanup. It leaves blobs alone and prints a hint instead.
- The README section on the release workflow says the release uses `actions/setup-go`, which contradicts the README's own `script/install-go` entry. The workflow uses `script/install-go`.
- Since https://git.eeqj.de/sneak/vaultik/pulls/236, the `script/release` header comment and the README's `goreleaser` entry compare goreleaser handling to rules `script/lint` no longer has.
- `script/fmt-check` says it has the same scope as `script/fmt`. It also checks `testdata` and dot-directories, which `go fmt ./...` skips.
## Definition of done
1. Every sentence above matches the code.
2. `make check` passes.
Model: fable-5-1 (audit); opus-5-5 (issue)
clawbot
self-assigned this 2026-10-06 01:49:48 +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.
Each of these was checked against
nextat0700901(the last three at81f83b2; line numbers have moved since). Each needs only its sentence changed to match the code. The code changes are tracked in other issues.ARCHITECTURE.md:85says chunks are "streamed to storage". In fact each blob is written in full to a temp file in the OS temp directory (internal/blob/packer.go:338-360) and uploaded only after it is finalized (:582-610). A backup therefore needs up toblob_size_limitof free space under$TMPDIR, and no document says so. The README'sblob_size_limitentry andconfig.example.ymlshould state it.docs/DATAMODEL.md:113gives the snapshot ID format ashostname-YYYYMMDD-HHMMSSZ. The actual format ishostname_name_TIMESTAMP, with an RFC 3339 timestamp (internal/snapshot/snapshot.go:121-128).docs/DATAMODEL.md:229-235says incomplete snapshots are checked against the destination before deletion.PruneDatabasedeletes every incomplete snapshot unconditionally (snapshot.go:1678-1687), which #177 accepted.docs/DATAMODEL.md:220says restore "Downloads required blobs based on manifest". Restore never reads the manifest; it uses the snapshot database.ARCHITECTURE.md:57andinternal/types/types.go:159saysource_pathis "for restore path stripping". Restore strips nothing.config.example.yml:296gives theindex_pathdefault as/var/lib/vaultik/index.sqlite. The default is in the platform data directory (internal/config/config.go:247).internal/cli/snapshot.go:69says the config is at/etc/vaultik/config.ymlby default. The platform config directory is searched first (internal/cli/root.go:146-150), as the README's--configentry says.internal/cli/prune.go:25sayssnapshot removeruns the same cleanup. It leaves blobs alone and prints a hint instead.actions/setup-go, which contradicts the README's ownscript/install-goentry. The workflow usesscript/install-go.script/releaseheader comment and the README'sgoreleaserentry compare goreleaser handling to rulesscript/lintno longer has.script/fmt-checksays it has the same scope asscript/fmt. It also checkstestdataand dot-directories, whichgo fmt ./...skips.Definition of done
make checkpasses.Model: fable-5-1 (audit); opus-5-5 (issue)