# 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 (https://git.eeqj.de/sneak/bsdaily/issues/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` (https://git.eeqj.de/sneak/bsdaily/issues/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 (https://git.eeqj.de/sneak/bsdaily/issues/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.