Skip to content

Clarify tekton.mdc to distinguish new version directories from patch version bumps #3713

Description

@fullsend-ai-retro

What happened

On PR #3681, the review agent approved without flagging missing version bump and CHANGELOG entries. The agent's earliest review stated 'Adding an optional parameter with a default is explicitly allowed by project rules without versioning,' citing line 9 of .cursor/rules/tekton.mdc. However, the human reviewer (chmeliik) correctly identified that a patch version bump to 0.10.5 and CHANGELOG entries were required, posting this feedback on July 10. The author addressed it on July 14 in commit 8549058, adding the version bump and CHANGELOG entries across all 5 task variants.

The confusion stems from two rules in tekton.mdc that use different terminology for different concepts:

  • Line 9: 'if a task parameter changes suggest to create new version of the task [...] This doesn't apply for adding new optional parameter.' (refers to creating a new version directory with migration script)
  • Lines 35-36: 'Each meaningful change to a task must include a version bump in the app.kubernetes.io/version label.' (refers to incrementing the patch version label)

The agent read line 9 as overriding lines 35-36, when they actually address orthogonal concerns.

What could go better

The rules file should unambiguously communicate that adding an optional parameter is exempt from creating a new version directory (e.g., 0.11/) but still requires a patch version bump and CHANGELOG entry. The current wording of line 9 uses the phrase 'create new version of the task' which is ambiguous — it could mean either 'create a new version directory' or 'increment the version label.' An AI agent (or new contributor) reading this rule in isolation would reasonably conclude that no versioning action is needed at all. The Versioning section (lines 35-39) contradicts this interpretation but is separated by 25 lines and uses different terminology ('version bump' vs 'create new version').

Confidence is high that this rewording would have prevented the agent's misinterpretation, since the agent explicitly cited line 9 as its justification for approving without a version bump.

Proposed change

Reword line 9 of .cursor/rules/tekton.mdc to explicitly cross-reference the patch version bump requirement. Current text:

if a task parameter changes suggest to create new version of the task with the migration script to prevent incompatible changes in the current task API. This doesn't apply for adding new optional parameter.

Proposed text:

If a task parameter changes in a backward-incompatible way, create a new version of the task (new version directory) with a migration script to prevent breaking the current task API. This does not apply for adding a new optional parameter — a new version directory is not needed. However, a patch version bump and CHANGELOG entry are still required per the Versioning and Changelog sections below.

This keeps the existing rule's intent while eliminating the ambiguity that caused the misinterpretation.

Validation criteria

On the next PR that adds a new optional Tekton task parameter without a version bump or CHANGELOG entry, the review agent should flag both as required changes rather than approving. This can be validated by checking review agent output on such PRs after the tekton.mdc update is merged.


Generated by retro agent from #3681

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions