Skip to content

chore(cliff): adopt shared template from phenotype-tooling#60

Merged
KooshaPari merged 1 commit into
mainfrom
chore/cliff-adopt-2026-06-11
Jun 12, 2026
Merged

chore(cliff): adopt shared template from phenotype-tooling#60
KooshaPari merged 1 commit into
mainfrom
chore/cliff-adopt-2026-06-11

Conversation

@KooshaPari

@KooshaPari KooshaPari commented Jun 12, 2026

Copy link
Copy Markdown
Owner

User description

Summary

Adopts the shared cliff.toml template from
phenotype-tooling (PR #118).

Changes

  • cliff.toml: adds the # Source: traceability comment. No semantic change.

CI wiring

Added a new check-cliff-template job to the existing
release.yml workflow. The job runs the shared
check-cliff-template.sh script from phenotype-tooling.

Test plan

  • ./scripts/check-cliff-template.sh exits 0 (or skip if not wired)
  • Local changelog generation still works (git-cliff --dry-run)

Related


Note

Low Risk
Changes only changelog config and release CI; no application runtime or security-sensitive logic.

Overview
Marks cliff.toml as adopted from the shared phenotype-tooling template by adding a # Source: traceability comment at the top; git-cliff behavior is unchanged.

Adds scripts/check-cliff-template.sh, which fails if cliff.toml is missing, warns (exit 1) when the file matches the canonical org pattern but lacks the source comment, and passes when the comment is present or the config is repo-specific.

Wires a new check-cliff-template job into .github/workflows/release.yml so that script runs on the release workflow alongside publish.

Reviewed by Cursor Bugbot for commit 067d4a2. Bugbot is set up for automated code reviews on this repo. Configure here.


CodeAnt-AI Description

Adopt the shared changelog template and check for drift in release CI

What Changed

  • Marked cliff.toml as adopted from the shared template with a source reference
  • Added a release check that warns if the shared changelog layout is used without the source reference
  • Kept release publishing unchanged while adding the template check alongside it

Impact

✅ Clearer changelog ownership
✅ Fewer template drift regressions
✅ Safer release checks

💡 Usage Guide

Checking Your Pull Request

Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.

Talking to CodeAnt AI

Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:

@codeant-ai ask: Your question here

This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.

Example

@codeant-ai ask: Can you suggest a safer alternative to storing this secret?

Preserve Org Learnings with CodeAnt

You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:

@codeant-ai: Your feedback here

This helps CodeAnt AI learn and adapt to your team's coding style and standards.

Example

@codeant-ai: Do not flag unused imports.

Retrigger review

Ask CodeAnt AI to review the PR again, by typing:

@codeant-ai: review

Check Your Repository Health

To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.

Adds a # Source: comment to cliff.toml for traceability back to the
canonical template at
https://github.com/KooshaPari/phenotype-tooling/blob/main/templates/cliff.toml.

Also wires the shared check-cliff-template.sh script into the existing
CI workflow so drift is caught on PRs. Refs: phenotype-tooling#118
@codeant-ai

codeant-ai Bot commented Jun 12, 2026

Copy link
Copy Markdown

CodeAnt AI is reviewing your PR.


Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@coderabbitai

coderabbitai Bot commented Jun 12, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@KooshaPari, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 25 minutes and 39 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more credits in the billing tab to continue.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: b6d671d3-b391-4217-b833-faef4f7590f1

📥 Commits

Reviewing files that changed from the base of the PR and between 485204d and 067d4a2.

📒 Files selected for processing (3)
  • .github/workflows/release.yml
  • cliff.toml
  • scripts/check-cliff-template.sh
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/cliff-adopt-2026-06-11
✨ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch chore/cliff-adopt-2026-06-11

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@gemini-code-assist

Copy link
Copy Markdown

Warning

You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!

@sonarqubecloud

Copy link
Copy Markdown

@cursor cursor Bot 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.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix is ON. A cloud agent has been kicked off to fix the reported issue.

Reviewed by Cursor Bugbot for commit 067d4a2. Configure here.

steps:
- uses: actions/checkout@v4
- name: Check cliff.toml adoption
run: ./scripts/check-cliff-template.sh

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Publish not blocked by cliff check

Medium Severity

The new check-cliff-template job runs in parallel with publish, so a failing cliff adoption check (exit codes 1 or 2 from ./scripts/check-cliff-template.sh) does not stop crate publishing on tag releases or workflow_dispatch.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 067d4a2. Configure here.

@codeant-ai codeant-ai Bot added the size:M This PR changes 30-99 lines, ignoring generated files label Jun 12, 2026
@KooshaPari KooshaPari merged commit c5081f1 into main Jun 12, 2026
15 of 17 checks passed
@KooshaPari KooshaPari deleted the chore/cliff-adopt-2026-06-11 branch June 12, 2026 06:58
Comment on lines +2 to +5
# check-cliff-template.sh
#
# Flags repos whose cliff.toml is the canonical pattern without
# a template-reference 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.

Suggestion: Add an explicit AgilePlus spec reference (ID or URL) in this new script header so this automation change is traceable to an approved spec before implementation. [custom_rule]

Severity Level: Minor ⚠️

Why it matters? 🤔

This is a new feature script, and the header/docstring does not include any AgilePlus spec ID or URL. Under the stated rule, new or changed feature code must be tied to an existing spec before implementation, so the absence of a spec reference is a real violation.

Fix in Cursor | Fix in VSCode Claude

(Use Cmd/Ctrl + Click for best experience)

Prompt for AI Agent 🤖
This is a comment left during a code review.

**Path:** scripts/check-cliff-template.sh
**Line:** 2:5
**Comment:**
	*Custom Rule: Add an explicit AgilePlus spec reference (ID or URL) in this new script header so this automation change is traceable to an approved spec before implementation.

Validate the correctness of the flagged issue. If correct, How can I resolve this? If you propose a fix, implement it and please make it concise.
Once fix is implemented, also check other comments on the same PR, and ask user if the user wants to fix the rest of the comments as well. if said yes, then fetch all the comments validate the correctness and implement a minimal fix
👍 | 👎

Comment on lines +27 to +28
echo "::warning::Canonical cliff.toml pattern without template reference. See https://github.com/KooshaPari/phenotype-tooling/blob/main/docs/cliff-adoption.md"
exit 1

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Suggestion: Returning exit code 1 for the "WARN" path makes the step fail in GitHub Actions, because Actions treats any non-zero exit as a failed job. That turns a warning-only condition into a hard failure and breaks the script's documented contract. If this is intended to be non-blocking, keep the warning annotation but return 0. [api mismatch]

Severity Level: Major ⚠️
- ❌ Release workflow fails when template comment missing.
- ⚠️ Tag-based release pipeline blocked by adoption warning.
Steps of Reproduction ✅
1. In `scripts/check-cliff-template.sh:23-28`, note the canonical detection branch that
prints a `::warning::` annotation then executes `exit 1`.

2. In `.github/workflows/release.yml:40-45`, observe the `check-cliff-template` job, which
runs `./scripts/check-cliff-template.sh` as a normal step without `continue-on-error` or
custom `if` handling.

3. Modify `cliff.toml:1` to remove the `# Source:` line so the `grep -qE '^#
Source:.*phenotype-tooling.*cliff'` check at `scripts/check-cliff-template.sh:18-20`
fails, while keeping the rest of the file identical to the canonical template so the three
`grep -qF` checks at `scripts/check-cliff-template.sh:24-26` succeed.

4. Trigger the `Release` workflow (e.g., by running it via `workflow_dispatch` or pushing
a `v*` tag); the `check-cliff-template` job step invokes the script, hits the warning
path, returns exit code `1`, and GitHub Actions marks the `check-cliff-template` job and
overall workflow as failed despite the script describing this as a "WARN" condition.

Fix in Cursor | Fix in VSCode Claude

(Use Cmd/Ctrl + Click for best experience)

Prompt for AI Agent 🤖
This is a comment left during a code review.

**Path:** scripts/check-cliff-template.sh
**Line:** 27:28
**Comment:**
	*Api Mismatch: Returning exit code `1` for the "WARN" path makes the step fail in GitHub Actions, because Actions treats any non-zero exit as a failed job. That turns a warning-only condition into a hard failure and breaks the script's documented contract. If this is intended to be non-blocking, keep the warning annotation but return `0`.

Validate the correctness of the flagged issue. If correct, How can I resolve this? If you propose a fix, implement it and please make it concise.
Once fix is implemented, also check other comments on the same PR, and ask user if the user wants to fix the rest of the comments as well. if said yes, then fetch all the comments validate the correctness and implement a minimal fix
👍 | 👎

@codeant-ai

codeant-ai Bot commented Jun 12, 2026

Copy link
Copy Markdown

CodeAnt AI finished reviewing your PR.

@KooshaPari KooshaPari restored the chore/cliff-adopt-2026-06-11 branch June 18, 2026 03:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M This PR changes 30-99 lines, ignoring generated files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant