Move the command line from cmd/bsdaily into internal/cli (closes #8)
check / check (push) Waiting to run

cmd/bsdaily/main.go now only passes Version to cli.Main and exits with
the status it returns, as REPO_POLICIES.md requires of cmd/. The cobra
command, the flag rules and the date parsing moved unchanged into
internal/cli, so flags, help text, error messages, exit status and the
first log line stay as they were. The fallback to dev for an empty
version moved with them into cli.Main.

parseTargetDates is exported as ParseTargetDates so that a table test
outside the package can reach it; the test never touches the filesystem
or runs the extraction. README describes the new layout and TODO.md
records the step.

Model: opus-5-5
This commit is contained in:
2026-10-06 16:46:07 +00:00
parent f5c7614768
commit 69d52e7094
6 changed files with 260 additions and 122 deletions
+5
View File
@@ -156,6 +156,11 @@ included to do exactly this and to rebuild the aggregate statistics
# How It Works
`cmd/bsdaily/main.go` only passes the version to `internal/cli` and exits with
the status it returns. `internal/cli` holds the command line: the flags, the
rules for combining them and the parsing of the dates they name.
`internal/bsdaily` does the extraction.
A single run proceeds as follows:
1. **Find the snapshot.** Scan `SnapshotBase` for directories matching