From cefbd5e69af5fc50216e44cb746adfee6306ad64 Mon Sep 17 00:00:00 2001 From: JohnnyT Date: Fri, 25 Sep 2026 17:25:52 -0600 Subject: [PATCH] Brings the gate stage section up to date The "When a stage fails" section of CLAUDE.md named the ex_quality constraint from before the move to 0.15 and listed six stages. It now names the constraint mix.exs carries (~> 0.15) and the eight stages a bare mix quality runs here: the six it listed plus Docs and Doc links, which .quality.exs enables at :auto and which run because ex_doc is a dev dependency. The three expected skips are unchanged. Documentation only: no behaviour, gate or version change, and no changelog fragment (changelog.d/README.md excludes documentation). Refs: px-wm2w --- CLAUDE.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 1ddd023..a54a6c8 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -342,7 +342,7 @@ required, this file wins. The full reference is **`deps/ex_quality/usage-rules.md`**, vendored with the dependency, so it is the version of the tool this repo actually runs -(`{:ex_quality, "~> 0.14"}`). Read it when a stage fails in a way its own +(`{:ex_quality, "~> 0.15"}`). Read it when a stage fails in a way its own output does not explain, or when you need the shape of the JSON report. Fetch it with `mix deps.get` if `deps/` is cold; do not go looking for the rules on the web instead. @@ -353,8 +353,9 @@ Four rules do not wait to be looked up: stage costs one line and detail prints only for failures, so truncating removes findings, not noise. - **Read the `○` lines.** A skipped stage is not a passing one. This repo runs - six stages - Format, Compile, Dependencies, Credo, Tests, Dialyzer - and - three are reported `○ skipped (not installed)`: Doctor, Gettext, Sobelow. + eight stages - Format, Compile, Dependencies, Credo, Tests, Dialyzer, Docs, + Doc links - and three are reported `○ skipped (not installed)`: Doctor, + Gettext, Sobelow. Those three are recorded in `.claude/wurk.json` under `gate.project_level_skips` and `gate.not_applicable_skips` and are the expected state. Any other `○` in a full run is a real gap and is worth