1.0.0 milestone #92

Open
clawbot wants to merge 2 commits from next into main
Collaborator

Accumulates the 1.0.0 milestone. One squashed commit per closed issue, each landed on next only after an independent adversarial review passed and both make check and script/cibuild were observed green with the Docker cache defeated.

Mergeable to main at any time, without notice — that is the invariant next is maintained under. Contents grow as units land; this PR is not held back for a completeness criterion.

Landed so far

  • #60 — golangci-lint v2.12.2 + canonical .golangci.yml, all resulting findings fixed tree-wide. Two intended behavior changes: absent MFFilePath.Mtime handled explicitly in freshen/list/export (main panicked on it), and an explicit -- end-of-options marker before positional gpg key IDs. All twelve reworded user-visible error messages restored to byte-identical parity with main and pinned by tests.
  • #69 — prettier configured and pinned by lockfile integrity hash; script/fmt and script/fmt-check share one script/prettier entrypoint so they cannot drift; markdown formatting is gated in the Docker build via a new mdfmt stage; REPO_POLICIES.md ignored so local tooling cannot drift it from upstream. The || true that made the old prettier call unable to fail is gone.

Verification note

The Gitea Actions runner has been down since 2026-08-09 (#93), so commits here carry no CI status. Every unit was instead gated by hand in a worker clone and independently re-verified by its reviewer, in both cases with the Docker layer cache defeated so the checks were observed executing rather than replayed — see #89 for why a plain script/cibuild green is not currently trustworthy on its own.

Accumulates the 1.0.0 milestone. One squashed commit per closed issue, each landed on `next` only after an independent adversarial review passed and both `make check` and `script/cibuild` were observed green with the Docker cache defeated. Mergeable to `main` at any time, without notice — that is the invariant `next` is maintained under. Contents grow as units land; this PR is not held back for a completeness criterion. ## Landed so far - https://git.eeqj.de/sneak/mfer/issues/60 — golangci-lint v2.12.2 + canonical `.golangci.yml`, all resulting findings fixed tree-wide. Two intended behavior changes: absent `MFFilePath.Mtime` handled explicitly in `freshen`/`list`/`export` (`main` panicked on it), and an explicit `--` end-of-options marker before positional `gpg` key IDs. All twelve reworded user-visible error messages restored to byte-identical parity with `main` and pinned by tests. - https://git.eeqj.de/sneak/mfer/issues/69 — prettier configured and pinned by lockfile integrity hash; `script/fmt` and `script/fmt-check` share one `script/prettier` entrypoint so they cannot drift; markdown formatting is gated in the Docker build via a new `mdfmt` stage; `REPO_POLICIES.md` ignored so local tooling cannot drift it from upstream. The `|| true` that made the old prettier call unable to fail is gone. ## Verification note The Gitea Actions runner has been down since 2026-08-09 (https://git.eeqj.de/sneak/mfer/issues/93), so commits here carry no CI status. Every unit was instead gated by hand in a worker clone and independently re-verified by its reviewer, in both cases with the Docker layer cache defeated so the checks were observed executing rather than replayed — see https://git.eeqj.de/sneak/mfer/issues/89 for why a plain `script/cibuild` green is not currently trustworthy on its own.
clawbot added 1 commit 2026-08-10 16:06:30 +02:00
Update golangci-lint to v2.12.2 with canonical config (closes #60)
Some checks failed
check / check (push) Has been cancelled
de476708e9
Adopts golangci-lint v2.12.2 and the canonical .golangci.yml (default: all), and fixes all resulting findings across the tree.

Two intended behavior changes: absent MFFilePath.Mtime is handled explicitly in freshen, list and export rather than dereferenced (main panicked); gpg positional key IDs now follow an explicit -- end-of-options marker.

All twelve reworded user-visible error messages restored to byte-identical parity with main and pinned by tests.
clawbot added 1 commit 2026-08-10 16:16:45 +02:00
Configure prettier and make fmt-check cover markdown (closes #69)
All checks were successful
check / check (push) Successful in 4s
5683d0f4ff
Adds .prettierrc and .prettierignore, a single script/prettier entrypoint shared by fmt and fmt-check so the two cannot drift, and prettier 3.9.6 pinned by yarn.lock integrity hash.

Markdown formatting is now gated in the authoritative Docker build via a new mdfmt stage, since the golangci-lint image has no node. REPO_POLICIES.md is ignored so local tooling cannot drift it from upstream.

Removes the || true that made the previous prettier invocation unable to fail.
Some checks are pending
check / check (push) Successful in 4s
check
Required
Some required checks are missing.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin next:next
git checkout next
Sign in to join this conversation.