docs: OpenSSF Best Practices passing-level artifacts#147
Conversation
Review: Release Process DocumentationSummary: This PR adds a release process template to CHANGELOG.md to support OpenSSF Best Practices criteria. The content is generally well-structured, but there are concerns around governance, clarity, and format compliance. Issues
Recommendations
Non-Blocking Observations
|
|
|
||
| --- | ||
|
|
||
| ## Release Process |
There was a problem hiding this comment.
Format Issue: Per Keep a Changelog 1.1.0, the [Unreleased] section should be first after the header description. Consider moving this entire "Release Process" section to the bottom of the file (after the version history) to comply with the standard format. This also improves discoverability since users expect to see changes at the top.
| - The snapshot dependency example to `{VERSION}-SNAPSHOT` (it should already match, but verify) | ||
| 4. Commit both files directly to `main` (no pull request) | ||
|
|
||
| **Step 2 — Wait for manual confirmation:** |
There was a problem hiding this comment.
Governance Risk: This statement is ambiguous — it suggests an AI agent ("I") is performing tag/release creation, which is a significant security and governance concern.
Clarify as: "After CI confirms all checks pass, manually create the v{VERSION} tag and GitHub release (this requires maintainer credentials and should not be automated by AI agents)."
The release process template must make explicit that human maintainers, not AI systems, are responsible for creating tags and publishing to Maven Central.
| 3. In `README.md`, update **both**: | ||
| - The release dependency example to `{VERSION}` | ||
| - The snapshot dependency example to `{VERSION}-SNAPSHOT` (it should already match, but verify) | ||
| 4. Commit both files directly to `main` (no pull request) |
There was a problem hiding this comment.
Governance Note: Direct commits to main bypass code review and CI gates. While this may be intentional to avoid intermediate CI runs during version bumps, it should be documented with explicit security justification in a maintainer guide (e.g., SECURITY.md or a separate RELEASE.md). Consider adding: "Note: Direct commits to main are used here to avoid unnecessary CI runs on version-only changes. Maintainers must ensure the commit is reviewed and all prior CI checks on the development branch passed before this step."
| - The release dependency example to `{VERSION}` | ||
| - The snapshot dependency example to `{VERSION}-SNAPSHOT` (it should already match, but verify) | ||
| 4. Commit both files directly to `main` (no pull request) | ||
|
|
There was a problem hiding this comment.
Missing Pre-Release Validation: The process should include an explicit step to verify all CI checks pass before tagging. Add after step 4:
Step 1.5 — Verify CI:
Wait for the publish workflow (GitHub Actions) to complete successfully for the version-bump commit. Verify that CodeQL, test coverage, and all build artifacts are green before proceeding to Step 2.
This prevents releasing with known CI failures.
| | Placeholder | Value | | ||
| |------------------|----------------------------------------------| | ||
| | `{PROJECT}` | *(project name)* | | ||
| | `{VERSION}` | *(release version, e.g. `1.3.0`)* | |
There was a problem hiding this comment.
Version Bump Guidance: The example shows a patch-level bump (1.3.0 → 1.3.1), but the process should explain how to choose the version when changes include features or breaking changes. Add a note:
| Semantic Version | When to use | Example |
|---|---|---|
| Major (X.0.0) | Breaking changes to API | 4.0.0 → 5.0.0 |
| Minor (X.Y.0) | New features, backward-compatible | 5.0.0 → 5.1.0 |
| Patch (X.Y.Z) | Bug fixes, internal changes | 5.0.0 → 5.0.1 |
Refer to semver.org for guidance on the next version choice.
Summary
Adds the three files required to reach the OpenSSF Best Practices passing level, plus a reusable release process prompt template.
CONTRIBUTING.md— build/run commands, issue filing, PR workflow, coding standards, test policy, communication channels, license of contributionsSECURITY.md— supported versions, private vulnerability reporting, 14/30-day response SLA, coordinated disclosure policyCHANGELOG.md— Keep a Changelog 1.1.0 format, seeded from existing tags, plus a Release Process section with a reusable AI-agent prompt template for Maven Central releasesCriteria unlocked
CONTRIBUTING.mdinteract,contribution,contribution_requirements,test_policy,tests_are_added,tests_documented_addedSECURITY.mdvulnerability_report_process,vulnerability_report_private,vulnerability_report_responseCHANGELOG.mdrelease_notes,release_notes_vulnsAudit findings
v5.0.0/v5.0.1tags are recommended for the CHANGELOG compare URLs to resolvenoreply@anthropic.com);SECURITY.mdsecondary contact should be confirmed before mergemvn test+ctestrun on push and PR ✅https://claude.ai/code/session_01XUpsiwWio7dX379whH838C
Generated by Claude Code