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.
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.
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.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Accumulates the 1.0.0 milestone. One squashed commit per closed issue, each landed on
nextonly after an independent adversarial review passed and bothmake checkandscript/cibuildwere observed green with the Docker cache defeated.Mergeable to
mainat any time, without notice — that is the invariantnextis maintained under. Contents grow as units land; this PR is not held back for a completeness criterion.Landed so far
.golangci.yml, all resulting findings fixed tree-wide. Two intended behavior changes: absentMFFilePath.Mtimehandled explicitly infreshen/list/export(mainpanicked on it), and an explicit--end-of-options marker before positionalgpgkey IDs. All twelve reworded user-visible error messages restored to byte-identical parity withmainand pinned by tests.script/fmtandscript/fmt-checkshare onescript/prettierentrypoint so they cannot drift; markdown formatting is gated in the Docker build via a newmdfmtstage;REPO_POLICIES.mdignored so local tooling cannot drift it from upstream. The|| truethat 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/cibuildgreen is not currently trustworthy on its own.clawbot referenced this pull request2026-09-03 15:14:27 +02:00
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.