Skip to content

Bring the contributor workflow up to solprop's standard - #12

Merged
jtravs merged 6 commits into
mainfrom
chore/solprop-workflow
Nov 4, 2026
Merged

jtravs merged 6 commits into
mainfrom
chore/solprop-workflow

Conversation

@jtravs

@jtravs jtravs commented Nov 4, 2026

Copy link
Copy Markdown
Contributor

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 between PRs. A notable change adds a changelog.d/ fragment instead of editing CHANGELOG.md. After each merge, the new Release notes workflow refreshes one draft PR that collects the fragments. The tools come from solprop, adapted to croak's ## [Unreleased] heading.
  • Issues and PRs. New CONTRIBUTING.md and 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.
  • Gate. poe check also runs codespell (a new dev dependency) and poe changelog-check.
  • Release records. New docs/developer_guide/releasing.md: ci.yml and release.yml pointed at a release checklist that didn't exist. New tests/test_release_metadata.py checks that the version agrees across pyproject.toml, croak/__init__.py, uv.lock, CITATION.cff and the changelog.
  • Workflows. Actions pinned by commit at solprop's versions, and ci.yml gets a read-only token.

Decisions for review

  1. Relicensing. tools/release_notes.py, tools/update_release_notes.py and their tests are GPL-3.0-or-later in solprop and arrive here as MIT with the SPDX headers dropped. git log shows @jtravs as the only author of those files. Please confirm that's acceptable.
  2. .zenodo.json has no version any more. It still said 0.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.
  3. Local gate stays. solprop tells contributors not to run the full gate locally. croak keeps running it first, because it took about 3 minutes here against 25–36 minutes per platform on CI.

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 between pyproject.toml ("John Travers") and CITATION.cff ("John C. Travers"); this PR leaves that alone.

Already changed on GitHub

These took effect outside this PR:

Verification

  • uv run poe check on 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.
  • All new YAML parses. The updater's tests run against local Git repositories, so it has not yet run against GitHub.
  • This PR's CI is the first test of setup-uv 10.3.2 and codecov-action 7.1.1 on croak, a larger jump for setup-uv than build(deps): bump the actions group with 3 updates #11 tested.

Only checkable after merging:

  • The first Release notes run succeeds and opens the draft PR.
  • The forms appear at /issues/new/choose.

🤖 Generated with Claude Code

jtravs and others added 6 commits November 4, 2026 10:46
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>
Copilot AI balanced review requested due to automatic review settings November 4, 2026 10:54

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 4, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-04T10:56:10.309314Z de6e665 PR opened
🔒 Security Review ✅ Completed 2026-11-04T10:58:31.723672Z de6e665 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@jtravs jtravs added documentation Improvements or additions to documentation area: packaging Installs, CI and releases labels Nov 4, 2026
@read-the-docs-community

Copy link
Copy Markdown

Documentation build overview

📚 croak | 🛠️ Build #35639320 | 📁 Comparing de6e665 against latest (7b75ca2)

  🔍 Preview build  

5 files changed · + 1 added · ± 4 modified

+ Added

± Modified

@codecov

codecov Bot commented Nov 4, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@jtravs
jtravs merged commit 8434e83 into main Nov 4, 2026
6 checks passed
@jtravs
jtravs deleted the chore/solprop-workflow branch November 4, 2026 11:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: packaging Installs, CI and releases documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants