[Bug] Local bundle install can advance records without updating existing components
还没有人认领这个 Issue。
评估
调研方向
从处理 offline 命令的 bundle 安装路径开始,使用现有的 workflow、扩展和 preset 重现更新。检查 .specify/bundle-records.json 以及 primitive manifest 或 registry 的写入方式;完成的标准是:版本不匹配的组件在推进 record 之前完成更新,失败时保留之前一致的 record,并对共享 registry 的写入进行串行化。
由索引模型根据 Issue 内容生成。
描述
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.
- 主要语言
- Python
- 星标
- 138k
- 派生
- 12.4k
- 平均合并
- 3 天 4 小时
- 30 天内合并 PR
- 154
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
github/spec-kit 的其他 Issue
-
enhancement needs-triage
难度 2/5 1-3 小时 新手友好度 68/100
-
enhancement needs-triage
难度 2/5 1-3 小时 新手友好度 74/100
-
enhancement needs-triage
难度 2/5 1-3 小时 新手友好度 68/100
-
难度 2/5 1-3 小时 新手友好度 84/100
-
enhancement needs-triage triage-can-wait
难度 2/5 1-3 小时 新手友好度 76/100
相似的 Issue
-
essnmx good first issue
难度 1/5 1 小时以内 新手友好度 95/100
-
难度 2/5 1-3 小时 新手友好度 65/100
syfoud/Simulated_Scepter#174 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
Giskard-AI/giskard-oss#2840 · 1 条评论 ·
-
A claim comment carrying the issue number is silently declined while the workflow reports success 未关闭area: repo bug perceived difficulty: 2
难度 2/5 1-3 小时 新手友好度 70/100
-
难度 2/5 1-3 小时 新手友好度 75/100
yeti-platform/yeti#1380 ·