docs: correct the stale fmt-gate note in CLAUDE.md; handoff-79
ci / gate (push) Successful in 2m6s
ci / manifests (push) Successful in 4s

CLAUDE.md said "fmt is intentionally not gated yet" — stale; the gate is
now fmt + clippy + test (ADR-ci-002 Amendment 1 / issue #35), run via
`nix develop -c`. Add CI-exact local-verification guidance and flag the
exit-code-vs-piped-output trap that masked the fmt failure this session.
handoff-79 records the blob removal + the CI/fmt lesson.
This commit is contained in:
claude@clouddev1
2026-06-22 21:43:51 +00:00
parent c9d6660ba6
commit e845a6ee72
2 changed files with 44 additions and 18 deletions
+12 -4
View File
@@ -115,15 +115,23 @@ Current decisions at a glance (each backed by an ADR):
a self-hosted
**Gitea Actions** pipeline built on a **nix flake** (pinned Rust
`1.95.0` — one source of toolchain for dev *and* CI) plus a
prebuilt CI image. **Gate** (`ci.yaml`): `clippy -D warnings` +
`cargo test` on every branch push / PR. **Release** on a `v*` tag
prebuilt CI image. **Gate** (`ci.yaml`, every step run via `nix
develop -c` so dev and CI share the pinned toolchain): `cargo fmt
--check` + `clippy -D warnings` + `cargo test --no-fail-fast` on
every branch push / PR. **Verify locally the CI way before pushing**
— `nix develop -c cargo fmt --check`, `nix develop -c cargo clippy
--all-targets -- -D warnings`, `nix develop -c cargo test` — and read
the **exit code**, not piped output (a `cargo fmt --check | tail &&
echo clean` masks the real result; a bare host `cargo` may also differ
from the pinned toolchain). **Release** on a `v*` tag
(`release.yaml`): the four non-macOS **D1** targets cross-built
with `cargo-zigbuild` (Linux musl static + standalone Windows
`.exe`); the two macOS targets via the **dispatched**
`release-macos.yaml` on a Tart Apple-Silicon runner (de-nix the
`libiconv` load path + ad-hoc re-sign). All published to a Gitea
release with `.sha256`s. **`fmt` is intentionally not gated yet**
(the tree isn't stock-`rustfmt`-clean). Now that this is on `main`,
release with `.sha256`s. **`fmt` is gated** (`cargo fmt --check`,
stock defaults — enabled once the tree was reformatted on `main`,
ADR-ci-002 Amendment 1 / issue #35). Now that this is on `main`,
`release-macos` is dispatchable (`workflow_dispatch` is
Gitea-default-branch-only) — **dispatched and verified working**: the
macOS build + de-nix/re-sign + upload runs end-to-end and the binaries