Skip to content

[pull] main from Alishahryar1:main - #246

Merged
pull[bot] merged 4 commits into
Co-Contribute-OpenSource:mainfrom
Alishahryar1:main
Sep 26, 2026
Merged

pull[bot] merged 4 commits into
Co-Contribute-OpenSource:mainfrom
Alishahryar1:main

Conversation

@pull

@pull pull Bot commented Sep 26, 2026 •

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

Alishahryar1 and others added 4 commits September 25, 2026 14:21
## Why

Manual version bumps create conflicts between PRs and require
contributors to update package metadata before the final release version
is known. Release intent should be declared in the PR title and applied
once after merge.

## How

Require exactly `patch: `, `minor: `, or `major: ` for changes to
assets, scripts, source, Python version, pyproject.toml, or uv.lock.
Forbid release prefixes when none of those paths change. Keep the
required Version policy check and rerun it independently on title edits.

Use hatch-vcs and Git release tags instead of maintained version
numbers. Installed FCC keeps reading its distribution metadata.
Git-aware uv cache keys refresh local development installs without
changing the lockfile.

Post-merge reads the saved squash title, reserves one version at that
commit, stages validated distributions on a draft GitHub Release,
publishes the same files to PyPI, then publishes the Release with
generated notes. Retries reuse the version and staged bytes. Later
releases stop until an unfinished predecessor completes. Recovery
dispatch can retry an earlier main commit using the repaired workflow.

Update the issue-version bot to compare against the latest published
Release and document contributor title rules. Establish the existing,
successfully published 6.2.66 version as the initial release tag.

The accepted contract retains the existing release paths, ordered queue,
trusted PyPI publisher, and ordinary pull-request check trust model.
There are no manual version bumps or release-only commits.






<!-- greptile_comment -->

<!-- greptile_summary -->

<h2><a
href="https://app.greptile.com/api/retrigger?id=69606710"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://greptile-static-assets.s3.amazonaws.com/badges/RetriggerDark.svg?v=2"><source
media="(prefers-color-scheme: light)"
srcset="https://greptile-static-assets.s3.amazonaws.com/badges/Retrigger.svg?v=2"><img
alt="Retrigger"
src="https://greptile-static-assets.s3.amazonaws.com/badges/Retrigger.svg?v=2"
align="right"></picture></a>Confidence Score: 4/5</h2>

<!-- greptile-risk -->

Not safe to merge until the outstanding release-finalization issue is
fixed.

<h2><a
href="https://app.greptile.com/api/ide/codex?prompt=IMPORTANT%3A%20Work%20in%20the%20repository%20%22alishahryar1%2Ffree-claude-code%22%20on%20the%20existing%20branch%20%22ali%2Fautomatic-release-versions%22.%20Checkout%20that%20branch%20%E2%80%94%20do%20NOT%20create%20a%20new%20branch%20or%20open%20a%20new%20PR.%20Push%20your%20changes%20to%20%22ali%2Fautomatic-release-versions%22.%0A%0A%23%23%23%20Issue%201%0A.github%2Factions%2Fci-environment%2Faction.yml%3Aundefined-52%0AIf%20a%20fork%20PR%20has%20a%20version%20tag%20pointing%20to%20a%20different%20commit%20than%20the%20base%20repository%E2%80%99s%20tag%2C%20this%20unforced%20fetch%20rejects%20the%20canonical%20tag.%20The%20Version%20policy%20job%20checks%20out%20the%20fork%20with%20full%20history%2C%20so%20setup%20fails%20before%20the%20required%20check%20runs.%20Fetch%20canonical%20tags%20without%20colliding%20with%20fork%20tags.%0A%0A%23%23%23%20Issue%202%0Ascripts%2Fpublish_release.py%3Aundefined-145%0AAfter%20publishing%20the%20distributions%20to%20PyPI%2C%20this%20passes%20%60--verify-tag%60%20to%20%60gh%20release%20edit%60%2C%20which%20rejects%20that%20flag.%20The%20GitHub%20Release%20remains%20a%20draft%2C%20retries%20fail%20at%20the%20same%20step%2C%20and%20the%20next%20release%20cannot%20proceed%20while%20its%20predecessor%20is%20unfinished.%20Remove%20the%20flag%20from%20the%20edit%20command.%0A%0A%60%60%60suggestion%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20self.gh%28%22edit%22%2C%20tag%2C%20%22--draft%3Dfalse%22%2C%20%22--latest%22%29%0A%60%60%60%0A%0A---%0A%0AFor%20each%20issue%20above%2C%20determine%20whether%20it%20is%20valid%20and%20should%20be%20fixed.%20If%20so%2C%20fix%20it%20directly.&repo=alishahryar1%2Ffree-claude-code&pr=1903&platform=github"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://greptile-static-assets.s3.amazonaws.com/badges/FixAllInCodexDark.svg?v=7"><source
media="(prefers-color-scheme: light)"
srcset="https://greptile-static-assets.s3.amazonaws.com/badges/FixAllInCodex.svg?v=7"><img
alt="Fix All in Codex"
src="https://greptile-static-assets.s3.amazonaws.com/badges/FixAllInCodex.svg?v=7"
align="right"></picture></a>Findings</h2>

