Commit Graph

  • 5a88a52ab2 Export the loaded manifest type as Manifest (closes #236) v1.0.0-rc4 next clawbot 2026-10-21 13:12:20 +02:00
  • e2deea2e34 Drop mimeType and ctime from the manifest format (closes #235) v1.0.0-rc3 clawbot 2026-10-19 20:52:00 +02:00
  • 033d8be5be Never list index.mf at the top of the tree in gen and freshen (closes #233) v1.0.0-rc2 clawbot 2026-10-16 00:58:56 +02:00
  • f360f1c070 Never report index.mf at the top of the base as unlisted in check (closes #229) clawbot 2026-10-16 00:42:24 +02:00
  • 06127e291f Describe releases as SemVer git tags in the README (closes #226) clawbot 2026-10-15 22:42:35 +02:00
  • 31e22a9337 Refuse a manifest entry whose mode is above 0777 on load (closes #225) clawbot 2026-10-15 22:02:54 +02:00
  • 95a37d8009 Load the manifest check downloads from memory, not a temp file (closes #223) clawbot 2026-10-15 21:59:12 +02:00
  • 7d601a5902 Require a SHA-256 hash in every manifest entry (closes #224) clawbot 2026-10-15 21:25:27 +02:00
  • 6a3f532c8d Return the context's error when it ends during a fetch request (closes #221) v1.0.0-rc1 clawbot 2026-10-14 01:55:41 +02:00
  • 0baf83deb6 Sign or timestamp an unchanged tree's manifest in freshen (closes #190) clawbot 2026-10-14 00:42:44 +02:00
  • 589f1a9580 Finish docs/FORMAT.md as a specification with a test vector (closes #84) clawbot 2026-10-14 00:35:00 +02:00
  • 7542a68863 Refuse a file whose size changed between freshen's scan and hash (closes #207) clawbot 2026-10-14 00:01:34 +02:00
  • 6540e5f285 Refuse an empty --require-signature or --sign-key (closes #205) clawbot 2026-10-14 00:01:30 +02:00
  • 2ac238d767 Send fetch progress at most once per second (closes #206) clawbot 2026-10-14 00:01:21 +02:00
  • 2cfea66d27 Refuse a path with a . segment (closes #208) clawbot 2026-10-14 00:01:12 +02:00
  • 8ec3fd9a67 Refuse a signature made when its key was not valid (closes #209) clawbot 2026-10-14 00:01:02 +02:00
  • 0057f6463b Report only symlinks to regular files as extra files in check (closes #192) clawbot 2026-10-14 00:00:53 +02:00
  • 7abe9a0ab1 Read a path or URL named help or h as an argument (closes #198) clawbot 2026-10-14 00:00:44 +02:00
  • 9199444d11 Take the version from the git tag, not a constant (closes #80) clawbot 2026-10-14 00:00:35 +02:00
  • 60dbcc03bc Refuse to freshen a signed manifest without --sign-key (closes #191) clawbot 2026-10-14 00:00:27 +02:00
  • a79dd463f1 Hold runMu in internal/cli tests that log outside a CLI run (closes #210) clawbot 2026-10-14 00:00:14 +02:00
  • 24496880c5 Refuse an expired signature whose key has expired too (closes #193) clawbot 2026-10-13 19:21:53 +02:00
  • 61238e4071 Refuse a file entry with no hash when loading a manifest (closes #194) clawbot 2026-10-13 18:04:47 +02:00
  • f68cc284ac Log failed files at error level so check -q shows them (closes #195) clawbot 2026-10-13 16:46:13 +02:00
  • e633d3a31b Read only regular files in gen, freshen and check (closes #189) clawbot 2026-10-13 16:39:09 +02:00
  • c36f27068f Describe the signature scheme in docs/FORMAT.md as the code builds it (closes #187) clawbot 2026-10-13 15:55:47 +02:00
  • 8f7170b77f Read options after the path or URL and refuse a second argument (closes #196) clawbot 2026-10-13 14:21:56 +02:00
  • 0fbb3da0a5 Sign and verify manifests in Go with OpenPGP instead of running gpg (closes #181) 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) clawbotandclawbot 2026-03-17 05:07:43 +01:00
  • e62c709d42 Remove committed .index.mf and add to .gitignore (#52) clawbotanduser 2026-03-17 05:06:37 +01:00
  • 89903fa1cd Split Dockerfile: pre-built golangci-lint stage for faster CI (#45) clawbotandclawbot 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