16c0fc007c1f
correct three overclaiming comments and drop three that restated their code, after Codex review (3.2.22)
- time
- 2026-09-29 13:32 UTC · 2 weeks ago
- machine
- Junes-MacBook-Pro.local
- agent
- claude-sonnet-5-5
- session
- comment and tidy pass
- parent
- bae6f36f4351
↓ koh-16c0fc00.tar.gzatlas at this save
files changed7 files
VERSION+1 −1src/cli/cmd_save.v+2 −2src/exchange/records.v+1 −2src/exchange/strip.v+2 −1src/remote/s3.v+2 −1src/storage/storage.v+0 −1v.mod+1 −1src/cli/cmd_save.v+2 −2
@@ -7,8 +7,8 @@77 import src.history88 import src.snapshot99 10-// cmd_save records the tree as a save, or as a checkpoint, which also records an unchanged tree. It needs11-// a message and refuses when nothing has changed.10+// cmd_save records the tree as a save, or as a checkpoint. It needs a message, and a plain save refuses11+// when nothing has changed; a checkpoint records an unchanged tree.1212 pub fn cmd_save(raw []string, is_checkpoint bool) int {1313 verb := if is_checkpoint { 'checkpoint' } else { 'save' }1414 args := parse(verb, raw, Options{src/exchange/records.v+1 −2
@@ -41,7 +41,6 @@4141 return '${repo}/head'4242 }4343 44-// events_prefix lists a repo's events; event_key names one.4544 pub fn events_prefix(repo string) string {4645 return '${repo}/events'4746 }@@ -222,7 +221,7 @@222221 return json2.encode(event_record(event))223222 }224223 225-// decode_event reads an event the way decode_save reads a save.224+// decode_event applies the same lone-surrogate rule as decode_save.226225 pub fn decode_event(body []u8) !events.Event {227226 record := json2.decode[EventRecord](lone_surrogates_as_bytes(body).bytestr())!228227 return events.Event{src/exchange/strip.v+2 −1
@@ -64,7 +64,8 @@6464 return file == path || file.starts_with('${path.trim_right('/')}/')6565 }6666 67-// strip_scope counts what strip_rows will delete, using the same match, so the warning is exact.67+// strip_scope counts the rows strip_rows will delete, using the same match. `objects` is the distinct68+// content they hold; content another path still uses is kept, so fewer may be deleted.6869 pub fn strip_scope(store &storage.Store, path string, only_save string) !Scope {6970 mut stmt := store.db.prepare('SELECT COUNT(*), COUNT(DISTINCT save_id), COUNT(DISTINCT hash)7071 FROM save_files WHERE ${match_clause(only_save)}')!src/remote/s3.v+2 −1
@@ -75,7 +75,8 @@7575 }7676 }7777 78-// list follows ListObjectsV2 continuation tokens until the listing is no longer truncated.78+// list follows ListObjectsV2 continuation tokens until the listing is no longer truncated, or a79+// truncated one names no next token.7980 pub fn (mut s S3) list(prefix string) ![]string {8081 mut keys := []string{}8182 mut token := ''src/storage/storage.v+0 −1
@@ -171,7 +171,6 @@171171 s.db.exec('BEGIN IMMEDIATE')!172172 }173173 174-// end finishes the transaction begin opened.175174 pub fn (s &Store) end() ! {176175 s.db.exec('END')!177176 }v.mod+1 −1
@@ -1,6 +1,6 @@11 Module {22 name: 'koh3'3- version: '3.2.21'3+ version: '3.2.22'44 description: 'One SQLite file per repo, one line of history.'55 license: 'MIT'66 }