1. <img alt="P1"
src="https://greptile-static-assets.s3.amazonaws.com/badges/p1.svg?v=9"
align="top">&nbsp;**Conflicting fork tags fail CI** <a
href="https://github.com/Alishahryar1/free-claude-code/pull/1903#discussion_r4108544662">▶</a>
2. <img alt="P1"
src="https://greptile-static-assets.s3.amazonaws.com/badges/p1.svg?v=9"
align="top">&nbsp;**Release finalization always fails** <a
href="https://github.com/Alishahryar1/free-claude-code/pull/1903#discussion_r4108544663">▶</a>

<details open><summary>Summary</summary>

The PR automates release versioning and publication. The fork-tag CI
conflict is fixed, but release finalization remains broken.
</details>

<!-- greptile_confidence_score:4 -->

<sub>Reviews (3) · Last reviewed commit: ["Use canonical release tags in
disposable..."](https://github.com/alishahryar1/free-claude-code/commit/fc416b266774a74a8879432d01527b3255b3c922)</sub>

<!-- /greptile_comment -->
## Why

Post-merge publication crashed after creating v6.2.67 because GitHub
temporarily omitted the new draft from its release list. The same stale
list could also report incomplete assets after upload.

## How

Retain the numeric release ID returned by draft creation and fetch
staging metadata directly by that ID before and after uploading assets.
Preserve generated release notes and cover delayed list responses for
both new drafts and interrupted uploads.
## Why

Update FCC dependencies and development tools while keeping declared
minimum versions aligned with the lockfile. The newer Ty identifies a
missing protocol method in the shared catalog test fake. Linux
Playwright CI also encountered a native Python crash while its
background faulthandler timer was printing thread stacks.

## How

Update uvicorn to 0.53.0, openai to 3.18.0, github-copilot-sdk to
1.0.14, grpcio to 1.84.0, packaging to 26.3, Ty to 0.0.83, and Ruff to
0.16.8. Raise the corresponding minimum requirements and configure
Dependabot with `versioning-strategy: increase` for future uv updates.
Complete the catalog test fake.

Keep the 10-second browser-test diagnostics using a Python timer with
`sys._current_frames()` and `traceback.print_stack()`. Register the
diagnostic plugin centrally, preserve its output across pytest capture,
and cancel and join each timer when the test finishes.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alishahryar1 <alishahryar2@gmail.com>
## Why

Require Python 3.14.7 and remove the separate `.python-version` file so
project and CI Python selection come from `pyproject.toml`.

## How

Set `requires-python` to `==3.14.7` and regenerate the lockfile. Derive
CI installation, cache keys, and the release interpreter from that
requirement. Update both installers to request 3.14.7 and enforce
agreement between their pins and the project requirement.






<!-- greptile_comment -->

<!-- greptile_summary -->

<h2><a
href="https://app.greptile.com/api/retrigger?id=69724538"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://greptile-static-assets.s3.amazonaws.com/badges/RetriggerDark.svg?v=2"><source
media="(prefers-color-scheme: light)"
srcset="https://greptile-static-assets.s3.amazonaws.com/badges/Retrigger.svg?v=2"><img
alt="Retrigger"
src="https://greptile-static-assets.s3.amazonaws.com/badges/Retrigger.svg?v=2"
align="right"></picture></a>Confidence Score: 4/5</h2>

<!-- greptile-risk -->

Not safe to merge: CI can stop before installing the required Python.

<h2><a
href="https://app.greptile.com/api/ide/codex?prompt=IMPORTANT%3A%20Work%20in%20the%20repository%20%22alishahryar1%2Ffree-claude-code%22%20on%20the%20existing%20branch%20%22ali%2Fpython-3147-project-requirement%22.%20Checkout%20that%20branch%20%E2%80%94%20do%20NOT%20create%20a%20new%20branch%20or%20open%20a%20new%20PR.%20Push%20your%20changes%20to%20%22ali%2Fpython-3147-project-requirement%22.%0A%0A%23%23%23%20Issue%201%0A.github%2Factions%2Fci-environment%2Faction.yml%3Aundefined-68%0AIf%20a%20runner%20has%20no%20%60python%60%20command%20or%20its%20default%20Python%20is%20older%20than%203.11%2C%20the%20new%20cache-identity%20command%20fails%20because%20it%20requires%20%60tomllib%60.%20This%20runs%20before%20managed%20Python%20is%20installed%2C%20so%20the%20job%20stops%20without%20installing%20the%20project's%20required%20interpreter.%0A%0A---%0A%0AFor%20each%20issue%20above%2C%20determine%20whether%20it%20is%20valid%20and%20should%20be%20fixed.%20If%20so%2C%20fix%20it%20directly.&repo=alishahryar1%2Ffree-claude-code&pr=1905&platform=github"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://greptile-static-assets.s3.amazonaws.com/badges/FixAllInCodexDark.svg?v=7"><source
media="(prefers-color-scheme: light)"
srcset="https://greptile-static-assets.s3.amazonaws.com/badges/FixAllInCodex.svg?v=7"><img
alt="Fix All in Codex"
src="https://greptile-static-assets.s3.amazonaws.com/badges/FixAllInCodex.svg?v=7"
align="right"></picture></a>Findings</h2>

1. <img alt="P1"
src="https://greptile-static-assets.s3.amazonaws.com/badges/p1.svg?v=9"
align="top">&nbsp;**Host Python blocks CI setup** <a
href="https://github.com/Alishahryar1/free-claude-code/pull/1905#discussion_r4109708782">▶</a>

<details open><summary>Summary</summary>

The PR pins the project to Python 3.14.7 and derives CI interpreter
selection from pyproject.toml. Contributor setup instructions and CI
parser coverage are updated. An existing CI setup issue remains
outstanding.
</details>

<!-- greptile_confidence_score:4 -->

<sub>Reviews (3) · Last reviewed commit: ["Wait for integration state
before
assert..."](https://github.com/alishahryar1/free-claude-code/commit/dd75201b2dfd3e0187b347569c276412ef74d3ec)</sub>

<!-- /greptile_comment -->
@pull pull Bot locked and limited conversation to collaborators Sep 26, 2026
@pull pull Bot added the ⤵️ pull label Sep 26, 2026
@pull
pull Bot merged commit 8bb4509 into Co-Contribute-OpenSource:main Sep 26, 2026
10 of 11 checks passed

This branch had an error being deployed

1 failed deployment
pypi — 8bb45098 Deployed Sep 26, 2026 by pull[bot] via Publish to PyPI #3
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant