Conversation
nstarman
force-pushed
the
switch-to-prek
branch
from
September 15, 2026 15:28
eb97ff0 to
ba4e05a
Compare
prek is a drop-in, Rust-based reimplementation of pre-commit that reads the same .pre-commit-config.yaml. Swaps the pre-commit dependency and invocations (nox session / CI action) for prek. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
no-commit-to-branch would otherwise fail every push to main: CI checks out a real local branch literally named `main` for push events, so the hook would always fire. It's a client-side guard for a human running `git commit`/`git push` locally (or via installed git hooks) -- not something a full "run every hook" CI invocation should re-evaluate after the fact. Skips it there via SKIP=no-commit-to-branch; the hook itself is untouched and still fully active locally. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…anch Appends no-commit-to-branch to any SKIP a developer already has set (e.g. via their shell) rather than overwriting it wholesale, matching the same fix applied in response to Copilot review feedback on GalacticDynamics/coordinax#885. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Addresses Copilot review feedback on GalacticDynamics/galax#847: the comment said "CI checks out the real main branch," but the skip applies unconditionally, including local `nox -s lint` runs -- which is correct (a CI-only skip would leave the same false failure for any local dev running the full suite while on `main`). Fixes the wording to match the actual, intended behavior instead of narrowing it. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Addresses Copilot review feedback on GalacticDynamics/dataclassish#94: the docstring "Run prek." on a session still named `precommit` could read as though the session itself was renamed. Spells out that it runs the pre-commit hooks, now via prek. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Addresses Copilot review feedback on GalacticDynamics/galax#847: this comment still said no-commit-to-branch guards `git push`, but the earlier stages: [pre-commit] fix means it no longer runs on push at all. Clarifies that explicitly instead of leaving stale wording. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
… trigger Addresses Copilot review feedback on GalacticDynamics/galax#847: "it never fires on push" reads as a claim about this workflow's own `on: push:` trigger (which is false -- that's why the SKIP exists at all), when it actually means the git pre-push hook stage. Spells that out explicitly. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Switching pre-commit -> prek removed pre-commit's own `pyyaml>=5.1` requirement, which had been implicitly keeping --resolution lowest's global pyyaml pick high enough to build. With it gone, the only remaining constraint is commitizen's (via cz-conventional-gitmoji) unbounded pyyaml, so --resolution lowest dropped to pyyaml 3.10 -- a 2013 sdist that fails to compile against modern CPython's C API, breaking "Check Oldest Dependencies". Restores the same pyyaml>=5.1 floor pre-commit used to provide. Also drops the nodeenv>=1.9.1 constraint added for the same reason on pre-commit's behalf: nodeenv was pre-commit's own dependency and has no other consumer, so it's no longer part of the graph at all now that prek (a standalone binary) replaced it. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The archaeology (why pre-commit's nodeenv/pyyaml floors mattered, why --skip clobbers, the full CI-checkout explanation) belongs in commit history, not permanently inline. Keeps just enough to orient a future reader without re-litigating the whole investigation. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
nstarman
force-pushed
the
switch-to-prek
branch
from
September 15, 2026 21:56
657f8ab to
fbb24b7
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
.pre-commit-config.yaml— no hook changes neededpre-commitdependency forprekwherever it's declared (nox lint group / dev group) and updates the noxprecommitsession (or CI action) to invokeprekinsteaduv.lockto matchThis mirrors the same swap already merged in unxt#929, coordinax#881, jaxmore#26, quaxed#213, and quax-blocks#64.
Note: this repo's
.pre-commit-config.yamlstill has pre-commit.ci'sci:autoupdate block. Disabling the pre-commit.ci GitHub App integration itself is a setting on pre-commit.ci / the repo's installed-apps page, not something a code change can do — worth doing once this merges, to avoid running checks twice.Test plan
uv lockresolves cleanly withprekreplacingpre-commitprek run --all-files(andno-commit-to-branchspecifically) locally against this org's existing.pre-commit-config.yamlformat🤖 Generated with Claude Code