This website requires JavaScript.
d08867ae56
Describe the signature scheme in docs/FORMAT.md as the code builds it (closes #187 )
issue-187-signature-scheme-doc
sneak
2026-10-12 09:03:05 +00:00
0fbb3da0a5
Sign and verify manifests in Go with OpenPGP instead of running gpg (closes #181 )
next
clawbot
2026-10-08 09:42:45 +02:00
c23367c216
List a file given to Scanner.EnumeratePath by its name (closes #182 )
clawbot
2026-10-08 07:08:40 +02:00
a5f218e42a
List a directory named through a symlink in gen and freshen (closes #185 )
clawbot
2026-10-08 05:59:02 +02:00
6229c4eca0
Write gen DIR's manifest to DIR/index.mf (closes #178 )
clawbot
2026-10-08 03:08:40 +02:00
e35cd4a045
Resolve check and freshen paths against the manifest's directory (closes #177 )
clawbot
2026-10-07 17:28:38 +02:00
c0b099cc48
Make error message wording consistent (closes #165 )
clawbot
2026-10-07 17:25:41 +02:00
dce5e050c3
Link docs/FORMAT.md as the format specification in the README (closes #166 )
clawbot
2026-10-07 15:59:10 +02:00
4fe1ff2fe1
Refuse a path listed twice in a manifest (closes #170 )
clawbot
2026-10-07 15:28:57 +02:00
01ff67a38e
Refuse a manifest whose inner message version is not one (closes #169 )
clawbot
2026-10-07 15:25:47 +02:00
f663f4242d
Limit how much fetch and check read for a manifest or a file (closes #168 )
clawbot
2026-10-07 14:25:45 +02:00
0762a728d4
Compare --require-signature with the key that signed (closes #167 )
clawbot
2026-10-07 13:59:17 +02:00
2a174e3ba2
Raise Go to the latest release, update dependencies, use the standard library uuid, add a vulnerability check (closes #102 )
clawbot
2026-10-06 20:26:15 +02:00
2a270b40c5
Record file mode in the manifest, 0000 unless asked (closes #161 )
clawbot
2026-10-06 11:43:18 +02:00
ce66f7c1c1
Re-vendor the canonical files from sneak/prompts dd4027b (closes #159 , closes #116 )
clawbot
2026-10-06 04:43:18 +02:00
343431dd30
Drop atime from the format spec and pin the file entry fields (closes #158 )
clawbot
2026-10-06 03:26:16 +02:00
99b3e0e202
fetch refuses a manifest whose paths differ only in letter case (closes #154 )
clawbot
2026-10-06 01:43:33 +02:00
ce024baaed
Move the CLI to urfave/cli v3 (closes #110 )
clawbot
2026-10-04 22:02:12 +02:00
ab72692439
Pin the remaining developer tool installs (closes #68 )
clawbot
2026-10-04 20:48:51 +02:00
9bb0ab3a03
fetch refuses a manifest that lists another file's temp name (closes #151 )
clawbot
2026-10-04 20:02:17 +02:00
d3394bd2a2
Makefile: thin shims only, add make build (closes #73 )
clawbot
2026-10-04 18:38:13 +02:00
a3e37d1ab8
fetch: destination directory, skip files already present, save the manifest, require a signer (closes #101 )
clawbot
2026-10-04 18:31:51 +02:00
acff23d92b
Check Go formatting with gofumpt, as make fmt writes it (closes #70 )
clawbot
2026-10-04 17:54:50 +02:00
8fe0244291
check always warns about files the manifest does not list (closes #103 )
clawbot
2026-10-04 17:48:51 +02:00
400a2f8f63
Move FORMAT.md to docs/ and contrib/ to bin/, fix bash script style (closes #74 )
clawbot
2026-10-04 17:09:20 +02:00
ba3d24ca42
End-to-end tests for freshen and fetch (closes #66 )
clawbot
2026-10-04 17:02:22 +02:00
11041330a7
Move internal/log from apex/log to log/slog (closes #77 )
clawbot
2026-10-04 16:31:54 +02:00
5c7ef94799
Set go_package to the sneak.berlin/go/mfer module path (closes #79 )
clawbot
2026-10-04 16:02:21 +02:00
82b9434444
fetch: client timeout, retry with backoff, url.JoinPath (closes #63 )
clawbot
2026-10-04 15:48:55 +02:00
6a2307a82b
check waits for its progress output before the summary (closes #140 )
clawbot
2026-10-04 15:31:57 +02:00
4bf87d1ccf
AddFileWithHash rejects hashes that are not multihashes (closes #129 )
clawbot
2026-10-04 14:48:49 +02:00
e412d20c20
Default the manifest to index.mf and keep it out of its own listing (closes #100 )
clawbot
2026-10-04 13:48:52 +02:00
0501568203
Never regenerate mf.pb.go during checks; fail when it is stale (closes #71 )
clawbot
2026-10-04 13:31:57 +02:00
0a9963002c
NewChecker takes CheckerOptions instead of positional arguments (closes #78 )
clawbot
2026-10-04 12:19:31 +02:00
76116005c8
Reject manifests whose file entries decode far larger than their bytes (closes #123 )
clawbot
2026-10-04 12:02:27 +02:00
7088857692
Count -v once and document -v -v for debug output (closes #125 )
clawbot
2026-10-04 11:48:52 +02:00
588c1bae74
Give the image CA certificates so fetch works over HTTPS (closes #131 )
clawbot
2026-10-04 10:31:54 +02:00
114ba0a29f
Disable the deprecated gomodguard linter (closes #116 )
issue-116-gomodguard
sneak
2026-10-04 08:06:40 +00:00
64eb5cbd40
Scanner status tests no longer depend on a 100 ms timer (closes #124 )
clawbot
2026-10-04 09:48:51 +02:00
45eac1f6f8
Run all linting in Docker via the Dockerfile lint stage (closes #90 )
clawbot
2026-10-04 09:31:54 +02:00
b91e92b070
Build a static binary so the scratch image runs (closes #126 )
clawbot
2026-10-04 08:48:52 +02:00
a2732cf8da
Add the required README sections (closes #75 )
clawbot
2026-10-04 06:32:07 +02:00
a789eb3083
Give -v to verbose, move --version to -V (closes #64 )
clawbot
2026-10-04 06:02:24 +02:00
d00982b329
Fuzz NewManifestFromReader and cap the zstd decoder (closes #65 )
clawbot
2026-10-04 05:31:51 +02:00
51f69c960d
Enforce real timeouts on gpg subprocess calls (closes #62 )
clawbot
2026-10-04 04:31:53 +02:00
1adad7d3bc
Remove TODO.md; track open work in the issues (closes #76 )
clawbot
2026-10-04 03:32:09 +02:00
c31796998f
Pin CLI error messages by driving their real call sites (closes #87 )
clawbot
2026-10-03 18:24:30 +02:00
a3749e9e9b
cibuild: build with --no-cache like script/docker (closes #89 )
clawbot
2026-10-03 17:41:55 +02:00
fa97c4519c
Never write fetch's temp file into an existing file (closes #115 )
clawbot
2026-10-03 16:58:35 +02:00
7e601929c8
Refuse fetch writes through a symlink in the destination (closes #86 )
clawbot
2026-10-03 16:08:09 +02:00
c3b5fe651a
Stamp the tag or short commit in a plain docker build (closes #112 )
clawbot
2026-10-02 08:53:34 +02:00
0deacfc7ed
Validate manifest entry paths on deserialize (closes #61 )
clawbot
2026-09-22 00:47:26 +02:00
7de4d6ec1c
Rewrite script/test to the canonical race-enabled pattern (closes #67 )
clawbot
2026-09-21 15:17:50 +02:00
6de3f1d714
Add .editorconfig, broaden .gitignore, drop dead Drone refs (closes #72 )
clawbot
2026-09-21 09:56:15 +02:00
5683d0f4ff
Configure prettier and make fmt-check cover markdown (closes #69 )
clawbot
2026-08-10 16:16:42 +02:00
de476708e9
Update golangci-lint to v2.12.2 with canonical config (closes #60 )
clawbot
2026-08-10 16:06:12 +02:00
6d19de74e7
scripts-to-rule-them-all (#58 )
main
sneak
2026-07-07 02:13:35 +02:00
688ebd90a4
TODO (#57 )
sneak
2026-07-06 21:19:31 +02:00
5dc4433477
move to standardized repo policies (#56 )
sneak
2026-06-28 09:35:33 +02:00
3be8064865
Merge branch 'main' into next
sneak
2026-06-28 09:35:17 +02:00
958a5f8fc4
move to standardized repo policies
sneak
2026-06-28 09:30:11 +02:00
9ce16a83ad
Add TODO section to README with 1.0 roadmap, remove TODO.md (#54 )
2026-04-07 00:43:56 +02:00
01124c10d9
Add Gitea Actions CI workflow (#53 )
clawbot
2026-03-20 06:57:27 +01:00
6ba32f5b35
Add REPO_POLICIES.md, rename CLAUDE.md to AGENTS.md, deduplicate (#51 )
clawbot and clawbot
2026-03-17 05:07:43 +01:00
e62c709d42
Remove committed .index.mf and add to .gitignore (#52 )
clawbot and user
2026-03-17 05:06:37 +01:00
89903fa1cd
Split Dockerfile: pre-built golangci-lint stage for faster CI (#45 )
clawbot and clawbot
2026-03-15 18:56:25 +01:00
b3d10106e1
next (#44 )
sneak
2026-03-15 18:49:19 +01:00
9712c10fe3
Merge main into next: resolve conflicts, rewrite Dockerfile for Go 1.23
clawbot
2026-03-14 15:18:51 -07:00
43916c7746
1.0 quality polish — code review, tests, bug fixes, documentation (#32 )
clawbot
2026-03-01 23:58:37 +01:00
bbab6e73f4
Add deterministic file ordering in Builder.Build() (closes #23 ) (#28 )
sneak
2026-02-20 12:15:13 +01:00
615eecff79
Merge branch 'next' into fix/issue-23
sneak
2026-02-20 12:14:53 +01:00
9b67de016d
chore: remove committed vendor/modcache archives (#35 )
clawbot
2026-02-20 12:14:29 +01:00
3c779465e2
remove time-hard hash iteration from seed UUID derivation
clawbot
2026-02-20 03:06:33 -08:00
5572a4901f
reduce seed iterations to 150M (~5-10s on modern hardware)
clawbot
2026-02-08 16:36:26 -08:00
2adc275278
feat: add --seed flag for deterministic manifest UUID
clawbot
2026-02-08 16:32:02 -08:00
6d9c07510a
Add deterministic file ordering in Builder.Build()
clawbot
2026-02-08 16:09:16 -08:00
6d1bdbb00f
chore: remove stale .drone.yml (#37 )
clawbot and user
2026-02-20 12:00:49 +01:00
ae70cf6fb5
Fix FindExtraFiles reporting manifest and dotfiles as extra (closes #16 ) (#21 )
sneak
2026-02-20 11:38:52 +01:00
5099b6951b
Fix IsHiddenPath treating current directory as hidden (closes #14 ) (#19 )
sneak
2026-02-20 11:37:23 +01:00
1f7ee256ec
fix: update go directive from 1.17 to 1.22 (fixes #33 ) (#34 )
sneak
2026-02-20 11:35:44 +01:00
28c6fbd220
fix: update go directive from 1.17 to 1.22 (fixes #33 )
clawbot
2026-02-20 02:25:21 -08:00
7b61bdd62b
fix: handle errcheck warnings in gpg.go and gpg_test.go
clawbot
2026-02-19 23:41:14 -08:00
8c7eef6240
fix: handle errcheck warnings in gpg.go and gpg_test.go, fix gofmt
clawbot
2026-02-19 23:40:50 -08:00
97dbe47c32
fix: FindExtraFiles skips dotfiles and manifest files to avoid false positives
clawbot
2026-02-08 12:06:08 -08:00
f6478858d7
fix: IsHiddenPath returns false for "." and "/" (current dir/root are not hidden)
clawbot
2026-02-08 12:03:54 -08:00
5aae442156
add links to metalink format (#7 )
sneak
2026-02-09 02:15:58 +01:00
1f12d10cb7
Fix errors.Is with errors.New() never matching in checker (closes #12 ) (#17 )
2026-02-09 02:15:08 +01:00
7f25970dd3
Fix URL encoding for file paths in fetch command (closes #13 ) (#18 )
2026-02-09 02:14:20 +01:00
70af055d4e
Fix newTimestampFromTime panic on extreme dates (closes #15 ) (#20 )
2026-02-09 02:10:21 +01:00
04b05e01e8
Consolidate scanner/checker — delete internal/scanner/ and internal/checker/ (closes #22 ) (#27 )
2026-02-09 02:09:01 +01:00
7144617d0e
Add decompression size limit in deserializeInner() (closes #24 ) (#29 )
2026-02-09 01:45:55 +01:00
2efffd9da8
Specify and enforce path invariants (closes #26 ) (#31 )
2026-02-09 01:45:29 +01:00
ebaf2a65ca
Fix AddFile to verify actual bytes read matches declared size (closes #25 ) (#30 )
clawbot and clawbot
2026-02-09 01:35:07 +01:00
4b80c0067b
docs: replace TODO.md with design questions and implementation plan
clawbot
2026-02-08 18:40:31 +01:00
5ab092098b
progress
sneak
2026-02-08 09:25:58 -08:00
4a2060087d
Add GPG signature verification on manifest load
sneak
2025-12-18 05:28:35 -08:00
213364bab5
Add UUID to manifest and verify integrity before decompression
sneak
2025-12-18 02:20:51 -08:00
778999a285
Add GPG signing support for manifest generation
sneak
2025-12-18 02:12:54 -08:00
308c583d57
Remove codebase structure section from README
sneak
2025-12-18 01:38:13 -08:00
019fe41c3d
Update .gitignore for new bin/ build directory
sneak
2025-12-18 01:30:50 -08:00