Community catalog workflows: make tag-pinned download_url a MUST and reject `releases/latest/`
@Shaurya2k06 đang làm issue này rồi.
Từ ngày 19/8/2026.
Đánh giá
Issue này chưa được đánh giá.
Mô tả
Problem
The community-catalog agentic workflows only softly require a version-pinned download_url. Step 2d currently says the URL "should follow the pattern" — advisory language an autonomous run can rationalize around.
This surfaced in PR #4183 (update speckit-superpowers-bridge to v1.2.0), where the run switched the URL to a floating "latest" alias and validation passed it:
- .../releases/download/v1.1.0/speckit-superpowers-bridge-v1.1.0.zip (tag-pinned)
+ .../releases/latest/download/speckit-superpowers-bridge.zip (floating "latest")
…/releases/latest/download/… is neither of the two accepted tag-pinned patterns. It resolves to whatever the newest release happens to be, not to the <tag> (v1.2.0) recorded in the entry — so the catalog would keep serving the author's future releases under the pinned "version": "1.2.0" record. That's an integrity/reproducibility hole and breaks the convention (all existing catalog download_urls are tag-pinned; none use releases/latest).
The run passed validation because the checks only confirmed the URL returns HTTP 200 and that a v1.2.0 release exists — neither verifies the URL is pinned to the v1.2.0 tag.
Affected workflows
Same soft wording appears in all three community-catalog workflows:
.github/workflows/add-community-extension.md:110.github/workflows/add-community-bundle.md:123.github/workflows/add-community-preset.md:164
Proposed changes
- Change "should follow the pattern" → MUST for the tag-pinned
download_urlrequirement in all three workflows. - Add an explicit rejection rule: a
download_urlwhose path containsreleases/latest/fails validation, even if it returns HTTP 200. - Strengthen the release check to verify the URL's
<tag>segment matches the submittedv<version>(not just that a release exists and a URL 200s).
Accepted URL patterns (unchanged)
https://github.com/<owner>/<repo>/archive/refs/tags/v<version>.ziphttps://github.com/<owner>/<repo>/releases/download/<tag>/<asset>.zip
Context
- PR #4183
- Ngôn ngữ chính
- Python
- Star
- 138k
- Fork
- 12.4k
- Merge trung bình
- 3 ngày 6 giờ
- Pull request đã merge (30 ngày)
- 136
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của github/spec-kit
-
enhancement needs-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
-
enhancement needs-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
-
enhancement needs-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
-
[Feature]: 给 slug 添加默认值 Đang mởenhancement needs-triage triage-can-wait
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
-
extension-submission triage-can-wait
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
Tất cả issue của github/spec-kit
Issue tương tự
-
documentation help wanted
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 90/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 90/100
simonw/sqlite-utils#872 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100