Skip to content

chore: add three accurate trove classifiers, and say why two are absent - #76

Merged
open-coder-ai merged 2 commits into
mainfrom
meta/classifiers
Aug 30, 2026
Merged

chore: add three accurate trove classifiers, and say why two are absent#76
open-coder-ai merged 2 commits into
mainfrom
meta/classifiers

Conversation

@open-coder-ai

@open-coder-ai open-coder-ai commented Aug 30, 2026

Copy link
Copy Markdown
Owner

What

PyPI's classifier facets are how someone browsing rather than searching finds a package,
and chock's list omitted three that are plainly true of it. Metadata only — nine added lines
in pyproject.toml, no runtime, dependency, emitter, or artifact change.

Added:

Classifier Why it is true
Environment :: Console chock is a console script ([project.scripts]); there is no GUI or web surface
Topic :: Software Development :: Version Control :: Git policies compile to git hooks, the enforcement surface most adopters meet first
Topic :: Security the shipped guardrails block secrets and protected-path writes; the catalog's security policies are a first-class use, not a side use

Two absences are now recorded in comments, so the next reader does not have to re-derive
them and does not "fix" them by mistake:

  • Development Status stays 3 - Alpha. docs/compatibility.md says chock is pre-1.0 and
    the compatibility promise starts at 1.0. A stability claim on PyPI that our own docs
    contradict is precisely what this project does not ship. It moves when the promise does.
  • No Typing :: Typed. The package ships no py.typed marker, so a type checker acting on
    that claim would find nothing behind it.

Timing note: unlike a pre-first-release package, nothing here is urgent. PyPI metadata is
immutable per version and 0.6.0 is already published, so this reaches PyPI with the next
release — 0.7.0, which chock#73 bumps to.

Definition of done

The repo's gates are listed below with what actually applies. This diff touches one file,
pyproject.toml, and only inside the classifiers array:

  • ruff check . → All checks passed; ruff format --check . → 222 files already formatted
  • No emitted or installed artifact changes, so chock sync --check, chock check --only verify, the registry scan, and the acceptance suite have nothing to re-verify — no
    manifest, pack, lockfile, compiled artifact, or matrix input is touched
  • No check was added or extended, so there are no artifacts to migrate
  • No manifest is touched, so no manifest version bump or changelog entry is due
  • pytest -q not re-run: the diff adds no importable code and cannot alter test behavior.
    Verified at the level this change actually affects instead — see below
  • Commit signed off

Packaging-level verification, run against this branch:

  • python -m build --wheel → built chock-0.6.0-py3-none-any.whl
  • the wheel's METADATA carries all 12 classifiers in the intended order
  • every classifier validates against the trove-classifiers registry (0 invalid)
  • twine check on the built wheel: PASSED

Claims

  • No surface is described as enforcing more than it installs. This PR changes nothing that
    is emitted or installed; INSTALLED_SURFACES, the coverage table, and
    docs/enforcement-surfaces.md are untouched and still agree.

The two comments added are themselves claim discipline: they tie the Alpha status to
docs/compatibility.md and the missing Typing :: Typed to the missing py.typed marker, so
each absent classifier has a stated, checkable reason.

Notes for the reviewer

Checked against chock#73 (held for go-live): that PR edits pyproject.toml at the version
line, the dependencies array, and the ruff extend-exclude line. No hunk overlaps the
classifiers array, so this should merge cleanly either way round.


Generated by Claude Code

Summary by CodeRabbit

  • Documentation
    • Updated package metadata to clarify that Chock is an Alpha-stage console application.
    • Added Security and Version Control topic classifications for improved discoverability.

PyPI's classifier facets are how someone browsing rather than searching finds a
package. chock's list omitted three that are plainly true of it:

- Environment :: Console -- chock is a console script ([project.scripts]), with
  no GUI or web surface
- Topic :: Software Development :: Version Control :: Git -- policies compile to
  git hooks, which is the enforcement surface most adopters meet first
- Topic :: Security -- the shipped guardrails block secrets and protected-path
  writes; the catalog's security policies are a first-class use, not a side use

Two absences are now recorded in comments so the next reader does not have to
re-derive them, and does not "fix" them by mistake:

- Development Status stays 3 - Alpha. docs/compatibility.md says chock is pre-1.0
  and the compatibility promise starts at 1.0; a stability claim the docs
  contradict is exactly what this project does not ship.
- No Typing :: Typed. The package ships no py.typed marker, so a type checker
  acting on that claim would find nothing behind it.

Metadata only -- no runtime or dependency change. This reaches PyPI with the
next release; 0.6.0 is already published and its metadata is frozen.

Verified: wheel builds, twine check passes, all 12 classifiers validate against
the trove-classifiers registry, ruff check and format clean.

Signed-off-by: Claude <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 30, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: cb272d5a-2e06-4b09-8c80-abf393f50582

📥 Commits

Reviewing files that changed from the base of the PR and between 562dd02 and 79ae256.

📒 Files selected for processing (1)
  • pyproject.toml

Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review.


📝 Walkthrough

Walkthrough

The pull request updates PyPI classifiers in pyproject.toml. It identifies chock as an Alpha console application and adds Security and Version Control topics. No package behavior or dependencies change.

Changes

Package metadata

Layer / File(s) Summary
Add PyPI classifiers
pyproject.toml
The package metadata adds Alpha development status, console environment, security, and Git version-control classifiers.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Merge Risk: ⚪ Minimal · up to 79ae2

This is a localized packaging-metadata update that adds accurate PyPI classifiers without changing runtime behavior, dependencies, or shipped artifacts; no actionable merge-blocking risk remains.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the metadata change: adding three accurate Trove classifiers and documenting two intentional omissions.
Description check ✅ Passed The description is complete and directly matches the template. It explains the change, records applicable verification, documents intentional omissions, and confirms that runtime behavior and installe…
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Description check

Explanation

The description is complete and directly matches the template. It explains the change, records applicable verification, documents intentional omissions, and confirms that runtime behavior and installed surfaces are unchanged.

Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch meta/classifiers

Comment @coderabbitai help to get the list of available commands.

@open-coder-ai
open-coder-ai marked this pull request as ready for review August 30, 2026 03:42
@open-coder-ai
open-coder-ai merged commit 2b8f7b3 into main Aug 30, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants