文件历史

3 次代码提交

作者 SHA1 备注 提交日期
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
Ali Khokhar 74ddf478b1 Accept copied FCC version output in bug reports (#1131)
## Problem

Bug-report validation rejected the literal output of `fcc-server
--version`, leaving reports labeled even when they contained an
unambiguous FCC version.

## Changes

| Before | After |
| --- | --- |
| The validator rejected `free-claude-code x.y.z` copied from the
command output. | The validator silently accepts copied command output.
|
| The form requested a bare `x.y.z` value or `None`. | The form
continues requesting a bare `x.y.z` value or `None`. |
| Prefixed version input had no accepted exact shape. | Prefixed version
input must exactly match `free-claude-code x.y.z`. |
2026-07-15 11:25:32 -07:00
Ali Khokhar 3f39937ec9 Validate FCC versions in bug reports (#1124)
## Problem

Bug reports can satisfy the required FCC version field with ambiguous
values such as `latest`, preventing reliable reproduction and regression
analysis.

## Changes

| Before | After |
| --- | --- |
| The form accepted any non-empty FCC version text. | The form requests
only an `x.y.z` version or `None`. |
| Invalid values required manual maintainer follow-up. | A dedicated
workflow labels invalid reports and posts one correction prompt. |
| Corrected reports retained manual triage state. | Editing the issue
reruns validation and removes the workflow-owned label when valid. |

<!-- greptile_comment -->

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

This PR validates FCC versions supplied through the bug-report form. The
main changes are:

- Requests an exact `x.y.z` version or `None`.
- Validates bug reports when opened or edited.
- Adds and removes workflow-owned triage state.
- Adds contract tests for parsing and workflow behavior.
</details>

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

This looks safe to merge.

No blocking issues found 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**
- T-Rex captured the initial state showing there was no version triage
before capture.
- After capture, the latest state showed a needs-fcc-version label added
and one marked comment.
- Repeat delivery then listed only comments.
- In the 4.6.1 case, the needs-fcc-version label was removed.
- With the None input, no API calls were made.

<a
href="https://app.greptile.com/trex/runs/14521311/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/ISSUE_TEMPLATE/bug-report.yml | Updates the FCC version
instructions and placeholder to require an exact version or `None`. |
| .github/workflows/validate-bug-report-version.yml | Adds exact version
validation with per-issue concurrency, idempotent comments, and label
reconciliation after edits. |
| tests/contracts/test_issue_form_version_validation.py | Adds contract
coverage for form text, accepted and rejected values, field extraction,
and triage operations. |

</details>

<sub>Reviews (1): Last reviewed commit: ["Validate FCC versions in bug
reports"](https://github.com/alishahryar1/free-claude-code/commit/388fe8515d61bdd47bc6ee9e1c9034222940c3bf)
| [Re-trigger
Greptile](https://app.greptile.com/api/retrigger?id=44414967)</sub>

<!-- /greptile_comment -->
2026-07-15 02:38:44 -07:00