Files
bsdaily/TODO.md
T
clawbot bcf2c8550d
check / check (push) Waiting to run
Move the command line from cmd/bsdaily into internal/cli (closes #8)
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
Co-authored-by: clawbot <sneak+clawbot@sneak.cloud>
2026-10-06 23:07:50 +02:00

2.6 KiB

Workflow

  • branch (from main)
  • do the work in Next Step
  • move Next Step to the top of Completed Steps
  • move the top item of Future Steps into Next Step
  • commit (TODO.md changes in the same commit as the work)
  • merge to main if the branch is not protected, otherwise open a PR
  • push

Status

pre-1.0

Next Step

Expand the internal/bsdaily tests beyond the compilation smoke test: unit tests for the extraction, verification, and atomic-publish paths.

Completed Steps

  • 2026-10-06: Moved the command line (flags, the rules for combining them, date parsing) from cmd/bsdaily into internal/cli, with unit tests for the flag rules and the dates; cmd/bsdaily/main.go is now a single call into it (#8).
  • 2026-10-06: A plain docker build . and a host make build stamp the git tag or short commit into the binary, which bsdaily logs on the first line of every run and prints with --version (#4).
  • 2026-10-06: Added the canonical .golangci.yml, moved the lint phase to golangci-lint v2.14.0, and fixed the code to pass it (#6).
  • 2026-10-06: Formatted Markdown with prettier: script/fmt writes and script/fmt-check checks every Markdown file; prettier pinned in package.json and yarn.lock, installed by script/bootstrap, which installs node and yarn at pinned versions when absent and otherwise uses the ones already installed; existing Markdown reformatted.
  • 2026-10-05: Brought the repo up to the standard layout: canonical .gitignore, .dockerignore and .editorconfig; lint and test phases in the Dockerfile, built by script/lint and script/test; canonical script/cibuild, script/docker and CI workflow; no linter installed on the host; re-vendored REPO_POLICIES.md.
  • 2026-07-07 Adopted scripts-to-rule-them-all: script/ entrypoints, Makefile shims, README Entrypoints section
  • 2026-06-28: Fixed errcheck lint failures; added compilation smoke test; tidied go.mod.
  • 2026-06-28: Added repo scaffolding: README, LICENSE, Makefile, Dockerfile, REPO_POLICIES.md, and Gitea CI.
  • 2026-02-12: Fixed SQLite database locking by removing parallel processing; fixed Linux build via golang.org/x/sys/unix Fadvise.
  • 2026-02-12: Optimized file copy for large databases; moved temp directory to NVMe scratch storage.
  • 2026-02-11: Added date range support.
  • 2026-02-09: Initial implementation: single-day extraction, specific-date targeting, faster pruning of throwaway database copies.

Future Steps

  • Cut a first SemVer release once compliance and test coverage land.