README, script/version and the version test's header said git describe
gives the tag or the short commit. On a commit after a tag it gives the
tag, the commits since it and the short commit; each place now names
that case too.
Model: opus-5-5
script/build writes the version script/version prints into
dist/package.json, which quak --version reports: the VERSION environment
variable or build arg when one is given, otherwise git describe --tags
--always, otherwise package.json's version. A checkout with .git whose
version comes out empty, dev or unknown fails the build.
.dockerignore no longer leaves out .git, and ARG VERSION has no default,
so a plain docker build . of a clone stamps its commit. script/docker and
script/cibuild still pass the host's version. make build-bin bundles the
built dist/, so the single binary reports the same version.
Model: opus-5-5