Repository navigation
Bring the contributor workflow up to solprop's standard - #12
Merged
Merged
Conversation
Implementation PRs add a changelog.d/ fragment instead of editing the shared CHANGELOG.md. After each merge a workflow refreshes one draft PR that collects them. The tools come from solprop, adapted to croak's `## [Unreleased]` heading. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
`poe check` gains codespell, a new dev dependency, and `poe changelog-check`, both ahead of the slow test step. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The workflows pointed at a release checklist that did not exist. `.zenodo.json` still named 0.1.0, which Zenodo prefers over the release tag; it now names no version. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
These set the standard for issues, labels and pull requests, following solprop's without its enhancement proposals and native backend. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agents open an issue for what they find and connect fixes to issues, implementation PRs add fragments rather than editing the changelog, and agents may push, merge, tag or release when asked. Destructive git commands stay banned. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Pin at the versions solprop uses, including the job that publishes to PyPI, and give the test workflow a read-only token. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
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.
Brings croak's contributor workflow up to solprop's standard, keeping only what fits a small single-package repository. Overlaps #11: both change the actions in the workflows, and this pins newer versions by commit, so #11 should become unnecessary.
What changed
changelog.d/fragment instead of editingCHANGELOG.md. After each merge, the newRelease notesworkflow refreshes one draft PR that collects the fragments. The tools come from solprop, adapted to croak's## [Unreleased]heading.CONTRIBUTING.mdand issue forms (report_a_problem.yml,planned_work.md), plus labels for type, priority and area.AGENTS.md. New rules: agree the plan for large changes, re-derive rather than transcribe, open an issue for what you find, connect a fix to its issue, keep the public tree free of local paths and private notes, and cite transcribed constants to a primary source. Agents now merge, push, tag or release only when asked, replacing "never push". The ban on destructive git commands stays.poe checkalso runscodespell(a new dev dependency) andpoe changelog-check.docs/developer_guide/releasing.md:ci.ymlandrelease.ymlpointed at a release checklist that didn't exist. Newtests/test_release_metadata.pychecks that the version agrees acrosspyproject.toml,croak/__init__.py,uv.lock,CITATION.cffand the changelog.ci.ymlgets a read-only token.Decisions for review
tools/release_notes.py,tools/update_release_notes.pyand their tests are GPL-3.0-or-later in solprop and arrive here as MIT with the SPDX headers dropped.git logshows @jtravs as the only author of those files. Please confirm that's acceptable..zenodo.jsonhas noversionany more. It still said0.1.0. solprop's file has no such field either. I expect Zenodo to take the version from the release tag, but I haven't checked that against a Zenodo release.Not ported
SEPs and ADRs, numpydoc lint (about 2000 lines of findings, so a job of its own), REUSE headers, test tiers, the lowest-dependency lane, path-filtered CI lanes, pre-commit and
.gitattributes. Author names also differ betweenpyproject.toml("John Travers") andCITATION.cff("John C. Travers"); this PR leaves that alone.Already changed on GitHub
These took effect outside this PR:
priority: high,priority: medium,priority: low,performance,refactor,testing, andarea: forward model,area: solvers,area: uncertainty,area: preprocessing,area: gui,area: packaging.weightswhen a noise model is given #3, marginal_peak_delay_jax returns the neighbouring sample for an edge peak #4 and without a spectral target, noisy traces are fitted with noise in signal-free grid-edge bins; warm-lbfgs is biased even with one #5. The priorities are my judgement.Verification
uv run poe checkon macOS: passed, 1764 passed and 3 skipped, 100% statement and branch coverage.uv run --group docs poe docs: built with-W.uv run poe changelog-preview: this PR's fragment appears under## [Unreleased], and no existing line of the changelog changes.Only checkable after merging:
Release notesrun succeeds and opens the draft PR./issues/new/choose.🤖 Generated with Claude Code