[Bug] Local bundle install can advance records without updating existing components
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 48/100
Hướng nghiên cứu
Bắt đầu từ đường dẫn cài đặt bundle xử lý lệnh offline và tái hiện bản cập nhật với workflow, các extension và preset hiện có. Kiểm tra cách .specify/bundle-records.json cùng các manifest hoặc registry nguyên thủy được ghi; được xem là hoàn tất khi các component có phiên bản không khớp được cập nhật trước khi record được chuyển tiếp, lỗi giữ lại record nhất quán trước đó và các thao tác ghi vào registry dùng chung được tuần tự hóa.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Spec Kit version
Reproduced with specify 1.0.4 on Windows.
Reproduction
- Install a bundle version whose workflow, two extensions, and preset are already present in an initialized project.
- Point a clean local release directory at a newer version of the same bundle and components.
- Run:
specify bundle install C:\path\to\new-release\bundle.yml --offline --integration codex
The command reports success, for example:
Installed 'program-kit' (0 added, 4 already present).
It advances .specify/bundle-records.json and its contributed-component versions to the new bundle version, but the installed workflow/registry, extension manifests, and preset/registry can remain at the old version. A subsequent component tool can therefore appear current while executing old code.
When components were installed individually before the bundle, the successful local bundle install can instead create a record without the expected contributed-component entries because every primitive is classified as already present.
Expected behavior
Bundle installation/update should be transactional across its record and primitive installations:
- update every component to the resolved version before advancing the bundle record;
- validate installed manifests and registries against the resolved bundle before returning success;
- retain the previous coherent record or fail if a primitive update fails; and
- serialize writes when multiple extensions share registry/configuration files.
At minimum, an existing component with a different version must not be treated as satisfied solely because its ID is present.
Impact
The project records a coherent new bundle version while continuing to execute old extension code. In the observed consumer, managed synchronization misleadingly reported all files unchanged until each workflow, extension, and preset was explicitly reinstalled in sequence.
- 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)
- 145
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 68/100
-
enhancement needs-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
-
enhancement needs-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
-
enhancement needs-triage triage-can-wait
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Tất cả issue của github/spec-kit
Issue tương tự
-
enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
canonical/paas-charm#368 · 1 bình luận ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
tech debt
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
addition to tracking list Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
StevenBlack/hosts#3256 ·
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
qualcomm/qai-appbuilder#275 ·