项目文件夹

文件
Ali Khokhar d37b34b02f Improve issue version triage and remove title prefixes (#1217)
## Problem

Bug-report validation rejected useful prose even when the FCC version
was unambiguous, and older installations received no update guidance.
Issue forms also duplicated their existing labels with forced title
prefixes.

## Changes

| Before | After |
| --- | --- |
| The FCC version field accepted only a bare version, copied command
output, or `None`. | The field accepts exactly one standalone
`number.number.number` value anywhere in the text, while preserving
exact `None` and rejecting ambiguous input. |
| Valid versions were not compared with the currently installable code.
| The workflow reads the live issue and project version from the default
branch, then compares numeric components safely. |
| Older reports received no update guidance. | One bot-owned comment
asks the reporter to update; edits update or remove that comment without
labels or issue closure. |
| Bug and feature forms forced `[Bug]` and `[Feature]` title prefixes. |
Existing `bug` and `enhancement` labels own classification without
changing the reporter's title. |
| Contract coverage inspected only workflow source fragments. | Contract
coverage executes the JavaScript lifecycle and protects label-only issue
classification. |

<!-- greptile_comment -->

<details open><summary><h3>Greptile Summary</h3></summary>

This PR improves issue classification and FCC version triage. The main
changes are:

- Removes forced title prefixes from bug and feature forms.
- Accepts one unambiguous numeric FCC version within descriptive text.
- Compares reported versions with the default branch project version.
- Reconciles invalid-version and update-guidance comments after edits.
- Adds executable workflow lifecycle and issue-form contract tests.
</details>

<h3>Confidence Score: 5/5</h3>

This looks safe to merge.

Corrected version fields now remove stale invalid-version comments.
Common valid TOML quote and comment formats are handled.

No blocking issues remain in the changed code.

<details><summary><h3><a href="https://www.greptile.com/trex"><img
alt="T-Rex"
src="https://greptile-static-assets.s3.amazonaws.com/trex/trex_green.svg"
height="20" align="absmiddle"></a> T-Rex Logs</h3></summary>

**What T-Rex did**
- I reviewed the pre-change contract-validation baseline for forms,
which showed 12 failures and 18 passes under origin/main.
- I executed the post-change contract-validation test run with the
environment set for the project and the pytest suite targeting the
contract tests, and it completed with exit code 0 and 30 passes.

<a
href="https://app.greptile.com/trex/runs/15163869/artifacts"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://greptile-static-assets.s3.amazonaws.com/badges/ViewAllArtifactsDark.svg?v=4"><source
media="(prefers-color-scheme: light)"
srcset="https://greptile-static-assets.s3.amazonaws.com/badges/ViewAllArtifacts.svg?v=4"><img
alt="View all artifacts"
src="https://greptile-static-assets.s3.amazonaws.com/badges/ViewAllArtifacts.svg?v=4"></picture></a>

<sub><a href="https://www.greptile.com/trex"><img alt="T-Rex"
src="https://greptile-static-assets.s3.amazonaws.com/trex/trex_green.svg"
height="14" align="absmiddle"></a> Ran code and verified through
T-Rex</sub>
</details>

<details open><summary><h3>Important Files Changed</h3></summary>

| Filename | Overview |
|----------|----------|
| .github/workflows/validate-bug-report-version.yml | Adds live issue
reconciliation, project-version parsing, numeric comparison, and managed
invalid and outdated comments. |
| tests/contracts/test_issue_form_version_validation.py | Adds
executable coverage for version extraction, TOML parsing, numeric
comparison, and comment reconciliation. |
| .github/ISSUE_TEMPLATE/bug-report.yml | Removes the title prefix and
allows one numeric version within descriptive text. |
| .github/ISSUE_TEMPLATE/feature-request.yml | Removes the title prefix
while retaining enhancement classification. |
| tests/contracts/test_issue_forms.py | Checks that issue forms use
labels instead of title prefixes. |

</details>

<sub>Reviews (3): Last reviewed commit: ["Reconcile bug version triage
state"](https://github.com/alishahryar1/free-claude-code/commit/8efe7aaf95bd2a96719b1d0811afb83b06c5d79c)
| [Re-trigger
Greptile](https://app.greptile.com/api/retrigger?id=45775911)</sub>

<!-- /greptile_comment -->
2026-07-20 15:46:41 -07:00
..