Added(新增)
- 能力演进发现:创建 Native 或 Classic change 时从项目知识中发现并建议已有能力,关联可随时撤销;Native 还能把稳定的需求变化合并到正式 Spec,无需重放历史实现。
- Classic 自主执行:可以选择自主 Build 策略,由 Agent 完成紧凑的实现规划与执行,不强制依赖外部规划或执行 Skill。完整工作流仍保留五阶段验收、明确的用户决定和独立评审。
- Classic 进度与交付恢复:工作包记录结构化检查点,并显式记录本地、推送或创建 PR 三种交付选择。中断后可查看实际交付结果,只继续尚未完成且已获授权的操作。
Changed(变更)
- 工作流阶段进度:Classic 与 Native 使用相同的 32px 阶段几何图形,当前阶段以有节奏浮动的原点波点阵呈现,循环切换蓝、紫、橙、玫红、青、彩虹和极光等多种配色,同时保持轨道稳定并遵循系统减弱动态效果偏好。
- 工作流指引:中英文指令更清晰,按当前动作加载详细指引;相关问题使用稳定编号,给出推荐选项和各选项的具体影响。必要的确认和独立验证仍然明确。
- 工作流续办输入:把尚未确定的 Classic 执行设置暴露在结构化入口结果中,Native Verifier 响应模板也改为解析器可直接读取,Agent 因此可以保留已确认的决定,只填写剩余选项并返回结果,不需要重建 Runtime 字段。
- Native Spec 编写限制:移除 Delta 与正式 Spec 上人为设置的文件大小、单次操作文本长度和操作数量硬限制,结构与完整性校验保持不变。
- Classic 工作流响应速度:复用项目身份和未变化的工作包上下文,默认只读状态查询跳过无变化的学习写入,按需读取验证日志。在 Windows 基准测试中,常用
current和next查询的中位耗时降低 70.6–76.9%,检查执行、复用和失效处理降低 19.3–23.3%。 - Native 工作流响应速度:在单次任务调用内复用分支和工作区证据,限制未跟踪文件的指纹读取,避免不必要的重复验证派发,同时保留候选、工作区、状态和证据检查。Windows 基准测试中,首次检查执行的中位耗时降低 20.2%,Shape-ready 的
next降低 26.0%;检查复用、中断重试和 status 路径提升 0.9–7.7%。 - 全流程执行时间:在标准全流程 DeepSeek 评估中,Native 三次完成运行平均耗时 426.5 秒,比同任务同模型的六次有效历史运行低 18.9%。修正布局后的 Classic 重跑平均 804.3 秒,比初始运行组低 40.9%;两组 Classic 数据都包含一次未完成运行且使用同一 Skill 构建,因此该 Classic 结果是任务级观测差异,不等同于单独的 Runtime 加速。
- 评估工具遥测:把工具事件与调用和执行 ID 关联,保留观测到的耗时和结构化错误,并区分缺失的测量、显式重试与推断结果。
- Native Supervisor 监控:工作等待外部输入时暂停不必要的周期性监控,及时说明阻塞原因;相关输入或依赖就绪后恢复监控,同时保留独立工作和已完成的结果。
- Classic 执行与恢复:保留唯一的权威任务清单和技术设计,完成未勾选任务前先核对已有实现,并同步显式映射的旧版计划复选框。阶段入口使用紧凑摘要,恢复细节只在需要时加载,不重复已接受的实现或评审。适合的新任务继续保留轻量预设。
- Classic 规划与评审:规划前统一确认执行设置,围绕可独立验证的结果制定计划,并在有界工作包内复用实现者。按风险执行任务评审并以一次最终集成评审收尾;从依赖图解析必需的 OpenSpec 产物,不再生成全部可选文档。
- Classic 检查复用:只有 Runtime 校验过证据的检查才可复用。项目可以显式把命令的相关输入和环境绑定起来,避免被无关变更判为失效;没有匹配策略的命令继续采用保守校验。
- Native 验证效率:普通候选和 Supervisor 父候选跳过强制预评审;只有同一候选和执行上下文的有效 Runtime 检查才可复用;区分等待超时与 Verifier 执行失败,避免不必要的重复派发。验证交接和报告中保留明确标注的 Builder 证据与局限,可重复的中断检查显式重试,修复后的候选以一次完整独立验收确认。
- Native 输入与工作区安全:在恢复或持久执行前校验 Runner 输入和检查计划,被拒绝的输入无法重新打开已确认的需求;以 current 或 keep 方式完成归档时保留无关的暂存、工作区和未跟踪文件。
- Dashboard 浏览器验证:Playwright 预览前先构建当前 Dashboard 源码;预览端口被占用时直接拒绝,不再测试未知或过期的构建产物。
- 单项目更新:刷新单个项目时默认同时更新 Comet npm 包,交互式和 JSON 更新都适用。使用
--skip-self-update只刷新资产、不升级包;其他项目的资产保持不变。
Fixed(修复)
- Codex CodeGraph 诊断:检测项目级 CodeGraph MCP 配置,项目覆盖优先于用户配置,并报告已禁用或无效的生效条目;不修改任何一侧配置文件。
- dsh Hook 支持:Hook Router 接受
dsh(DeepSeek Harness)作为 Comet Hook 平台,已安装的 dsh Hook 会把写入派发给工作流 Guard,不再把每个请求按“不支持的平台”失败。 - 跨平台 Classic 检查:比较检查输入时忽略配置进程 Home 内的构建工具缓存,避免有效的 Linux 和 macOS 构建在验证中被误判为已变更。
- 个人记忆学习:评审失败期间保留可复用的工作流观察,区分跳过、延后、候选、晋升和去重结果;完成检查绑定到当前项目和 change,并通过 CLI、Dashboard 和 Remote Provider 暴露匹配诊断。
- 个人记忆诊断:按项目保留最近的学习检查,Dashboard 诊断显示有边界的失败原因和任务归属;旧服务不提供学习诊断时,保留已确认的 Remote Provider 能力。
- Dashboard 后台刷新:自动同步期间保持缓存的插件和设置内容原位不动,避免反复出现的同步提示推动页面,同时保留初始加载和刷新失败反馈。
- 工作流状态:区分 Classic 与 Native 的生命周期阶段、正在执行、等待状态和验证结果,列表徽标和阶段动画不再暗示相互冲突的工作状态。
- Native Changes Explorer 计数:change 总数更新时使用与 Classic Dashboard 一致的数字滚动徽标。
- Dashboard 全屏控件:修正默认预览图标,进入全屏时四个角对称渲染。
- Agent CLI 操作:返回感知工作区的动作、可独立使用的 Native 输入模板和精确的字段诊断。保留 Classic 产物引用和中断的 Design 进度,保持快捷方式插件检查点一致,Windows 上按字面传递 OpenSpec 参数。Native 还接受带 UTF-8 BOM 的有效输入文件,并提供完整的 Supervisor 返回指令。
- Dashboard 项目选择:默认选中启动项目而非记忆的选择,并区分同一仓库的不同工作目录,项目切换和下拉标签保持一致,同时保留共享的插件状态。
- 工作流评估:识别显式 Classic 入口和已配置的产物布局,不把启用的 Native 设置误认为正在评估的工作流;生成 Native rubric 结果不再抛出评分异常。
- Classic 布局评估:按当前 Classic 评估分组所选的布局验证全流程 OpenSpec 产物,docs 布局的运行不再按 legacy 路径评分。
- 平台专属指令:初始化和更新只为所选的 Claude Code 目标创建或刷新
CLAUDE.md,其他平台的已有用户文件保持原样。 - 记忆内容过滤:记忆文本中的 ISO 8601 日期(如
2026-09-01)不再被误判为电话号码,记住带日期的事实不再失败。 - 记忆过滤诊断:记忆文本被拒绝时说明命中的内容类别(例如
phone number或credential assignment),调用方可以直接修正文本,不用再猜。 - Dashboard Git 快照:以 NUL 结尾的 porcelain 模式读取 git status,非 ASCII(如中文)文件名和含空格路径按原文显示,不再是 git 的引号八进制转义形式(#403)。
0.4.0 版本详情
0.4.0 版本详情
Changed(变更)
- Node.js 要求:支持 Node.js 22.16 及以上的 22.x 版本,或 Node.js 24 及以上版本。升级前请检查本机和 CI 环境。
Fixed(修复)
- 安装与更新:重复全局初始化保留已有工作流和策略;更新保留已安装的中英文语言。卸载保留用户内容和进行中的需求,清理不完整时返回失败状态。
- 工作流操作:Classic 拒绝不支持的参数;状态读取失败会明确报告。Native 在错误工作区中给出恢复指引,通过验收后需要用户决定时明确列出可选操作。
- 命令结果:安装进度不再混入 JSON 结果;Doctor、记忆同步和知识操作失败时返回失败状态,远端服务不可用不会显示为空结果或成功。
- 记忆与项目知识:记忆同步支持首次连接空仓库或已有记忆分支,并保留远端内容;全局记忆可在不同语言的项目中遗忘。通过目录别名访问项目时,Markdown 仍可正常检索;上下文展开提示保留原项目和任务条件。
- 插件设置:多个 Dashboard 或 CLI 同时修改设置时,保留各项目的启停选择。
- LangSmith 评估:自动安装所选评估套件的 Python 依赖,缺少必要 SDK 时明确报错。
Security(安全)
- 记忆同步与 Dashboard:记忆 Git 操作使用独立仓库,避免干扰项目提交或同步无关历史;Dashboard 拒绝来自其他网页的未受信任请求。
0.4.0-rc.6 版本详情
0.4.0-rc.6 版本详情
comet native spec sync 修正已确认 Spec 中的本地链接,统一了 Supervisor 子任务验证的结论与回执标准,并加固了 Native 与 Classic 的恢复、交付和状态发现。Added(新增)
- Spec 引用同步:目标 Spec 确认后,只需修正文件内部本地 Markdown 链接指向时,可以运行
comet native spec sync完成。Runtime 会记录修改前后的内容和原因,保留未受影响的验收结果,受影响的验收项回到 Build 重新验证;修改正文或验收语义仍需返回 Shape。
Changed(变更)
- Supervisor 子任务验证:子任务与普通验证使用相同的验收覆盖和结论检查。Runtime 执行可重复的检查计划,在集成 worktree 中串行执行集成检查,把登记的报告绑定到被测候选和执行,并拒绝过期或被改动的证据。子任务 Verifier 的结论改为
pass、fail或blocked,并附逐项结果;通过结论必须附带 Runtime 回执。中断的检查在恢复时区分进程实例,旧格式的不完整记录仍可查看并附恢复指引。
Fixed(修复)
- Classic worktree 初始化:新建和恢复的 worktree 会保留本地的 Comet 与 OpenSpec 配置,初始化文件提交前工作流命令仍然可用。已有的工作区配置被保留,冲突的 Classic 或 OpenSpec 设置会要求先解决;中断的配置设置可以重试;托管的 worktree 目录不再让父工作区显示为有未提交改动。
- Supervisor 工作区交付:以保留工作区、推送或创建 PR 方式完成归档时,实现先汇集到父 change 分支,保持你选择的交付边界不变。归档按登记的位置清理子 worktree,父 change 运行在 linked worktree 中时同样正确。
- Native 推进与恢复:Supervisor 推进时返回可执行的派发命令和可恢复的任务包,不重新派发正在执行的子任务,并继续遵循单会话调度;Runtime 生成的相同配置副本不再干扰恢复。共用同一份 Spec 的并发 change 在归档确认前会先收到可执行的顺序选择;中断的归档会保留已应用 Spec 上的并发修改。
- 归档状态发现:链接 worktree 中存在过期的 active 副本时,只要创建身份和已提交的 Git 历史能证明归档更新,已完成的 change 不再被隐藏;无法判定的记录会报告为冲突。
- 已发布 Spec 的修订指引:直接写入已发布 Spec 被拒绝时,提示会指向当前 change 支持的修订路径;状态 schema 不兼容时,恢复过程保留可操作的协议诊断信息。
- 验证报告指引:验证失败或被阻塞时,报告会引导先修复实现或补齐阻塞条件,再继续验证,而不是要求你确认一个未通过的结果。
0.4.0-rc.5 版本详情
0.4.0-rc.5 版本详情
Added(新增)
- 宿主 Agent 知识评审:通过
comet knowledge review查看待评审经验,由当前 Agent 核对来源并提交可复用知识,无需另配模型或 API Key。新知识先进入试用状态,成功用于后续任务后再晋升。 - 任务采纳证据:上下文反馈可以附带具体决策、验证命令和实际结果;Dashboard 分开展示内容提供记录与实际采纳证据,重试不会重复计数。
Fixed(修复)
- 项目知识模型与检索:模块记录补充入口、依赖、调用方、注册点和测试依据。只有 Markdown 进入检索语料,代码和配置保留为记录证据;缺失或过期模型会自动补充,未指定文件的任务也能发现相关线索。
- 个人记忆管理:减少重复候选,支持查看带阶段限制的记录;永久删除清除对应正文及关联状态,保留其他记忆和仍未解决的冲突。
- Dashboard 展示与编辑:检索结果支持滚动和详情预览,知识纠正使用更宽的居中编辑框,保存失败保留草稿;Supervisor 已验收、已集成和已归档的子任务计入完成进度,需要重新验收的子任务单独标记。
- 历史项目记录清理:升级后读取项目列表时,会自动清理旧版测试遗留且目录已不存在的临时项目记录;普通失联项目和无法访问的目录继续保留。
0.4.0-rc.4 版本详情
0.4.0-rc.4 版本详情
Changed(变更)
- Dashboard 主题文字:亮色和暗色主题下的占位符、禁用状态和工作流状态标签现在保持可读,并区分活跃与归档状态。
- Native Archive 预检查:进入 Archive-ready 后,Runtime 先完成一次
--dry-run,同时显示工作区和生成文件阻塞原因及下一条确认命令;隔离工作区继续通过明确的交付选项完成归档。 - 记忆与项目知识展示:Dashboard 分开展示当前记录、历史或遗忘记录、已索引来源、证据、版本链和实际查询统计,便于区分已形成的知识与仅可检索的来源。
Fixed(修复)
- Native Shape 确认:Build 前新增独立的用户确认步骤。含糊需求或提供的文档仍有未解决的阻塞问题时,不能跳过确认;Shape 发生变化或确认命令过期时,Runtime 会要求重新确认。
- 项目知识来源刷新:刷新时会重新核对来源内容,即使文件大小和修改时间未变也能发现内容变化;Dashboard 统计覆盖项目全部记录,不受当前列表显示数量影响。
- 个人记忆状态:遗忘或冲突记录会保留在历史中,但不再作为当前有效记忆或写回 Markdown 投影。
- Native Supervisor 归档恢复:恢复旧状态、清理已交付分支和提交归档状态的过程由 Runtime 处理,减少手动删除分支、修改状态文件或重复归档。
- 依赖安全更新:更新传递依赖并同步 npm、pnpm lockfile,修复已报告的 URL 规范化、SSRF 和 Browserslist stats-processing 风险。
0.4.0-rc.3 版本详情
0.4.0-rc.3 版本详情
Fixed(修复)
- Devin Desktop OpenSpec 兼容性:
comet init、comet update和 OpenSpec 集成现在使用 Devin Desktop 的.devin/Skill 根目录,同时保留windsurf作为稳定的平台选择器,并识别旧版.windsurf/安装。 - 全局配置恢复:
comet init和 Home 目录下的comet update现在会自动恢复已知的旧版或项目 schema 全局配置,不再要求用户编辑或删除.comet/config.yaml。 - Windows 原子写入:Comet 在文件成功关闭后会刷新临时文件和 Native 锁的元数据,避免 NTFS 关闭时的元数据完成过程误把 Comet 自己的文件写入判定为外部变更。发布或释放前仍会执行身份和关闭后变更检查。
- Dashboard 项目知识一致性:Dashboard 现在与
comet task、comet knowledge使用相同的默认 Local Project Knowledge 缓存,因此重建记录和索引的 Markdown 源文件会显示在插件中心,且在其中创建的记录可供 CLI 检索。升级期间会从旧的~/.comet/plugins/knowledge-cacheDashboard 位置导入记录。 - Native Supervisor 最终验证:Supervisor Change 现在可以包含上次 Child 集成后提交的父级修复。最终验证会记录实际核验的前向集成提交;继续 Change 时会自动修复中断记录或重新运行最终 Verify,因此在集成历史被改写或发生分歧时,受影响用户无需编辑 Runtime 状态或重置分支,改写或分歧的历史仍会被阻止。
- Native Supervisor repair 恢复:父 Change 最终验证失败后,repair 子任务可以在自动返回 Shape 并重新确认时继续携带来自 Spec 的失败验收项。原有子任务的集成记录会保留;升级 Comet 后,用户可以直接继续当前流程,无需编辑 Runtime 状态或重复已经完成的子任务工作。
- Native Verifier 重试:独立验证不可用时,Native 现在会在明确的降级结果选项旁提供立即重试,保留当前候选、已完成检查和修复范围,让用户无需恢复文件、启动单独服务或配置回调即可继续。
0.4.0-rc.2 版本详情
0.4.0-rc.2 版本详情
Added(新增)
- CLI 输出信封:Native 和 Classic CLI 的
--json输出现在包含summary、next和user_message,同时保留原有机器字段。summary说明已完成的操作,next给出唯一后续动作,user_message提供可直接转述的中英文用户提示。
Changed(变更)
- 面向用户的默认 CLI 文案:Native 默认不再直接输出内部状态 JSON,改为先显示摘要、
NEXT:和需要用户决策时的RELAY TO USER:;完整机器投影通过全局--verbose查看。稳定错误码会显示可读句子,并在DETAIL:中保留机器细节。Classic 命令、handoff、archive、手动 guard 检查和 phase-guard 写入阻断也会先显示双语摘要;comet status会在每个 Native 和 Classic change 的机器详情前显示一行说明。 - CLI 信封一致性:直接运行 Classic 命令的
--json和 Native 的 verbose 错误会保留结构化信封与机器详情。需要用户决策时,转述内容优先于内部确认命令,确保 Agent 先询问用户再恢复暂停的工作流。
Fixed(修复)
- Native 验证循环暂停:重复失败或没有进展时,Runtime 现在返回明确的用户决策请求和可直接转述的双语文案;Verifier 因缺少用户才能提供的信息而阻塞时也使用同一机制。
- 过期 child 索引的 Native 状态展示:过期的
children.yaml接受索引不再阻塞整个 Native 状态页。comet status和comet native status会继续列出其他 change,并将漂移副本标记为需要重新 Shape;Dashboard 仍展示父子进度。Shape 确认和 Build 等推进状态的命令继续执行严格索引校验。 - 预发布版本检测:
comet init和comet update现在比较完整的 SemVer,能够正确识别 beta 到 RC、RC 到稳定版,以及后续 patch 和 minor 预发布版本升级。
0.4.0-rc.1 版本详情
0.4.0-rc.1 版本详情
Added(新增)
- Dashboard 工作区:新增面向 Native 与 Classic Change 的三栏 Dashboard,并统一提供个人记忆、项目知识、插件设置、归档历史、Git worktree 和网站交互预览。
- 个人记忆:新增第一方
comet-memorySkill 和comet memory命令,用于管理可复用的用户画像、协作策略和任务经历,并支持检索、纠正、遗忘、回滚、同步和有界上下文。 - Agent Learning Loop:Classic、Native、Hotfix 和 Tweak 会记录结构化的工作流、验证、Review、Archive 和上下文应用结果,通过有界 Reflection 沉淀稳定偏好与协作经验。
- 项目知识与项目策略:
comet task和comet knowledge通过独立的 Local Provider 和可选 Remote Provider,提供有来源的项目拓扑、事实、依赖、决策、流程、约束和故障解决经验。 - 可配置的项目知识语料:项目可以通过
knowledge.local.include索引项目相对的 Markdown glob;本地索引、记录、Provider 诊断和纠正结果默认保存在项目仓库之外。 - 渐进式 Agent 上下文:个人记忆和项目知识可以按任务、路径、操作和阶段选择;核心内容直接提供,较长记录通过可解释的 Context Manifest 按需展开。
- Native Supervisor Change v2:大型 Native Change 可以拆分为有依赖关系的 child,分配给独立 Codex 会话或 Claude Code Agent Team,分别验证、按顺序集成,并自动进入父 Change 的最终验证。
- Native 可移植状态与恢复:
comet-state.yaml、comet status和可重建的verification.md提供阶段、验收、交接、检查、验证、工作区和 Supervisor 摘要。 - Oh My Pi 与 DeepSeek Harness 支持:
comet init、comet update、comet doctor和comet uninstall可以在两个平台的项目级和用户级环境中管理 Comet Skill、Rule、OpenSpec 集成和 Hook Bridge。 - Native CodeGraph 初始化:选择 Native 或 Both 时,
comet init可以提供可选的 CodeGraph 设置,并将项目索引与 Agent 集成和 Classic 的 OpenSpec、Superpowers 依赖分开管理。
Changed(变更)
- Native 验证循环:Native 会复用已完成检查,避免重复扫描项目和重复执行 Archive 检查,将命令输出持续写入本机日志,并通过紧凑的分页状态和详情展示验收、证据、child、集成与恢复信息。
- Native Supervisor 协作恢复:Supervisor Change 会记住用户选择的多会话或单会话方式;无法使用独立 Codex 会话或 Claude Code Agent Team 时,Comet 会通过 Subagent 继续执行已就绪 child,不再重新询问协作方式,同时保留 Runtime 对 worktree、任务身份、验证和集成的约束。
- Native 工作区与交付流程:分支与 worktree 的发现和复用在各命令间保持一致;Supervisor 父 Change 完成后直接进入最终 Verify;成功合并后清理由 Comet 创建的 worktree,并保留分支;Archive 会明确展示本地提交、合并、推送和 PR 的实际影响。
- Native 澄清与 Classic 上下文设置:新 Native 项目默认使用批量澄清;RC1 项目模板为 Classic 启用 beta 上下文压缩,同时继续通过项目配置明确管理产物语言、Review 模式、自动推进和记忆、知识策略。
- Classic Build 与工作流调度:Classic 计划编写和自检继续由
writing-plans负责;主会话统一收集执行、TDD 和 Review 选择;在受支持宿主中继续工作流时,/comet可以加载已配置的阶段和预设 Skill。 - Classic Superpowers 依赖安装:
comet init和comet update会安装、更新实际使用的 Superpowers Skill,不再添加用户级using-superpowers启动 Skill,并保留用户已有副本。 - 工作流上下文集成:Native、Classic 和工作流解析可以使用同一套有界个人记忆与项目知识上下文、记录生命周期结果,并以非阻塞方式提供上下文,不改变工作流状态的所有权。
- Dashboard 记忆与知识体验:记录、来源文件、Markdown/JSON/YAML 预览、Provider 设置、应用历史、诊断和项目控制统一使用紧凑工具栏、稳定加载状态、内部滚动、全屏与还原弹窗,以及对齐的桌面布局。
- CodeGraph 诊断:
comet init和comet doctor分别展示 CLI 安装、项目索引状态、MCP 注册和 Agent 实际可用能力。 - Native 状态与验证文案:CLI、报告和 Dashboard 使用面向用户的措辞说明独立验证、自动检查、必要确认、child 进度、集成证据和下一步操作,同时保留稳定的机器状态值。
Fixed(修复)
- Windows Hook 启动:Claude Code 在 Windows 上运行 Comet Hook Router 和 Classic 分支绑定探测时不再出现短暂命令窗口,同时继续安全保留和迁移已有托管 Hook。
- Native Supervisor 协作方式:包含多个独立 child 的 Supervisor Change 在确认前必须明确选择多会话或单会话,通用确认不会再跳过协作方式选择。
- 记忆与项目知识一致性:修复过期 Remote 配置、来源变更或删除后的内容提供、本地索引恢复、WAL 处理、Provider 结果合并、纠正保留、永久遗忘 tombstone、重复管理读取和后台 Reflection 时序问题。
- Native Supervisor 恢复:修复父 Change 歧义发现、过期 continuation、任务绑定保护、集成身份核对、持久化恢复状态、可移植工作区投影和最终验证证据处理。
- Native 可移植状态兼容性:
comet status可以读取有效的 Native v4 Portable State,包括大型文档、分页详情、Supervisor 摘要和明确的项目根路由。 - Native 需求与 Archive 恢复:用户可见需求发生变化时,Archive-ready Change 会返回 Shape 并使旧验证失效;工作区或 Archive 操作中断时会保留可执行的恢复状态,不再复用无法验证的通过结果。
- Windows 与跨平台执行:常用命令 shim 和并发 snapshot、工作区操作在 Windows 上能够稳定运行,打包后的 Dashboard 与 Runtime 资产也能适配不同平台的路径和格式。
- Classic 工作流恢复:修复工作区准备与解析缺少项目上下文、Build 计划下放失败回退、阶段 Skill 与 Rule 契约偏移,以及验证修复后实现工作仍留在错误阶段的问题。
- Dashboard 项目与界面状态:修复 monorepo 子目录发现、过期 worktree 和索引来源、长项目名显示、项目选择器与标题对齐、空状态与加载状态切换、重复读取项目知识来源、侧栏品牌标题裁切、来源预览状态、折叠侧栏溢出、弹窗控件和误导性的个人记忆提示。
- Issue 分诊回退:Issue 表单区域无法识别时,会根据标题和正文推断唯一的仓库区域;存在歧义的报告继续保留人工分诊标记。
Removed(移除)
- 旧 Native 验收记账链:新 Native Change 不再暴露旧的项目扫描、checkpoint、check、evidence 和 receipt 命令链;历史归档保持只读。
0.4.0-beta.20 版本详情
0.4.0-beta.20 版本详情
Changed(变更)
- 可执行的 CodeGraph 诊断:
comet init和comet doctor现在分别展示 CodeGraph CLI 安装状态、项目索引是否最新、Agent 是否注册 MCP,以及每个检测到的 Agent 是否真正具备有效能力。项目索引最新不再等于 Agent 一定可以使用 CodeGraph。
Fixed(修复)
- Native Portable child 发现:链接 worktree 中的 child 发现不再因为任意的读取上限拒绝超过 256 KiB 的有效 Portable v4 change 文档。
- Native Archive-ready 需求修改:Native change 停在
archive-ready等待时,用户可以修改可见需求或验收标准并回到 Shape;旧的验证结果和归档批准会失效,但 change workspace 会保留。 - Classic Skill 调度:移除了classic skill中错误的disable-model-invocation选项
0.4.0-beta.19 版本详情
0.4.0-beta.19 版本详情
/comet-review 和仓库自有的 Native PR 收尾 provider,并修复了多个 Windows 与 Classic 流程问题。Added(新增)
- Grok 平台支持:
comet init、comet update、comet doctor和comet uninstall现在把 Grok 作为一等宿主。Skill、规则和 Hook Router 分别位于.grok/skills/、.grok/rules/和.grok/hooks/comet.json;Router 识别--platform grok,并匹配 Grok 原生的write/search_replace工具。 - 仓库自有 Native PR finish provider:项目可以选择用结构化仓库命令校验 PR 标题、正文、模板和仓库策略;Comet 仍保留提交、推送、远端 base/head/SHA 核对、已有 PR 复用、可恢复的失败状态和安全的 worktree 清理。配置方式见Native 配置 · PR 收尾 provider。
- CodeBuddy 规则支持:Comet 现在会安装并刷新 CodeBuddy
.codebuddy/rules/目录下的 Markdown 工作流规则。 - 按需代码审查:新增
/comet-reviewSkill,对照实现 diff 和已有证据审查当前 Native 或 Classic change,按优先级报告正确性、安全、边界和覆盖问题;保持只读,不推进工作流,也不替代 Verify。详见代码审查机制。 - Fork PR 引导:首次从 fork 发起 PR 的贡献者现在会通过可信 workflow 收到仓库引导评论。
- PR 模板校验:PR 缺少必需的模板段落或条目、或清单项未完成勾选时,现在会收到可执行的评论和一个失败的检查。
- Issue 分诊标签:新 issue 会自动标记为待分诊,并根据结构化 issue 表单的选择分配仓库区域标签。
Changed(变更)
- Hook 写入放行文档:网站现在说明了如何为受保护的工作流阶段配置项目相对的
hook.allow_paths目录。 - Native 子计划:新的 Supervisor Change 子计划保留可读的父验收索引,Runtime 验证仍持有完整的 brief 与 Spec 验收矩阵;历史子计划文件保持兼容。
- Dashboard 产物预览:全屏预览现在支持 Escape 关闭,长表格保持水平滚动,表头保持可读,目录导航使用更大的缩放比例。
- Native 需求来源:以文件或链接提供的需求来源现在在 Native brief 中保留完整的覆盖图,把每条活跃的可执行需求同时映射到目标 Spec 和验收标准;不完整或不可用的来源继续阻塞,等待澄清。
- Native 验证决策:Native 的 await-user continuation 现在允许用户接受当前结果、修订实现,或修订需求与验收标准,同时使旧目标周期的归档批准失效。
- PR 标题 scope:约定式 PR 标题现在支持 Native、Classic、Hook、Dashboard、Platform、Workflow、Eval 等仓库区域,包括
feat(native): ...这类标题。 - Ambient Resume 非 Comet Skill 豁免:
AGENTS.md和CLAUDE.md中托管的 Ambient Resume 说明现在豁免显式调用的非 Comet Skill 和斜杠命令,无关的插件或工具安装任务不再以comet resume-probe调用开头。已有项目通过comet update获得修订后的说明块。
Fixed(修复)
- Windows 初始化可靠性:
comet init不再在 exFAT/FAT32 等无稳定文件标识的文件系统(如可移动盘和网络盘)上以 “Contained atomic write temporary file changed before commit” 中断 OpenSpec 和 Skills 安装。提交时的完整性检查原来把临时文件与写前快照比较,使 comet 自己的写入看起来像篡改;现在改为与写后快照比较,符号链接和目录位移检测保持不变。 - Classic design handoff 刷新:OpenSpec 产物变更后运行
comet handoff <change> design --write不再报过期 handoff 错误,design guard 可以通过,Classic 完整流程可以从 Design 推进到 Build。刷新时即使手工对齐的 hash 本会短路成功,也会重写过期的上下文文件;OpenSpec delta spec 新增、变更或删除时会重新生成上下文包;guard 已推进到 build 阶段后刷新仍然可用。 - Classic Ambient Resume:
comet init和comet update现在在ambient_resume开启时为 Classic-only 项目保留托管的 Ambient Resume 说明,重跑这些命令不再把它从AGENTS.md或CLAUDE.md中移除。 - Classic 工作区命令上下文:
comet classic workspace prepare和comet classic workspace resolve不再对所有隔离模式(current、branch、worktree)都报 “Classic command project context is unavailable”,修复了 Classic Open 流程的工作区准备步骤。 - Native Archive:Archive 暂存工作区产物时现在遵守 Git ignore 规则;有效的可移植验证报告不再被当作不完整的迁移。
- Windows Eval 打包:打包不再在应用包边界前遍历被忽略的 pytest 和 Eval 运行时产物,陈旧的 Windows 测试目录不会再让
pnpm pack以EPERM失败。 - Windows Eval 隔离:重复运行
comet eval不再把生成的.comet缓存、运行产物或框架自身的 Runtime 状态复制进 Skill 工作区,避免 Windows 上的嵌套缓存和深路径MAX_PATH失败。 - Monorepo Dashboard 工作区:从持有
.comet/config.yaml的 monorepo 子目录启动comet dashboard时,现在以该子目录为工作区根,并把兄弟 Git worktree 映射到同一子目录;Comet 项目根不是 worktree 根时,change 列表不再为空。 - Ambient Resume 流程内回复:按已安装 Ambient Resume 说明行事的 Agent,在用户以简短选项回复流程内问题后,不再卡住正在运行的 Comet change。托管说明块现在豁免对 Comet 流程内提问的回复,并澄清
out_of_scope结果只会阻止进入 workflow,绝不会中断已在进行的流程。 - Windows stdin 和文件 JSON 解析:Runtime 命令现在在解析 JSON 前剥离开头的 UTF-8 BOM,来自 Windows PowerShell 5.1 重定向或
Out-File(默认输出带 BOM 的 UTF-8)的帧 JSON 不再让comet-intent.mjs route --stdin报 “Invalid JSON”。同样的容错也应用于comet-resume-probe.mjs --stdin、comet-hook-guard.mjs和 Hook Router 中的 Hook 载荷解析,以及从 stdin 或--entries文件读取的 Nativeevidence format条目。 - Classic record-check 步骤同步:Agent 在 Build 期间勾选 tasks.md 最后一条后,
comet state record-check不再报 “Classic Run step mismatch”。勾选任务会在不运行状态命令的情况下推进证据推导的 Run 步骤,合法地把已记录步骤留在后面;record-check 现在会在记录检查前重新同步 Run 投影(打印[RECONCILED] currentStep ... -> ...行并追加轨迹转换),让 Build 证据继续记录。真正的损坏——skill 身份、快照或迁移标记不匹配——仍然会硬失败。 - Classic Build 计划卸载:Build Step 1 的计划编写子代理不再频繁退化回主会话(#345)。派发提示现在告诉子代理跳过交互式 skill 步骤(如
writing-plans的 Execution Handoff 提问),完整计划路径由主会话在派发前固定,子代理必须以一行PLAN_PATH:结束回复,供协调者优先读取。没有 Skill 工具的子代理会以SKILL_UNAVAILABLE快速失败,避免空转;计划范围限定为 tasks.md;同一会话内派发失败后,后续 Step 1 条目会直接转入 inline。
0.4.0-beta.18 版本详情
0.4.0-beta.18 版本详情
Added(新增)
- 独立 Skill 评估入口:可以直接运行
comet eval ./my-skill评估本地 Skill,不需要先创建comet/eval.yaml;完整使用流程见快速上手:评估一个 Skill。 - 任务发现与离线预检查:支持 inline task、Skill 包内任务以及没有 manifest 时自动生成并缓存的 2–4 个任务;
--collect只做静态发现和配置检查,不启动 Agent 或 Docker。 - 可选择的评估 Agent 与独立 Judge:评估可以选择 Claude Code、Codex、Qoder 或 CodeBuddy,并为主 Agent 与 LLM-as-Judge 分别配置模型、API 地址和凭据。
- Langfuse 评估套件:
comet eval --suite langfuse会同步 task trace、rubric score、pass 指标和实验摘要,同时保留本地报告。 - Native Supervisor Change 模式:大型需求可以在 Shape 阶段确认 Supervisor Change 模式,Runtime 会按依赖推进子 change,并在最终集成分支上验证 Supervisor Change 的完整目标。
- 跨 worktree 的 Dashboard:Dashboard 会发现注册的 Git worktree,独立 Change 保持为根条目,Native Supervisor Change 可以展开查看 child 的状态和进度。
- WorkBuddy 平台支持:
comet init和comet update现在会把 Comet Skill 安装并更新到项目级.workbuddy/skills/或用户级~/.workbuddy/skills/;项目级安装还会把 Comet Hook 合并到.workbuddy/settings.json,同时保留已有配置。
Changed(变更)
- 项目内 Hook 写入白名单:项目可以在
.comet/config.yaml的hook.allow_paths中配置项目相对目录,让共享规则或笔记在 Native Shape 或 Classic 非编码阶段仍可写入;Comet Runtime 和工作流自己的产物仍受保护。Hook 本身不会拦截项目外的写入,因此项目外路径无需配置白名单。 - Classic 工作区路由:创建或恢复 Classic change 时会根据当前分支和 worktree 绑定到对应工作目录,并在可用时复用已有 worktree。
- Native 工作区复用:Native 并行 Change 会复用匹配的 linked worktree;分支仍存在但 worktree 缺失时,恢复流程会重新创建它。
Fixed(修复)
- Classic Guard 项目根路径解析:即使从项目内的嵌套工作目录运行,Classic design Guard 也会从已发现的项目根目录读取 delta spec,不再因当前工作目录不同而报路径不存在。
0.4.0-beta.17 版本详情
0.4.0-beta.17 版本详情
Added(新增)
- 独立 Native Subagent 验收:Builder 提交实现交接后,Runtime 运行必要检查,并分派全新的只读 Verifier 逐项检查 A1…An。Builder 自报“完成”不能直接归档;Skill 协调模式在归档前还需要一次明确的用户确认。
- Trae Hook 支持:
comet init、comet update、comet doctor和comet uninstall支持 Trae 与 Trae CN 的项目级、全局 Hook Router 配置,同时保留用户自己的 Hook 设置。
Changed(变更)
- 更快的 Native Verify:正常检查只执行一次并复用完成结果,输出流入本机日志;Verify 不再扫描或指纹化整个项目,Archive 正常路径也不重复验收。长 Maven、Gradle、npm 或 Python 输出不会仅因长度使有效结果失效。
- 可移植的 Native 状态:
comet-state.yaml保存阶段、Loop、验收结果、交接、阻塞和下一步;verification.md是可重建的用户报告,本机执行状态和日志留在.comet/runtime/native/。 - Native Dashboard:Native 详情展示 Build/Verify 阶段、迭代、尝试、验收项、检查、阻塞、历史和用户可读产物;机器 Runtime 文件不出现在产物列表,旧归档通过只读适配器查看。
- 澄清与工作区选择:新项目默认使用 Batch 澄清,先整理问题依赖再提问;创建 change 时会展示
current、branch、worktree选择,并在恢复和链接 worktree 时保持正确归属。 - Skill 与 CLI 指引:Native 的公开命令和中英文 Skill 以 Runtime 返回的下一步为准,正常流程不要求手工拼接内部状态;阶段 Skill 的调用策略也更明确。
Fixed(修复)
- 工作区与恢复路由:链接 worktree、跨设备恢复、错误 checkout 和中断的 Archive 都会先检查当前状态,不会静默复用旧的通过结果或把 change 路由到另一个工作目录。
- 跨平台 Native 检查:Windows 可正确执行 npm、pnpm 等命令 shim,超时会停止子进程树,减少平台相关的 Verify 失败。
- Hook 与工作流隔离:没有可信项目上下文的遗留全局 Hook 保持中性;Classic 专用参考只随 Classic 安装和加载;
comet doctor也能识别插件目录中的 Superpowers。
Removed(移除)
- 旧 Native Runtime验收链:新 change 不再生成旧的项目扫描、checkpoint、check、evidence、receipt 链。旧的 active change 会在需要时保守迁移,已经归档的旧 change 保持只读。
0.4.0-beta.16 版本详情
0.4.0-beta.16 版本详情
Fixed(修复)
- Classic 与独立 OpenSpec 共存:Classic 现在只使用配置的产物根目录,因此不使用 Comet 的项目仍可保留另一个 OpenSpec 根目录;显式迁移根目录时,如果目标目录非空,仍会拒绝覆盖。
- Codex Native Hook 解析:Native 现在能正确识别原始
apply_patch输入中的 Add、Update、Delete 以及标准+++ b/...文件头,确保阶段保护在不同补丁格式下都能一致生效。
Security(安全)
- 依赖安全更新:将 PostCSS、Undici 和 brace-expansion 更新到已修复安全问题的版本。
0.4.0-beta.15 版本详情
0.4.0-beta.15 版本详情
Added(新增)
- 全局项目激活:全局的 Native 或 Classic 默认值现在可以在未配置项目首次明确调用
/comet时激活该项目;项目产物仍保留在项目内,已有的工作流归属会被保留,项目级初始化仍可用于本地覆盖。 - Native 并行 change:进入 Shape 前,Native 会检测活跃 change,并可自动创建隔离的 Git worktree;安全时仍保留
current、branch和worktree选择,隔离的 change 会记住起始目标分支以便后续完成。
Changed(变更)
- Dashboard 变更浏览器:Dashboard 现在加载轻量的 change 行,对活跃、归档和全部 change 分页显示,并只在选中后才获取完整详情;Native 和 Classic 在加载时保持所选详情面板稳定,详情加载失败时可重试,让大型项目保持响应。
- Hook 生命周期与路由:已激活的项目和隔离的 Native worktree 现在会自动获得一个项目级 Router;Setup、Update 和 Doctor 会迁移历史全局与遗留 Comet Hook,同时保留用户拥有的 Hook 配置,并在清理未完成时明确报告,而非静默继续。
Fixed(修复)
- 全局 Native Skill 更新:全局
comet update现在只刷新已安装的工作流(包括 Native),不会新增用户未选择的工作流。 - Native Verify 重试:无效的验证报告会在必需检查运行前被拒绝;重试时未变化的成功必需检查回执会被复用,避免不必要的昂贵检查重复执行。
- Native 并行恢复:Ambient Resume 现在只对明确指定、已选中或唯一的 Native change 执行完整恢复检查,其他无关的活跃 change 不再触发无关的 Runtime 错误。
- Subagent 工作流分发:Classic Build 直接运行选定的创作工作流;Comet Any 让每条创作 lane 保持在指定工作流上,而不再根据平台特有的 Agent 标签替换。
- Native scope 一致性:Native 现在能检测 Git 修改文件视图下被隐藏的文件,避免误判 Build 与 Verify 的 scope 不一致而阻塞验证和归档。
- Hook 写入处理:没有活跃 Comet change 拥有目标时,项目 Hook 允许普通写入;对未知或外部目标(包括通过 symlink 或 junction 重定向的路径)保持中性,同时仍评估项目内写入。
- Hook 配置安全:Hook 安装不再覆盖用户拥有的 Kiro 文件或留下无效 Copilot 条目;Doctor 在报告 Router 健康前会检测过时遗留文件以及被禁用或结构不匹配的处理器。
- Native receipt scope 恢复:项目文件在 Build 后发生变化时,验证回执会在执行前停下,报告变化路径,并提供返回 Build 刷新实现 scope 的命令。
- Classic build 恢复:完整 Classic 工作流在上下文恢复后若没有有效实现计划,会回到计划创建阶段,并在计划恢复并关联前阻止项目源码写入。
- Ambient Resume 清理:禁用 Ambient Resume 时会从
AGENTS.md和CLAUDE.md中移除 Comet 管理的指令,同时保留用户自己编写的内容。 - Eval workspace Dockerfile:workspace 没有根目录 Dockerfile 时,Eval 镜像准备现在会使用
environment/Dockerfile,这些 workspace 无需移动文件即可构建。
0.4.0-beta.14 版本详情
0.4.0-beta.14 版本详情
Fixed(修复)
- 不完整项目配置:
comet update和 Classic 根目录命令会补齐缺失的 Native 默认字段,并接受其他配置仍可用的项目。 - 更新作用域:选择“仅当前项目”后,
comet update只刷新该项目;没有可更新的索引项目时会明确说明,而不会改动全局安装。 - Classic 初始化兼容性:为已有 Native 项目添加 Classic 时会保留已有根目录
openspec/布局;在不支持硬链接的 exFAT 等文件系统上也能完成初始化。 - Codex OpenSpec Skills:项目初始化会将为 Codex 生成的 OpenSpec Skills 安装到其规范的
.agents/skills/目录。 - 卸载选择与完成状态:项目级卸载采用与初始化一致的平台批量选择;未选择的平台会被保留。选中的 Superpowers 配套 Skills 会被清理,保留用户工作目录内容不会再被误报为卸载失败,真实清理失败会显示原因,并按所选语言输出。
0.4.0-beta.13 版本详情
0.4.0-beta.13 版本详情
Added(新增)
- Native 验证回执刷新:新增
comet native receipt refresh <change> [--apply],可检查失效的验证回执,并在可安全更新时重新生成手工回执;需要真实重跑的自动检查会明确列出,不会被误标为已通过。
Changed(变更)
- 选择性工作流卸载:交互式
comet uninstall现在可按安装目标选择移除 Native、Classic 或两者。移除其中一个时会保留另一个工作流及其共用配置;移除 Classic 时可选是否清理 OpenSpec 与 Superpowers Skill,默认保留它们。 - 日常操作响应:CLI 启动、Classic 与 Native 工作流命令、写入前检查以及 Native 快照更新均更快;Native 会优先复用未变化文件的已有结果,同时继续检查实际变更。
- 高频公共工作流命令:高频 Native、Classic 与工作流解析命令保持稳定的
cometCLI 接口,同时在内部转入包内 runtime bundle;无需依赖宿主特有的 Skill 路径即可降低冷启动开销。 - Dashboard 工作区:Dashboard 提供更清晰的项目切换、搜索和 change 详情查看体验;从仓库子目录启动时能发现项目,并在独立、只读的 Native 工作区旁呈现 legacy 与 docs 布局中的 Classic change。
Fixed(修复)
- Classic 配置兼容性:初始化和更新能够保留已有 Classic 项目的目录选择,并在旧项目配置不完整时更可靠地识别可继续使用的目录。
- 可移植的工作流执行:Native 与 Classic Skill 现在调用公共
cometCLI,而不再搜索特定平台的 Skill 目录或调用内部 bundle。未安装 CLI 时会清晰停止;工作流路由仍会立即通过 Skill 工具加载选中的 Skill。 - Classic 执行选择:Classic 现在展示工作流支持的全部隔离与执行选择;用户选定后直接运行对应动作,失败时报告原错误,不再预先筛除选项。
- Dashboard 状态提示:Classic change 的验证状态现在使用通过(绿)、失败(红)、待验证(琥珀)和中性颜色区分;无效端口会在启动前给出明确错误。
Security(安全)
- Classic 阶段保护:宿主配置目录和 worktree 不再绕过 Classic 阶段限制,避免在非 Build 阶段通过
.claude/等路径隐藏源码写入。 - Dashboard 构建依赖:更新 Dashboard 的 CSS 构建依赖,修复可能经由不可信 source map 引用读取非预期映射文件的风险。
0.4.0-beta.12 版本详情
0.4.0-beta.12 版本详情
Changed(变更)
- Classic 根目录迁移:
comet classic root move docs --dry-run直接报告当前状态、冲突与阻塞项,不再生成 plan ID;--apply无需 plan ID 即可迁移完整openspec/目录,包括活跃和未完整归档的 change。输出遵循classic.language,已使用docs/openspec/的项目会得到明确的无需操作结果。 - Native 工作流指引:Native 会先识别当前 change 与阶段,再加载对应阶段的参考;进入实现前始终完成 Shape 分类、静默假设检查与共享理解确认。Build 中出现新的用户决定时,会暂停实现、重新澄清并确认更新后的需求,再继续推进。项目级和 change 级命令按任务组织,减少与当前阶段无关的信息。
- Native 验证与修复:Verify 通过时自动运行并绑定内置必需检查。验收证据可以来自人工观察或由 Runtime 执行的项目命令;命令执行支持 Windows shim,并在保存摘要前清理疑似凭据。Runtime 从失败证据推导修复缺口;仍有一次 override 时由 Agent 提出新的具体修复假设,override 或验证预算耗尽后才返回一次明确的用户决策。
Fixed(修复)
- Classic Dashboard 定位:从仓库子目录启动 Dashboard 时会自动定位项目根目录,并按
classic.artifact_layout读取 Classic change;采集失败会显示错误,不再伪装为空工作区。 - 显式 Comet Skill 路由:
/comet只在你明确调用它,或明确要求使用 Comet 但未指定 Native 或 Classic 时进入。入口会直接按项目配置进入 Native 或 Classic,并保留原始请求,不再重新判断任务是否相关或按任务规模改选工作流。 - 失效的当前 change 选择:当当前选择指向已不存在或已归档的 change 时,Comet 会重新检查活跃 change:没有候选时可正常处理其他工作;唯一候选仅用于只读恢复;多个候选时仍要求你明确选择。
- Native baseline 恢复提示:baseline 不完整时的诊断会同时提示
native.snapshot.max_files、总字节与时长预算,文件数超限可以直接定位到对应配置。
Removed(移除)
- Native 密码学审查:移除 controller trust、签名身份、实现声明、独立审查和 waiver receipt 及其 CLI/Eval 交接路径。Native 现在只依赖绑定到当前 revision、contract、scope、snapshot 与产物的完整验收证据和内置必需检查。
- 冗余 Native CLI 输入:移除
comet native list别名、manual receipt 的--responsible与--confirmed,以及由调用方传入的next --receipt、--evidence-receipt、--failure-category和--failed-check。使用不带 change 名称的status查看列表,并在verification.md中引用验收 receipt;仍持有 v2 receipt 的 active change 需要重新记录 schema v3 证据。
0.4.0-beta.11 版本详情
0.4.0-beta.11 版本详情
Changed(变更)
- 项目配置默认值:新 Classic 配置默认使用
classic.artifact_layout: docs。comet update会补齐缺失的 Native 与 Classic 托管字段;只有检测到需要保留的根目录openspec/项目时才继续写入legacy。 - 按风险触发 Native 审核:独立审核由真实 implementation scope 与风险决定,不再由 change 创建时的签名模式决定。普通 change 可以直接开始,高风险验证仍保持失败关闭。
Removed(移除)
- Native 创建授权:
comet native new不再要求--creation-authorization;signed-v2创建协议和comet native trust authorize已删除。
0.4.0-beta.10 版本详情
0.4.0-beta.10 版本详情
Added(新增)
- 定向平台安装与更新:
comet init和comet update新增--platform <platform>。需要修复或刷新单个平台时,不必重新处理项目中的其他平台;未指定该参数时,仍沿用现有的自动检测与回退行为。 - CodeGraph 索引生命周期:非交互项目初始化可以显式选择
comet init --codegraph init|skip。comet doctor会区分 CLI 缺失、索引缺失、不完整、过期和可用状态;只有经过授权的comet doctor --repair --yes才会执行初始化、重建或同步(#245)。 - Classic 可配置目录布局:项目可通过
classic.artifact_layout: legacy|docs在openspec/与docs/openspec/两种布局间选择。comet classic root show可以查看当前布局;已有项目使用comet classic root move docs --dry-run和--apply安全迁移产物及配置(#173)。 - Native 证据化验收:每条强制验收项都必须绑定当前 snapshot 和 scope 下的有效证据。Native 可以分别记录自动检查、人工观察、实现声明、独立审查和经批准的结构化豁免;失败、跳过、阻塞、过期或覆盖不完整的证据不能产生通过结果,高风险变更还需要独立复核(#240)。
Changed(变更)
- Classic 文档目录:新建的 Classic 或双工作流项目默认把 OpenSpec 产物放在
docs/openspec/,与docs/comet/、docs/superpowers/组成统一文档目录。已有项目继续使用当前的根目录openspec/,除非显式迁移;所有 Classic 命令都会遵循所选布局(#173)。 - Native Loop:Verify 不通过时,Runtime 会把 failed/missing acceptance 和失败检查稳定回灌到 Build。实现者按缺口分批修复并重新验证;只有完整验收通过后才进入 Archive。一次 Agent turn 或代码发生变化不代表完成,只有缺口减少、检查转绿或证据补全才算进展;达到停滞条件或失败预算后会停止并等待用户决定(#209、#242)。
- Native 归档确认:
native.archive_confirmation: required会在最终 Archive 候选上要求一次明确决定;保持默认配置时继续自动归档。中间修复轮次不会触发归档确认,选择暂不归档也会保留当前 active change(#238)。 - Native 渐进式指引:Native 入口优先呈现当前阶段、验收缺口和下一动作,只有在需要时才加载澄清、命令、产物与恢复细节。
Fixed(修复)
- Classic 归档引用:归档时会把 change 内的 handoff 和相关产物引用更新为带日期的归档位置,并在完成前验证引用;成功归档后不再需要手工修正
.comet.yaml(#244)。 - 辅助 worktree 诊断:
comet doctor会区分当前 worktree 资产、仅主 worktree 可见的资产和可用的全局兜底,不再把辅助 worktree 中有意未复制的忽略文件误报为损坏(#246)。 - 本地 Eval 执行环境:本地任务镜像现在包含评估所需的 Claude Code,并以非 root 用户运行,quick 和 full Eval 可以稳定识别执行环境并启动 runner(#229)。
- 本地 Eval 校验器:复制到任务中的轻量校验器可以可靠加载随附的 scaffold runtime;workflow Eval 只使用与工作流契约匹配的任务,无 Skill 的 CONTROL 结果保留为对照数据,不再错误阻断有效的 Dynamic Skill 结果(#229)。
- Creator Bundle 可移植性:Creator 生成的工作流 Bundle 使用项目相对的证据路径和平台无关的创作说明,不再把 Claude 专用自定义 Agent 声明为 Codex 发布所必需的运行能力;成功的本地 Eval 结果会写回当前 Bundle 的评估证据(#229)。
Security(安全)
- Native 审批隔离:签名工作流的审批凭据保存在项目和实现者之外,项目内的变更不能自行取得批准权限(#240)。
0.4.0-beta.9 版本详情
0.4.0-beta.9 版本详情
Added(新增)
- Sequential 澄清评估:新增可重复运行的 Native 多轮评估,用于检查 Sequential 是否先调查仓库事实、逐个解决相互依赖且应由用户决定的问题、记录每次答案、在进入 Build 前确认完整共享理解,并完成经过验证的实现。任务定义的回复序列让每条决策路径都可复现,不再允许模拟用户自行补充选择。
comet native evidence format:新增命令,可将验收证据条目序列化为verification.md所要求的规范 Markdown 区块。用户不再需要手动调整证据格式,也不会再因字节级格式差异触发错误的“规范序列化”拒绝。
Changed(变更)
- Native 澄清模式:Sequential 现在会在每次回答后重新计算剩余的用户可见决定,每轮只提出一个最上游决定并说明推荐与影响。Batch 会按前置关系维护用户可见结果的决策树,每轮询问整个 ready frontier;支持并行能力时,环境事实调查不会阻塞其他已具备条件的问题。两种模式都要求最终共享理解摘要中的每项行为可追溯,并由 Runtime 强制取得明确确认后才能进入 Build;旧的
implicitchange 在离开 Build 前也必须确认。
Fixed(修复)
- 大型仓库的 Native baseline:Native 内容快照现在支持绑定到 baseline 的 include/exclude 策略,以及
.comet/config.yaml中可配置的文件数量、总字节数和执行时长预算;默认总预算为 256 MiB,不再有独立的 5 MiB 单文件上限。Runtime 继续使用流式 SHA-256 哈希真实工作区内容,记录实际策略与限制供审计,并在无法取得完整 baseline 时给出可执行的配置修复方法(#226)。 - 全局工作流选择:
comet init现在会在 global 安装时提供 Native、Classic 或两者,并接受--scope global --workflow native|classic|both;全局 Skill 安装因此与项目级提供相同的工作流选择,未显式指定 workflow 的非交互 global 安装仍默认使用 Classic(#234)。 - 显式调用 Comet Skill:Ambient Resume 项目指令现在会让宿主识别出的手动 Comet Skill 调用优先于恢复探测,避免当前没有 active change 时,
none或out_of_scope结果错误跳过/comet(#235)。 - Classic 归档最终状态:Classic 现在会在不可逆归档前确认立即远端交付,在唯一归档提交前写入
branch_status: handled,并只推送这份完整提交一次。成功归档后不再遗留未提交的.comet.yaml,远端归档状态也不会停留在pending(#237)。 - 插件市场 Superpowers 检测:当
~/.claude/plugins/cache/(或对应的 Codex 路径)中,本应为 marketplace 目录的位置出现普通文件时,comet init不再因ENOTDIR错误崩溃。
Security(安全)
- 防竞态文件读取:读取
.comet/current-change.json(每次 Hook Router 调用、comet doctor和comet resume-probe都会使用)、Native 锁文件及comet native evidence format --entries输入时,现在会在打开前拒绝非普通文件,并在打开后及读取后验证文件身份没有变化。中途将文件替换为符号链接会使读取失败,而不会泄露链接目标内容;锁路径上的 FIFO 也不再导致进程挂起。Windows 缺少O_NOFOLLOW时,会通过相同的文件身份检查获得等效保护。
0.4.0-beta.8 版本详情
0.4.0-beta.8 版本详情
Fixed(修复)
- Windows Native 文件校验:Windows 路径元数据与文件句柄元数据对设备或 inode 标识的可用性不一致时,
comet status、comet doctor和其他 Native 读取不再把稳定文件误报为changed while opening。文件替换与写入期间变更的检测仍然保留。
Security(安全)
- 开发依赖加固:npm 和 pnpm 依赖解析统一锁定到已修复的
brace-expansion5.0.7,避免恶意 brace 模式让开发工具链出现指数级 CPU 消耗。 - Classic handoff 校验:运行时改用精确行匹配校验已记录的 handoff 来源路径,不再把项目可控的 spec 目录名当作正则表达式,避免异常目录名导致 Classic design guard 崩溃或长时间阻塞。
0.4.0-beta.7 版本详情
0.4.0-beta.7 版本详情
Added(新增)
- Comet Native 工作流:新增独立的
/comet-native工作流,不依赖 OpenSpec、Superpowers 或其他外部 Skill。它使用 Shape、Build、Verify、Archive 四个阶段,支持可恢复 checkpoint、完整目标规格和独立的 change 状态。需求澄清默认使用sequential,每轮只处理一个最上游问题;你也可以切换到batch,一次回答当前所有独立问题。参见 Native 工作流和 Native 快速开始。 - Native 与 Classic 真实评估:两套工作流使用相同的 16 个业务任务,每个任务重复 3 次,共 96 次运行。Native 的 strict pass@1 为 95.83%,Classic 为 89.58%;两者的 pass@3 都是 100%,Native 的 pass^3 为 87.5%,Classic 为 75%。Native 的修正平均模型耗时低 47.8%。在双方都严格通过的 41 组配对样本中,Native 的总 Token 少 76.8%,模型成本低 75.1%。耗时数据来自不同运行时段,因此只作为方向性证据。参见 完整对比报告。
- Native 澄清模式评估:在同一个任务上,Batch 与 Sequential 各运行 10 次。Batch 的平均外层交互轮次从 4.5 降到 2.7(减少 40%);平均累计模型耗时从 712 秒降到 617 秒(减少 13.3%)。但 Batch 的 strict pass@1 为 60%,低于 Sequential 的 70%。这是单任务小样本,说明两种模式存在效率与可靠性的取舍,不能据此认定 Batch 更可靠。参见 澄清模式评估。
- 可选 Eval suite:
comet eval --suite local|langsmith可以选择本地或 LangSmith 评估。Local 仍是默认值;LangSmith 使用同一套任务和评分逻辑,并自动选择 tracing runner、报告目录和 Claude Code tracing plugin。
Changed(变更)
- 项目工作流选择:项目级
comet init现在提供 Native、Classic 和 Both 三种选择。新项目默认让/comet进入 Native,Native 产物默认写入docs/comet/。Both 会安装两套独立工作流,但不会混合它们的 change、状态和产物。 - 入口、状态与恢复分离:
/comet-native和/comet-classic是固定入口,/comet只按项目配置选择其中一个。comet status、comet resume-probe和 Dashboard 会分别显示与恢复 Native、Classic 和未托管 OpenSpec change,双工作流项目不会对同一次写入重复拦截。 - Native 执行与恢复边界:Native 在开始修改前记录完整项目基线,并把实现范围、验收条件和验证报告绑定到 change。快照不完整时不会推断文件已删除;验证连续失败且没有真实代码进展时会停止重试。中断后可以恢复状态、归档和产物根移动。
- Node.js 运行时要求:Beta 7 要求 Node.js 22 或更高版本。升级前请先确认本地、CI 和 Docker 环境的 Node.js 版本。
- 更新命令不再隐式升级 npm 包:在当前项目运行
comet update时,只刷新 Comet 托管的项目资产。需要同时更新 CLI 时使用comet update --self-update。更新会校验完整预发布版本、拒绝降级,并在安装失败时尝试恢复原版本。Classic 的配置会迁入.comet/config.yaml的classic:块,现有明确配置会被保留。
Fixed(修复)
- 初始化与更新结果:
comet init和comet update在工作未完整完成时返回非零退出码,并保留 npm 诊断。批量更新会区分失败项目和未尝试项目;组件失败后不再显示成功横幅。 - OpenSpec 版本诊断:如果已安装的 OpenSpec CLI 版本过旧且你没有选择升级,初始化会直接说明版本不满足要求,不再误报为 CLI 不可用。
- Windows 与并行 Eval:Windows Docker 交互评估优先使用 Git Bash,保留容器内 prompt 路径,并按真实 driver turn 计数。并行 worker 会等待共享 Docker build lock,不再把正常并发误报为资源死锁。
0.4.0-beta.6 版本详情
0.4.0-beta.6 版本详情
Added(新增)
comet state rebind:用户明确确认当前分支应接管 change 后,可以用新命令重新绑定工作分支并记录审计事件;尚未建立首次绑定或处于 detached HEAD 时会拒绝执行。
Changed(变更)
- 工作区分支绑定:
current、branch和worktree三种隔离方式都会记录建立时的 Git 分支。后续切换分支会被 build、verify、archive 入口检查和源码写入守卫阻止;选择漂移的 change 也会失败,而不会静默覆盖绑定。旧 change 会在下一次 select 或 check 时补齐绑定,非 Git worktree 项目不受影响。 - 工作区隔离选择:full、hotfix 和 tweak 都会让用户显式选择继续使用当前分支、创建新分支或创建 worktree,不再替用户静默决定。full workflow 现在也支持
isolation: current(#190)。 - 状态与归档提示:
comet status的文本和 JSON 输出会显示隔离方式与绑定分支;current隔离归档时只询问推送当前分支或保留本地,不再提供面向功能分支的合并/PR 选项。
Fixed(修复)
- Skill 发现容错:无关本地 Skill 的 YAML frontmatter 格式错误不再中断 Bundle Factory 指引或候选发现,Comet 会跳过损坏的描述并继续扫描。
0.4.0-beta.5 版本详情
0.4.0-beta.5 版本详情
Changed(变更)
- Skill 触发与决策创作:内置阶段 Skill 和 Creator 生成的内部 Node Skill 明确入口与 Runtime 边界;Creator 在生成暂停点前区分自动处理、停止条件和人工交接,减少不必要的内部 Skill 调用与用户提问。
- 工作流 checkpoint:清晰请求跳过多余命名确认;Build 预检查可执行能力并合并相邻配置决定;大型 PRD 使用可恢复批次 manifest,恢复不再依赖未写入磁盘的对话状态。
- 验证修复与归档归属:前三次可执行验证失败自动返回 Build,并跨恢复保存连续失败次数;Verify 只记录证据,Archive 在分支处理前只提交归属路径,确保最终分支包含规格和归档元数据。
- Preset 执行语义:Hotfix/Tweak 会如实记录当前工作区隔离,直接模式仍保留回归测试,升级完整工作流后清除轻量执行设置。
- Dashboard 产物预览:Markdown 预览支持表格、引用、任务列表、语法高亮和 Mermaid;全屏目录、重复标题锚点、长路径复制以及 YAML/JSON 结构化表格也得到统一处理。
Fixed(修复)
- OpenSpec 兼容性:要求 OpenSpec 1.5+,并从 live schema 驱动
/comet-open,校验项目相对路径与具体输出,恢复 split batch 时不重建已完成 change。 - Codex Hook 配置:项目级和全局 Codex 安装写入受支持的
.codex/hooks.json,并安全迁移旧的 Comet 管理配置(#199)。 - 标准 Superpowers 产物:Classic 写入守卫接受标准目录中的首次设计、计划和验证产物,同时保留阶段、选择和重复占位检查。
- Skill 生命周期完整性:初始化、更新、Doctor 和卸载会一致报告 Skill、Rule、Hook 失败,保留损坏的用户 Hook 配置,并避免把部分安装登记成成功。
Security(安全)
- Dashboard 预览 XSS 防护:Markdown/YAML/JSON 预览使用 DOMPurify,阻止危险 URL 与属性注入;Mermaid 使用严格安全模式,避免不可信产物执行脚本。
0.4.0-beta.4 版本详情
0.4.0-beta.4 版本详情
Added(新增)
- 自然语言恢复探测:新增低噪声的恢复探测机制和项目说明。继续处理已有工作时,即使没有显式输入
/comet,Agent 也可以先探测当前请求是否适合恢复活跃 workflow;存在歧义、未提交改动或需要用户决策时仍会暂停确认。 - 项目安装索引:项目级安装会登记到用户级索引。交互式
comet update和comet uninstall可以在当前项目与所有已登记项目之间选择;--json或显式--current-project会限定当前项目,comet uninstall --force也保持当前项目,跨项目操作需要显式使用--all-projects。 - 稳定的 Classic 命令:新增顶层
comet state、comet guard、comet handoff和comet archive命令,Agent 和自动化不再需要依赖安装目录中的内部脚本路径(#186)。 - 自定义项目命令证据:无法自动推断 npm、Maven 或 Cargo 命令的项目,现在可以记录真实执行的 build/verify 命令及退出结果,形成可审计证据,而不必使用未文档化的跳过路径(#192)。
- CodeBuddy Hook 支持:CodeBuddy Code 的项目级和全局安装现在会把 Comet PreToolUse hook 非破坏性合并到
.codebuddy/settings.json,保留用户已有插件、设置和 hook;配置无效时会保持原文件不变并明确报告失败(#193)。
Changed(变更)
- 混合 change 状态:
comet status现在区分 Comet 管理的 change 与普通 OpenSpec change,并只为已就绪的条目推荐对应归档命令(#187)。
Fixed(修复)
- 并行 active change 守卫:当多个 change 同时活跃时,源码写入会绑定到显式选择的当前 change。合法的 build 工作不再被另一个处于 open、design 或 archive 的 change 误阻塞;选择不明确时会给出可执行的选择提示(#196)。
- Codex CLI Skill 发现路径:Codex 的项目级和全局安装现在把 Comet Skill 放在当前的
.agents/skills发现目录中,Codex 专属配置仍保留在.codex。更新和卸载会迁移 Comet 管理的旧.codex/skills内容,并保留无关 Skill。 - 生成式 Eval manifest:
comet eval会在运行时把 Skill Factory manifest 中的draftHash占位值解析为当前版本绑定值,因此/comet-any的产物可以直接评估,且不会改写生成的 Bundle 文件(#183)。 - Eval harness 定位:通过 npm 安装的
comet eval现在默认使用同版本随包分发的 harness,并把“harness 缺失”与“uv不可用”分别报告,便于准确定位环境问题。 - 跨项目更新结果:
comet update --all-projects会把 npm 包更新失败计入对应项目的失败结果;项目索引不可读时会明确失败,不再把问题报告成成功或空索引。 - Dashboard 响应式工作区:
comet dashboard在显示左侧导航时会把 change 工作区保持在视口内;打开 artifact preview 会保留滚动位置,已归档 change 会直接显示为完成状态(#170)。 - 已有 Skill 目录的符号链接安装:
comet init与comet update --install-mode symlink会保留平台现有的skills/目录,并只链接 Comet 管理的 Skill,本地或第三方 Skill 不再导致安装失败(#171)。 - OpenSpec CLI 安装范围:即使选择项目级 Comet 安装,
comet init也会把 OpenSpec CLI 作为全局工具安装或升级,不再因为该选择在项目中创建node_modules/(#175)。 - 已归档 Dashboard 产物:Dashboard 会从已归档 change 正确回到项目根解析
docs/superpowers/路径,归档后的设计、计划和验证报告仍可查看(#176)。 - 归档最终确认:
/comet-archive会把用户最终批准记录到机器管理的 Classic 状态;在确认 transition 成功前,真实归档命令拒绝修改,避免直接调用脚本绕过确认。 - 归档注释格式:Classic 归档注释会保留正常的 Markdown 文件结尾,并可安全重复执行,避免产生
git diff --check格式错误(#185)。 - 全局产物语言:全局
comet init和comet update会把所选产物语言保存到~/.comet/config.yaml。Classic workflow 优先读取项目配置,再回退到全局默认;项目仍可覆盖该设置(#174)。
0.4.0-beta.3 版本详情
0.4.0-beta.3 版本详情
Fixed(修复)
- Doctor 范围诊断:
comet doctor现在会报告 auto scope 行为、Node/平台环境信息;当全局 Comet 安装可用但当前项目没有本地 Skill 副本时,会给出不惊扰的项目级提示,让用户区分”项目级安装可选”和”安装损坏”。 - PowerShell 初始化输出:
comet-state.mjs init现在把成功初始化信息写到 stdout,Windows PowerShell 不再把成功创建.comet.yaml误报成NativeCommandError(#167)。 - 版本短参数:
comet -v现在等同于comet --version,符合常见 CLI 习惯(#167)。 - Classic runtime 兜底:Classic 阶段脚本现在保留内嵌 runtime 包兜底,即使某个平台安装缺少内部
runtime/classic资产,comet-guard.mjs、handoff 和 archive 流程仍能运行(#168)。 - 项目配置查找:Classic guard 现在只从
.comet/config.yaml读取项目默认配置;工作流状态仍只属于每个 change 的.comet.yaml,根目录.comet.yaml/comet.yaml不再参与配置或状态解析(#158)。
Removed(移除)
- 自定义 guard 命令字段:Classic 工作流状态不再接受
build_command和verify_command。guard 改为使用内置项目构建探测路径,旧字段会作为未知字段被拒绝。
0.4.0-beta.2 版本详情
0.4.0-beta.2 版本详情
Fixed(修复)
- 单语言规则安装:
comet init和comet update现在只安装与所选/检测到的 Skill 语言匹配的 Comet 阶段守卫规则文件(例如.claude/rules/comet-phase-guard.md),不再无论语言选择都同时安装中英文两个规则变体。 - 符号链接安装安全性:
comet init和comet update在符号链接安装模式下,如果目标平台的skills/目录包含 Comet 管理清单之外的文件,现在会拒绝把该目录替换成符号链接,避免删除本地或第三方 Skill(#159)。 - 并行 change 的产物写入:Classic 阶段守卫现在会把
docs/superpowers/写入路由到匹配的 design/build/verify change,不再因为另一个更早创建的活跃 change 阻塞共享的 Design Doc 和计划产物(#160)。
0.4.0-beta.1 版本详情
0.4.0-beta.1 版本详情
/comet 工作流包,变成了一个跨平台 Node 运行时,覆盖工作流、Skill 创建、评估和可视化四大能力。下面的条目描述的是最终用户可见的发布形态,不是分支开发历史。重点变化
- 纯 Node 运行时:所有 Comet 脚本通过 Node.js 运行,macOS、Linux、Windows 用同一套命令,不再需要 Bash、Git Bash 或 WSL。
/comet-anySkill Creator:从”生成一个SKILL.md”升级为生成稳定的组合 Skill Bundle,带可评审的创作内容、发布证据链和平台原生文件。comet eval评估系统:可量化任意本地 Skill 和 Comet 工作流的质量,含 pass@k/pass^k 可靠性指标和 HTML 报告。- 配置化产物语言:
comet init现在记录项目级产物语言,OpenSpec 和 Superpowers 产物按配置语言输出。 comet dashboard:本地只读浏览器面板,可视化每个变更的阶段、产物、任务和风险。- 路由上下文:
/comet用结构化路由上下文做可解释路由,风险信号优先于口头流程。
Added(新增)
- 跨平台 Classic 运行时:随包分发的
/comet工作流脚本现在通过 Node.mjs启动器运行,背后由 TypeScript Classic 运行时支撑。同一套工作流在 Windows、macOS 和 Linux 上运行,不再需要 Git Bash、WSL 或兼容 shell 的脚本。 comet dashboard:新增本地只读浏览器面板,展示进行中和已归档的变更,包括阶段进度、产物分组、任务进度、verify 状态、下一步指引、风险信号、Git 上下文、带元数据的产物预览,以及亮色/暗色 UI。--json、--port、--no-open和GET /api/dashboard把同一份快照暴露给脚本和 CI。/comet-anySkill Creator:新增创建或升级可复用 Skill 的主流程。流程覆盖候选发现、可确认的方案、生成的 Skill Bundle、创作决策/指导区、创作车道、当前 draft 的评估就绪、评审批准、发布、分发,以及 Claude Code custom agents 等平台原生文件。- Skill Creator CLI:新增
comet creator用于常规创建/恢复指引,comet publish用于评审、批准、发布和分发预览,后端 Bundle 命令保留为高级工具。 - 本地 Skill 工具:新增
comet skill add|show|run|continue|check,用于安装、检查、运行、恢复和确定性校验本地 Skill 包(带快照)。 comet evalharness:新增仓库本地评估,支持 Comet 工作流和任意本地 Skill,含 task profile、生成的 manifest、HTML 报告、token/cost 归因、pass@k/pass^k 可靠性指标、工作流专用评分、Skill 调用证据检查、可配置的模拟器提示词、Anthropic 兼容代理认证、Windows/WSL 友好执行、UTF-8 日志和回归门禁。- Comet workflow 评估任务:内置 Comet workflow benchmark 扩展到 20 个任务,新增 dependency-confusion、layered streaming、persistence、approval、noise-resistance、cross-file refactor、observability config、graph execution review、agent memory routing、framework selection 等场景,用于更稳地比较 CONTROL、0.3.9 和 0.4.0。
- Hotfix/tweak 范围决策:为 hotfix 和 tweak 工作流新增定性升级信号;文件数量阈值现在会暂停并请用户确认是否升级到完整工作流(#121)。
- 支持的平台:新增 ZCode、MimoCode、Trae CN 和 Antigravity 2.0 支持。Antigravity 2.0 全局安装在
~/.gemini/config/skills/;ZCode 和 MimoCode 使用 OpenCode 兼容布局;Trae CN 使用.trae-cn/skills。 - 符号链接安装模式:
comet init和comet update现在可以选择用复制或符号链接/junction(从共享的.comet/skills/存储)安装 Skill。 - 项目 Skill 偏好:新增
.comet/skill-preferences.yaml,让项目可以引导首选 Skill、排序和 Skill Creator 方案,而不必手改 bundle 文件。 - 配置化产物语言:
comet init现在把项目级产物语言(en或zh-CN)写入.comet/config.yaml,每个新 change 会把该语言快照到.comet.yaml。OpenSpec 和 Superpowers 产物按配置语言输出,不再按触发请求临时判断;Comet guard 会拒绝明显主语言不匹配的工作流产物,对无效languagefail closed,并忽略 fenced code block,避免命令、路径或 hash 干扰判断。
Changed(变更)
- Comet 产品定位:README、CLI 帮助和 Skill 指引现在把 Comet 呈现为一个工作流和 Skill 平台:运行引导式工作流、创建 Skill、评估它们、发布它们,以及诊断卡住的变更。
- Comet Skill 语言指令:中英文 Comet Skill 现在读取配置化产物语言(仅
en/zh-CN,不接受别名),并以此约束 OpenSpec prompt、Superpowers 参数、subagent 调度、验证报告和归档说明。 - Eval judge provider:LLM-as-judge 现在必须显式设置
BENCH_JUDGE_MODEL,并使用独立的BENCH_JUDGE_*provider 配置;配置 judge endpoint 和凭证时优先走 Anthropic 兼容 HTTP。配置不完整时报告 skipped,不再静默复用被测模型、endpoint 或凭证。 - LangSmith eval 配置:LangSmith eval 现在从主要
LANGSMITH_*配置派生 Claude Code tracing plugin 设置,trace 保持在配置的 base project,hook logs 保存到 artifacts,并可按需自动构建官方 Claude Code tracing plugin 到 eval cache。 - Eval 对比报告:报告现在区分 raw、analysis-set、flagged、excluded runs;把 CONTROL 作为 business-only baseline;拆分 overall、business、workflow 的 pass@k/pass^k;并输出论文风格 Markdown/HTML,含指标说明、rubric 维度说明、证据、失败归因、居中表格、中英文切换、Python 优先图表和 inline SVG fallback。
- README eval 证据:README 现在直接展示 pass@5/pass^5 以及核心 rubric/judge 指标的论文风格 baseline 图,让 no-Comet、0.3.9 和 0.4.0 的对比不必打开完整报告也能看到。
- README 格式化策略:根 README 文件从 Prettier 检查中排除,避免 formatter 改写用户可见 prose 和精确文档措辞。
- Classic 工作流状态:机器管理的运行检查点从
.comet.yaml移到.comet/run-state.json,而用户可编辑的工作流字段保持 YAML 可读。Classic 阶段转换现在还会写入.comet/state-events.jsonl,形成可审计的状态历史。 - Classic 运行时打包:Classic 控制元数据现在放在
comet/runtime/classic下,命令启动器拆成独立的 Node bundle(comet-state.mjs、comet-guard.mjs、comet-archive.mjs等),同时保持现有/comet*命令行为不变。 - 工作流诊断:
comet status和comet doctor现在共享同一条运行时证据路径,报告当前步骤、运行时模式、畸形状态、缺失证据和推荐恢复动作。 - 工作流路由:
/comet现在对 full、hotfix、tweak、resume 和歧义请求使用显式的路由上下文模型。/comet-tweak现在是 tweak 专用的 OpenSpec action 路径,而完整/comet仍走 Superpowers 的 design/plan/build 路径。 - 评审工作流:
review_mode现在对 full 工作流默认为standard。off、standard、thorough形成更清晰的评审梯度,由 Comet 接管评审派发策略,用户不必为重叠的 Superpowers 和 Comet 评审循环买单。 - 交互式决策点:Comet 决策点现在在可用时优先使用 Claude Code 的结构化提问 UI,其他平台降级为文本。
- 调试工作流:Debug Gate 可以在按配置的评审流串行应用修复之前,先并行调查独立的失败组。
- 仓库布局:源码移入
app/、domains/、platform/和scripts/,测试移到对应的test/app/、test/domains/、test/platform/、test/scripts/和test/repository/根目录,让贡献者的职责边界更清晰。
Fixed(修复)
- Windows 路径处理:修复 OpenSpec init/update 在 Windows 上对含空格目录的路径引用,
comet init不再因为项目路径含空格而失败。 - Git 子模块脚本查找:当 agent 在 Git 子模块内工作时,Comet hook 和运行时脚本解析现在使用所在项目根,子模块内的编辑不再因为
.claude/skills/comet/scripts/*只在父项目级别存在而失败(#136)。 - Superpowers 工作区写入:Comet 阶段写入守卫现在允许 Superpowers 在受保护阶段写入
.superpowers/workspace,不再把 Superpowers 进度文件误判为被阻止的源码编辑(#154)。 - Doctor 诊断:
comet doctor现在给出更清晰的版本、项目/全局范围、畸形状态、缺失证据和恢复指引,让用户能区分”真的缺少项目安装”和”有效的全局安装”,并理解当前.comet.yaml的状态问题(#135)。 - 评审模式一致性:英文、中文、共享规则和恢复指引现在对
review_mode达成一致,已安装的 Skill 不再描述一个与运行时 guard/state 检查冲突的旧双评审流程(#126)。 - init/update 的项目配置合并:
comet init和comet update现在对已存在的.comet/config.yaml执行字段级合并。保留现有用户值、补齐缺失的管理字段、刷新注释、保留额外用户字段;损坏的 YAML 优雅回退到全部默认。 - init 结果汇总:
comet init现在把有任何组件失败的平台排除出Installed列表并点名失败组件,OpenCode 等平台不再同时显示为已安装和失败(#128)。 .husky/pre-commit可执行位:修复 pre-commit hook 文件以非可执行模式提交的问题;此前 clone 或 checkout 后 Git 会静默跳过 hook,导致format:check/ lint-staged 自动化失效。现在以可执行位分发。
Removed(移除)
- Bash 优先的 Classic 脚本:移除了随包分发的 Classic 工作流脚本必须通过 Bash 兼容 shell 脚本运行的要求。
Security(安全)
- Dependabot 依赖告警:把测试工具钉到打过补丁的 Vite 和 esbuild 版本(覆盖 npm 和 pnpm lockfile),清除了待处理的 Vite 路径穿越、launch-editor 和 esbuild dev-server 告警,且不改变 Comet 运行时依赖。
0.3.9 版本详情
0.3.9 版本详情
Added
- CLI i18n shared module: 将初始化时的翻译表抽取到
src/commands/i18n.ts,使 init、update 及未来的命令能够一致共享英文字符串,并消除重复的命令级翻译表。 - Optional npm dependency prompts in init/update:
comet init和comet update现在对 OpenSpec CLI、Superpowers(通过npx skills add)和 CodeGraph CLI 提供可选的多选提示。系统上尚未检测到的项目默认勾选;已安装的项目默认不勾选,让用户自行决定是否升级。Superpowers 选项还会推荐安装 v6.0.0+(速度约提升 2 倍,token 减少约 50%)。 --languageoption forcomet init: 新增 CLI 标志(en/zh),以非交互方式选择 skill 语言,与既有的comet update --language选项保持一致(#109)。review_modefield for code review control: 在.comet.yaml中新增字段review_mode(off/standard/thorough),控制 build 和 verify 阶段的自动代码评审。comet-build要求在执行之前由用户选择;comet-verify和子 agent 调度根据模式调整行为;comet-hotfix默认为off。由comet-state.sh、comet-guard.sh和comet-yaml-validate.sh校验。- Project-level review mode defaults:
.comet/config.yaml现在可以设置review_mode: off|standard|thorough,该值会被快照到新的 full workflow change 中,让团队可以选择项目范围的自动评审默认值,同时保留既有的逐 change 状态行为。新生成的配置文件包含context_compression、review_mode和auto_transition的枚举注释,用户无需查阅文档即可调整支持的值。 - Uninstall by platform selection:
comet uninstall现在在检测到多个平台时显示复选框提示,允许用户只卸载选中的平台。单目标场景使用简单的 yes/no 确认。--force和--json标志保留既有的全部一次性移除行为。 - Codex plugin-installed Superpowers detection:
comet init现在能检测通过 Codex 插件缓存(~/.codex/plugins/cache/...)已安装的 Superpowers,防止重复安装——与既有的 Claude Code 和 OpenCode 插件检测平行(#115)。
Changed
- Tagline rebrand: 将
comet initbanner 以及package.json/ CLI--description中的 Comet 标语从 “OpenSpec + Superpowers dual-star development workflow” 改为 “Agent Skill Harness Phase-Guarded Automation From Idea To Archive”。新标语按核心价值(阶段守卫的 agent skill 框架)定位 Comet,不再以底层的 OpenSpec + Superpowers 依赖作为定位。 - Change name confirmation as a blocking decision point:
comet-openSKILL.md(中英文)现在新增了专门的 Step 1c,在openspec new change之前暂停以确认 change 名称。agent 必须从澄清摘要中推导出 2-3 个 kebab-case 英文候选名,始终提供自定义输入选项,并警告中文(或任何非 kebab-case)输入将被转换为合规的 kebab-case 英文名称并回显确认——防止 agent 自动生成不合规的中文 change 名称。 - Non-ASCII change name prevention: 在
comet-openSKILL.md(中英文)中新增了显式的 ASCII 校验规则,防止 agent 自动生成包含中文、日文、韩文字符、空格或特殊字符的不合规 change 名称。agent 现在必须向用户请求一个符合 ASCII 的名称。 - Chinese gate-term normalization: 更新了中文 Comet 措辞,避免将
gate直译为”门”:Design Step 1e 现在使用”主动式上下文压缩”,共享的调试指引现在使用”异常调试协议”,且CLAUDE.md/AGENTS.md现在将其定义为未来 skill 编辑的标准中文翻译规则。 - Full i18n coverage for CLI prompts: 将翻译覆盖范围从仅
init扩展到也覆盖update(banner、npm 更新进度、skill 复制进度、摘要、codegraph 提示)。所有面向用户的字符串现在都有英文和中文两种变体(#109)。
Fixed
- Phase-skip enforcement across all guard layers: 修复了 agent 从
open直接跳到build(跳过design)而未被检测到的问题。comet-state.sh现在在每个向前转换时强制要求证据;直接set phase被阻止(带有COMET_FORCE_PHASE=1逃生口);comet-hook-guard.sh在design_doc为 null 时阻止源码写入;comet-phase-guard规则新增阶段入口自洽检查,要求在写入源码之前具备前置产物。 - Hook guard cross-change false positives: 修复了
comet-hook-guard.sh让一个 change 的阶段错误地阻止对另一个 change 写入的问题。写入到openspec/changes/<name>/的操作现在由该 change 自己的.comet.yaml阶段控制,每个 change 独立判定。这涵盖了此前阻止全新 change 产物写入的两种情况:(1)一个标记为archived: true但尚未物理移到archive/子目录的旧 change,以及(2)一个停滞在archive阶段且archived: false(尚未运行归档脚本)的旧 change。此外,.comet.yaml尚不存在的新 change 目录(在/comet-open期间,产物在状态文件之前写入)被视为open,因此proposal/design/tasks/specs的写入是被允许的。 - CodeGraph setup detection: 修复了即使项目已有
.codegraph/索引,comet init和comet update仍会提示进行 CodeGraph 设置的问题。现有的项目索引现在会跳过可选的 CodeGraph 提示和安装步骤,且 CodeGraph CLI 解析可以使用 pnpm 全局二进制文件,再回退到 npm 全局安装。 - Phase guard auto-transition handoff: 修复了注入的 Comet 阶段守卫规则在
guard --apply之后硬编码下一个 skill 的问题,这可能绕过auto_transition: false。该规则现在将守卫后的交接委托给comet-state next <change-name>,并遵循NEXT: auto|manual|done,从而尊重手动阶段边界。 - Executable permission loss on macOS after update:
bin/comet.js和assets/skills/comet/scripts/下的所有 shell 脚本此前以 git 模式100644(不可执行)提交。npm 更新后,macOS 用户丢失了cometCLI 入口点的执行权限。已将所有 8 个文件在 git 中改为100755,使 npm 安装始终保留可执行位。
Tests
- Phase-skip enforcement coverage: 新增了 shell 脚本测试,覆盖加固后的守卫层——当 open 产物缺失时阻止
open-complete、根据design_doc是否存在阻止/允许design-complete、在verify_result: pass之前阻止archived、阻止直接set phase同时允许COMET_FORCE_PHASE逃生口,以及在design_doc为 null 时阻止 full workflow 的build源码写入,同时仍允许预设工作流和带有效design_doc的 full workflow。 - Project review mode default coverage: 新增了回归测试覆盖
.comet/config.yaml中review_mode快照到 full workflow change、拒绝无效的项目评审模式,以及生成的项目配置文件中的枚举注释。 - CodeGraph setup coverage: 新增了针对现有
.codegraph/索引检测、跳过冗余 CodeGraph 安装、pnpm 全局 CLI 解析,以及在项目索引已存在时抑制更新时 CodeGraph 提示的回归测试。 - Phase guard handoff coverage: 新增了 skill 规则回归覆盖测试,确保阶段守卫委托给
comet-state next,不再嵌入可能忽略auto_transition的固定下一步 skill 映射。 review_modeintegration coverage: 新增了回归测试,验证review_mode贯穿状态、守卫和校验脚本,并在comet-build/comet-verify/comet-hotfix中具有正确的特定模式行为。- Uninstall platform selection coverage: 新增了针对单目标自动选择、多目标复选框选择、用户取消、
--force跳过、--json输出以及未找到目标处理的测试。
0.3.8 版本详情
0.3.8 版本详情
Added
- Kimi Code CLI support: 新增 Kimi Code 作为第 29 个受支持的平台,包括在
.kimi-code/下的项目/全局 skill 安装、OpenSpec 的kimi工具集成、Superpowers 的kimi-code-cli映射、检测、文档以及跨平台回归测试覆盖(#90)。 - Version info and update check:
comet init和comet update现在会在命令输出开头显示当前已安装的 Comet 版本,并检查 npm registry 是否有更新版本。如果有可用更新,用户会看到升级提示;如果已是最新版本,则显示确认消息;如果无法访问 registry,则静默跳过检查而不报错(#99)。 - Official registry enforcement for update:
comet update现在在更新@rpamis/comet包时向 npm 传入--registry https://registry.npmjs.org,确保无论用户的本地.npmrc或镜像配置如何,始终从官方 npm registry 拉取。其他包继续使用用户正常的 registry 设置。如果官方 registry 不可访问,会显示明确的错误消息指出 registry 问题(#100)。 - Subagent dispatch Comet extensions: 将
comet-build/SKILL.md中内联的子 agent 调度协议重写为comet/reference/subagent-dispatch.md(中英文)。它在 Superpowerssubagent-driven-developmentskill 之上叠加了 Comet 专属扩展:该 skill 提供核心调度循环,Comet 扩展增加了真正的后台调度、持久的逐任务检查点(subagent-progress.md)、仅协调者执行源码、由后台 agent 负责 TDD、有界的评审-修复轮次(最多 3 轮)、无暂停的连续任务执行,以及从检查点阶段的精确上下文恢复。 task-checkoffsubcommand: 新增comet-state task-checkoff <file> <task-text>,用于验证特定任务在 markdown 文件中是否被唯一勾选。子 agent 调度协议在双重评审通过后用它做针对性的完成验证。包含路径遍历防护、CRLF 处理和精确匹配校验。comet uninstallcommand: 新增comet uninstall [path]CLI 命令,可安全地移除 Comet 分发到所有 29 个受支持 AI 编码平台的 skill、规则和 hook。支持--scope(project/global)、--force(跳过确认)和--json输出。自动检测已安装的目标,仅移除 Comet 管理的产物,同时保留用户自定义的 hook 和非 Comet 配置,清理空目录和工作目录(.comet/、docs/superpowers/),并处理所有 7 种 hook 格式(Claude Code、Qwen、Qoder、Gemini、Windsurf、GitHub Copilot、Kiro)和所有 3 种规则格式(md、mdc、copilot instructions)(#95)。- Progressive loading reference docs: 从内联 skill 内容中抽取了四份参考文档以实现按需加载,降低每次调用的 token 成本(中英文):
auto-transition.md(自动阶段推进协议,替代各子 skill 中 7 × 约 10 行的重复内容)、context-recovery.md(上下文压缩恢复,替代 4 × 约 8 行)、comet-yaml-fields.md(.comet.yaml字段表,约 40 行)和file-structure.md(目录结构,约 20 行)。主comet/SKILL.md内联保留了关键的状态机硬约束,同时指向参考文档以获取详细的字段说明。预计每次调用节省:600–1500 token(取决于 skill);完整工作流累计节省约 4100 token。 - Pre-commit formatting hook: 新增
husky+lint-staged的 pre-commit hook,在每次git commit时自动对src/目录下的暂存源文件运行prettier --write(范围与 CI 的format:check对齐)。与编辑器无关——对所有贡献者强制执行,无论使用何种 IDE 或 agent——防止 Prettier 格式问题进入 CI。prepare脚本会在pnpm install时安装该 hook,且.husky/通过files白名单从发布的包中排除。
Changed
- Skills progressive loading refactor: 中英文所有 7 个子 skill(
comet-open、comet-design、comet-build、comet-verify、comet-archive、comet-hotfix、comet-tweak)现在引用共享的协议文档来处理自动阶段推进和上下文恢复,并保留关键的内联命令(next命令及输出解读),以确保安全地独立加载。 - Phase guard recovery with durable checkpoints: 更新了
comet-phase-guard.md(中英文)中的恢复步骤,重新加载 Superpowers 的subagent-driven-developmentskill,读取subagent-progress.md进行精确的阶段恢复(实现提交、RED/GREEN 证据、已通过的评审、未解决的反馈、评审-修复轮次),并从检查点记录的精确阶段继续。.claude/rules/和assets/skills/comet/rules/两份副本都包含一致的引用,并使用双语标识符以保证跨语言测试兼容性。 - Decision point protocol extraction: 将所有 7 个子 skill(
comet-open、comet-design、comet-build、comet-verify、comet-archive、comet-hotfix、comet-tweak)和主comet/SKILL.md中内联的用户决策点文本抽取到共享的comet/reference/decision-point.md(中英文)。子 skill 现在通过路径引用协议,消除重复的阻塞点规则,降低每次调用的 token 成本并确保各 skill 之间的一致性。 - Debug gate protocol extraction: 将
comet-build、comet-hotfix和comet-tweak中内联的 systematic-debugging 四阶段流程抽取到共享的comet/reference/debug-gate.md(中英文)。子 skill 现在通过路径引用调试关卡协议,集中了调查、最小失败测试、修复验证和验证循环的规则。 - Lightweight verification review: 轻量验证现在要求进行一次聚焦于正确性、安全性和边界情况的 Superpowers
requesting-code-review评审,在不运行完整 spec 或设计漂移检查的情况下增加评审覆盖(#86)。
Fixed
- Pi slash command discovery:
comet init和comet update现在会生成一个 Pi 扩展,将所有内置的/comet*工作流注册为原生斜杠命令并转发到/skill:*。Pi 设置以非破坏性方式合并,启用 skill 命令;全局资源现在使用 Pi 官方文档记载的~/.pi/agent/目录,会检测旧的~/.pi/skills/安装以进行更新和清理,且comet uninstall仅移除 Comet 管理的资源,同时保留共享设置和无关的扩展(#89)。 - OpenCode plugin-installed Superpowers detection:
comet init现在能正确检测通过 OpenCode 插件系统(在opencode.json中配置)已安装的 Superpowers,防止重复安装。此前只能检测直接放在~/.config/opencode/skills/下的 skill,遗漏了~/.config/opencode/superpowers/skills/的插件源目录以及opencode.json中的plugin数组。新增了hasOpenCodePluginSuperpowers()回退检测,类似于现有的 Claude Code 插件缓存检查(#105)。 - Lightweight verification consistency: hotfix 文档现在描述了 6 项轻量验证路径,验证失败处理将 CRITICAL 和 IMPORTANT 发现视为阻塞项,使评审通过标准和失败决策保持一致。
- Hook configuration merging during init and update: Claude Code、Codex、Amazon Q、Qwen、Qoder、Gemini 和 Windsurf 的共享 hook 配置文件,现在在 Comet 为同一 matcher 或事件安装/更新 hook 时会保留用户自定义的 hook。现有的 Comet 命令通过其清单脚本路径识别并原地替换,防止过时的安装路径、重复的 matcher 分组和重复的 hook 累积,同时不影响无关的设置。
- Subagent-driven task isolation and continuity:
comet-build现在加载成熟的 Superpowerssubagent-driven-development循环,并应用更严格的 Comet 扩展,要求每个任务使用全新的后台实现者、全新的后台评审者和修复 agent、仅协调者执行源码,以及任务之间自动连续执行而不产生进度摘要或”continue?”提示。TDD 模式要求每个实现者/修复 agent 加载 TDD skill,并在评审前返回可审计的 RED/GREEN 证据。持久的逐任务检查点在上下文压缩过程中保留实现提交、评审阶段、反馈和三轮重试预算;任务勾选在两轮评审都通过之前保持阻塞(#94、#96、#97)。 - npm shebang line ending issue on macOS: 当 npm 在 Windows 上打包项目时,
bin/comet.js的 shebang 行获得 CRLF 行尾,导致 macOS 将#!/usr/bin/env node\r解释为#!/usr/bin/env node之外的内容,在npm install -g @rpamis/comet后出现 “command not found”。在.gitattributes中为所有文本文件扩展名(.js、.mjs、.ts、.json、.md、.yaml、.yml)添加了显式的eol=lf规则,并为图片文件添加了二进制标记(#82)。 - CodeGraph Codex CLI skip on project scope: 项目范围的
comet init会向codegraph install传入--target和--location=local,导致 Codex CLI(无项目本地配置)被跳过并显示令人困惑的消息。简化为codegraph install --yes,不传--target或--location标志,让 CodeGraph 自动检测并配置所有已安装的 agent。移除了filterSupportedPlatforms和CODEGRAPH_SUPPORTED_TARGETS(#98)。 - OpenSpec CLI upgrade and —profile fallback:
ensureOpenSpecCli现在始终安装/升级 openspec 到最新版本,即使已存在旧版本,确保用户获得--profile支持和其他改进。新增了回退逻辑:如果openspec init在 stderr 中报 “unknown option —profile”,则不带该标志重试,以应对升级失败但残留旧 openspec 的边缘情况(#84)。 - Symlink resolution for skill file copies: 当 skill 目录是符号链接时(例如
~/.claude/skills/comet -> ~/.agents/skills/comet),copyFile和ensureDir会写入字面路径,避免跟随符号链接目标。损坏的符号链接会导致静默的复制失败。在file-system.ts中新增resolveSymlinkPath(),沿路径树向上遍历并对损坏的符号链接跟随readlink目标。已应用于ensureDir、copyFile和writeFile(#85)。 - comet-tweak missing debug handling:
comet-tweak/SKILL.md缺少comet-hotfix已有的 systematic-debugging 要求——当 tweak 执行期间测试或构建失败时,该 skill 现在明确要求在提出源码修复之前加载systematic-debuggingskill,与 hotfix 行为保持一致。 - OpenSpec per-artifact instructions compliance: 中英文
comet-open现在对每个标准产物应用 OpenSpec 的逐产物指令(openspec instructions proposal/design/tasks --change "<name>" --json),从 JSON 载荷中加载context、rules、template、instruction、resolvedOutputPath和dependencies,替代了硬编码的产物文案。指令失败时会立即停止产物生成,避免静默绕过项目规则(#66)。 - CI Windows path escaping in skill verification:
init-e2e工作流的 Pi 设置验证步骤将 Windows$RUNNER_TEMP路径(包含反斜杠)直接插入node -e "require('...')"的 JS 字符串字面量中,其中\a/\_被解析为转义字符并破坏了路径(D:\a\_temp→D:a_temp),导致 Node 20 和 22 上init-e2e (windows-latest)运行器失败。现在该路径通过环境变量(process.env)传递,使其永远不进入 JS 字符串字面量;Linux/macOS 不受影响。 - OpenSpec source formatting: 重新格式化了
src/core/openspec.ts(长行换行),以满足prettier --check,解除对format:checkCI 步骤的阻塞。 - Symlink-safe removal during uninstall:
removeFile/removeDir在删除之前不再解析符号链接。此前,符号链接的 skill、规则或 hooks 目录的解析目标会被comet uninstall递归删除;现在符号链接目录会被直接 unlink。isDirEmpty也不再将不可读的目录报告为空,因此清理操作不会删除它无法检查的目录。 comet update --jsonoutput corruption: npm 继承的 stdio 此前会混入 JSON 文档;现在在 JSON 模式下会丢弃 npm 的 stdout/stderr,使机器可读的输出保持可解析。comet update --jsonno-targets shape: 当不存在已安装目标时发出的提前返回 JSON 现在包含codegraph: 'skipped',与正常输出结构一致,使消费者无需对空路径做特殊处理。- JSON-mode version-check latency:
comet init和comet update现在在 JSON 模式下跳过 npm registry 的版本检查,无需网络往返即可输出。 - Malformed hook settings resilience: 手工编辑的设置文件将 hook 分组存储为非数组值时,不再在 init/update 的 hook 合并期间抛出异常;格式不正确的分组会被强制转换为空。
- Markdown code-fence language tags: 在
file-structure.md和subagent-dispatch.md(中英文)的围栏代码块中添加了text语言标签,以满足 MD040 lint 检查,与现有的 OpenSpec 格式化 CI 修复保持一致。 - Skills manifest version drift: 将
assets/manifest.json版本从0.3.3提升到0.3.8,以与package.json保持一致。
Tests
- Kimi Code platform coverage: 新增了针对 Kimi Code 的检测、项目/全局安装、OpenSpec 工具映射、Superpowers agent 映射、CI 平台计数和文档的回归测试覆盖。
- Lightweight verification review regression: 新增了双语工作流防护测试,涵盖轻量代码评审要求、阻塞严重级别、限定范围的评审标准以及 hotfix 文档一致性。
- Pi command extension lifecycle coverage: 新增了项目/全局初始化、清单驱动的命令生成、参数转发、设置保留、无效设置保护、确定性覆盖和选择性卸载的回归测试覆盖,以及针对 Pi 项目和全局扩展位置的 CI 断言。
- Hook merge regression coverage: 新增了针对 Claude 风格、Qwen/Qoder、Gemini 和 Windsurf hook 格式的真实文件测试,涵盖同 matcher 用户 hook 保留、过时 Comet 命令替换、无关配置保留,以及幂等的重复安装。
- Subagent dispatch contract coverage: 新增了中英文 skill 内容回归覆盖测试,涵盖 Superpowers/Comet 组合、带跟踪文件例外的仅协调者源码执行、每个任务和角色一个全新后台 agent、提示/状态/评审者证据契约、持久恢复检查点、TDD 归属、双重评审勾选、有界停止条件、连续任务执行、Comet 专属最终交接,以及不存在 Stop hook。
- Reference doc assertions: 新增断言,验证所有引用
decision-point.md和debug-gate.md的 skill 文件都包含正确的协议路径,并且内置的参考文档包含预期的核心规则和回退行为。 - OpenSpec artifact contract coverage: 新增了双语契约断言,验证
comet-openskill 包含针对proposal、design和tasks的显式 JSON 指令命令;要求应用context、rules、template、instruction、resolvedOutputPath和dependencies;禁止将 context/rules 复制到产物中;在产物之间刷新状态;以及在 OpenSpec 指令失败时停止而非回退。
0.3.7 版本详情
0.3.7 版本详情
Added
-
Auto-transition config: 在
.comet.yaml和.comet/config.yaml项目默认配置中新增了auto_transition(true|false),让团队可以选择 Comet 是自动推进到下一阶段 Skill,还是暂停等待手动切换。当auto_transition: false时,build/design/open/verify skill 在满足退出条件后会停止,并打印下一步的手动操作指引。包含状态机白名单、枚举校验以及 schema(comet-yaml-validate.sh)覆盖(#74)。 -
Deterministic next-step resolver: 新增
comet-state next <change-name>,根据.comet.yaml(phase、workflow、auto_transition)解析 guard 之后的路由逻辑,并输出结构化结果:NEXT: auto|manual|done、SKILL: <skill-name>和HINT(手动模式下)。这将下一步 skill 的路由逻辑集中到脚本中,避免在各 skill 文案中重复编写。 - Workflow output language: Comet 工作流现在通过显式的输出语言规则,将触发用户请求的语言传播到 OpenSpec 和 Superpowers 步骤中,确保生成的提案、设计、计划、验证报告和归档说明都能以用户的语言呈现,保持可读性。恢复已有的 change 时,会保留产物的主要语言,除非用户明确要求切换(#53、#37)。
-
Execution benchmark (Claude Code): 新增
benchmark:execution,一个包含三个测试阶段的基准测试框架:L1(基于交接上下文生成设计文档)、L2(基于交接上下文构建 note-board 模块并运行测试)和 L3(完整工作流——根据规格实现一个 dictionary 模块并运行 10 个 vitest 测试)。调用 Claude Code(claude -p),并测量实际的测试通过率、token 用量、重试次数、耗时和成本。在小/中/大规模下对比off与beta上下文压缩模式。支持--phase l1|l2|l3|both|all和--dry-run用于确定性验证。将共享工具函数(spawnCapture、parseClaudeJson、buildClaudeArgs等)抽取到scripts/benchmark-utils.mjs。 -
Token optimization: TDD skill single load: build skill 现在在第一个任务之前只加载一次
test-driven-developmentskill,在 10 个任务的工作流中可减少约 44K token。包含上下文压缩后的恢复指引,恢复时重新加载一次。 -
Token optimization: brainstorming checkpoint: design skill 现在在用户确认设计方案后会写入
brainstorm-summary.md,提供一个上下文压缩恢复点,在上下文窗口压缩过程中保留已确认的决策。 -
Token optimization: incremental brainstorming checkpoint: design skill 现在在头脑风暴过程中增量更新
brainstorm-summary.md,在平台驱动的上下文压缩发生之前,保留已确认的事实、候选决策、风险、测试说明和待解决问题。 -
Token optimization: active compaction gate: design skill 现在在
brainstorm-summary.md定稿之后、创建设计文档之前,要求一个主动的上下文压缩检查点,优先使用宿主平台的原生压缩机制,不可用时回退为手动提示用户。 -
Token optimization: plan creation subagent offload: build skill 将
writing-plans的执行卸载给子 agent,释放主会话的上下文。子 agent 从文件中读取设计文档和 tasks.md,并返回计划文件路径。子 agent 失败时回退为内联执行。 -
Token optimization: verification skill dedup: verify skill 现在在 light/full 分支判断之前只加载一次
verification-before-completion,消除了各分支中的重复 skill 内容。 -
Token optimization: tasks.md incremental scan: build skill 现在用
grep增量查找未完成任务,省去每次任务完成后重读整个tasks.md的成本。 -
Token optimization: hash on-demand read in verify: verify skill 在重新读取 OpenSpec 产物之前先检查
handoff_hash。当哈希匹配时,仅跳过tasks.md(proposal.md 和 design.md 仍会读取以进行比较检查)。使用新增的comet-handoff.sh --hash-only标志。 -
--hash-onlyflag for comet-handoff.sh: 新增向后兼容的标志,仅输出上下文哈希而不生成交接文件,供 verify 阶段进行哈希比对使用。在计算哈希之前会校验必需的文件是否存在。 -
CodeGraph integration in comet init:
comet init现在提供一个可选步骤来安装和配置 CodeGraph(@colbymchenry/codegraph),用于语义化代码智能。它会自动检测受支持的平台(Claude Code、Cursor、Codex、OpenCode、Gemini、Kiro、Antigravity),若 CLI 缺失则自动安装,运行codegraph install进行 agent 接线,并初始化项目索引。在--json模式下会优雅跳过。 - Stale PR automation: 新增了一个定时触发且可手动运行的 GitHub Actions 工作流,将 90 天未活动的 pull request 标记为 stale,再过 30 天后关闭,帮助管理长期闲置的评审队列。
-
TDD mode field: 在
.comet.yaml状态机中新增tdd_mode(tdd|direct),让用户选择在构建时是否强制执行 TDD。当tdd_mode: tdd时,子 agent 调度时会注入显式的 TDD 硬约束,绕过 implementer-prompt.md 中的条件触发。解决 #67。 -
subagent_dispatch field: 在
.comet.yaml状态机中新增subagent_dispatch(null|confirmed),确保build_mode: subagent-driven-development只有在平台真实的后台调度能力得到确认后,才能离开 build 阶段。 - Verify retry limit: verify skill 现在在连续 3 次验证失败循环后强制要求用户决策,防止无限自动重试。
-
Manual verify_mode override: 当自动检测的模式不合适时,用户可通过
comet-state set <name> verify_mode <light|full>覆盖自动验证规模评估。 -
Local context compression benchmark: 新增
benchmark:context,一个本地 Codex 基准测试框架,会创建匹配的context_compression: off和betaComet 测试用例,针对每种模式运行codex exec,并报告 token 节省量、规格漂移率、任务完成率、解析成功率和耗时。使用--dry-run进行确定性的非 Codex 验证。 -
Beta-gated context compression switch: 项目安装现在会创建带有
context_compression: off的.comet/config.yaml,让团队可以通过设置context_compression: beta让新的 change 启用 beta 规格投影。此开关仅控制 OpenSpec 交接投影路径(spec-context.*);上述工作流 token 优化默认开启,无需 beta 模式。 -
Beta spec projection handoff:
/comet-design现在可以使用 beta 上下文压缩来生成spec-context.json和spec-context.md,保留 OpenSpec 的需求和场景标题及源哈希,使精简的设计交接在降低 token 负担的同时不削弱验收覆盖度。
Changed
- executing-plans review gate: 当
build_mode为executing-plans时,build 阶段现在要求在 build→verify 阶段守卫之前至少加载一次 Superpowers 的requesting-code-reviewskill 并请求一次代码评审。CRITICAL 级别的问题必须在 verify 之前修复;已接受的非 CRITICAL 问题必须在持久产物中记录接受理由。build 退出检查清单会强制执行此关卡(#76、#41)。 - Phase advancement vs handoff wording: 中文和英文 Comet skill 现在一致地区分守卫驱动的阶段推进(
--apply,始终更新phase)与下一步 skill 调用控制(auto_transition)。open/design/build/verify/hotfix/tweak 的指引现在统一通过comet-state next来路由自动/手动交接。 - 预设连续性措辞: hotfix 和 tweak 指引现在明确记录连续执行模式下的
auto_transition: false例外情况,移除了围绕 “always continue” 行为的矛盾措辞。 - Verify hash-skip scoped to tasks.md only: 完整验证即使哈希匹配也始终读取
proposal.md和design.md,确保目标满足度和设计一致性检查拥有完整上下文。 - Design Doc creation stays in main session: 设计文档以内联方式创建(不卸载给子 agent),以保留完整的头脑风暴对话上下文,防止复杂需求下信息丢失。
- Subagent failure fallback: 计划创建的子 agent 卸载包含显式的降级回退——如果子 agent 失败,主会话会内联加载
writing-plans。 - Beta spec verbatim projection: beta 上下文压缩现在用
cat按原样投影整个 spec 文件,并彻底移除按英文关键词(GIVEN/WHEN/THEN/AND/BUT)匹配的 AWK 过滤器。这消除了语言相关的匹配,确保中文或非英文 spec 的验收标准零漂移。 - JSON structural validation:
comet-guard.sh现在校验spec-context.json的结构(必需字段:change、phase、mode、files、context_hash)以及源文件引用覆盖度,替代了之前基于英文标题的 markdown 检查。守卫会在阶段转换之前捕获损坏或不完整的 JSON。 - JSON file roles:
spec-context.json的files数组现在包含role字段(spec 文件为spec,proposal/design/tasks 为supporting),彻底移除了依赖语言的projection数组。 - —full warning in beta mode: 在 beta 模式下运行
comet-handoff.sh --full现在会发出明确警告,让被忽略的标志可见。 - CodeGraph step in comet update:
comet update现在会在更新 skill 文件的同时提示安装/更新 CodeGraph,使用与初始化相同的平台检测和 CLI 安装流程。 - Rules and hooks distribution in comet update:
comet update现在会在更新 skill 文件的同时,将防漂移阶段守卫规则和 hook 分发到所有已安装的平台,确保 Comet 升级后规则和 hook 保持同步。 - Archive confirmation gate: 中文
/comet-archive现在在运行归档脚本之前会暂停以获取用户的明确确认,让用户在主 spec 合并和 change 归档之前有最后的机会进行调整或重新验证。 - English archive confirmation parity: 英文 Comet skill 现在与已确认的中文归档确认工作流保持一致,包括
/comet-archive、/comet-verify、/comet、hotfix 和 tweak 指引。 - Archive reopen transition: 新增
comet-state transition <change-name> archive-reopen,让拒绝最终归档确认的用户可以从phase: archive返回phase: verify进行调整或重新验证,无需手动编辑.comet.yaml。 - OpenSpec clarification gate: 中文和英文
/comet-open现在要求在创建 proposal、design 或 tasks 产物之前,先确认一份需求澄清摘要,防止一轮问答就立即生成完整的 OpenSpec change。 - PRD split preflight: 中文和英文
/comet-open现在会在创建 OpenSpec 产物之前对大型 PRD 进行分拣,允许用户将独立的功能拆分为多个 Comet change,同时让每个被接受的拆分项保持在/comet-open的状态机路径上。解决 #62。 - Skill invocation wording guidance: 在
CLAUDE.md中新增了仓库指引,要求新的 skill 触发描述使用既有的 “use the Skill tool to load…” 措辞,并在 skill 加载之后再放置上下文细节。 - Anti-drift phase guard rule: 新增
.claude/rules/comet-phase-guard.md,在每轮对话中重新注入 Comet 阶段感知、skill 调用要求、脚本执行要求、用户确认关卡和上下文压缩恢复指引,防止长上下文注意力漂移破坏 5 阶段工作流。在所有平台上作为软提醒生效。 - Anti-drift phase guard hook: 新增
comet-hook-guard.shPreToolUse hook(配置在.claude/settings.local.json),当当前 Comet change 处于open、design或archive阶段时硬性阻止文件写入,提供模型无法绕过的、平台特定的硬性执行层。将openspec/*、docs/superpowers/*、.claude/*和.comet/*路径加入白名单。 - Platform rules/hooks distribution in comet init:
comet init现在在初始化期间将防漂移阶段守卫规则和 hook-guard 脚本分发到所有受支持的平台。修正了平台定义:Cline 使用项目根目录下的.clinerules/(而非.cline/rules/),GitHub Copilot 使用带applyTofrontmatter 的.github/instructions/*.instructions.md,Kiro 使用.kiro/steering/,Gemini CLI 没有规则目录(使用 GEMINI.md 文件)。为 8 个缺少规则配置的平台新增了rulesDir/rulesFormat,为 7 个平台新增了supportsHooks/hookFormat。hook 安装支持 7 种格式变体:Claude Code、Gemini、Windsurf、Copilot、Qwen、Kiro 和 Qoder。 - Systematic debugging gate: 中文和英文 build 及 hotfix skill 现在要求在实现阶段出现崩溃、意外行为、测试失败或构建失败时加载 Superpowers 的
systematic-debugging,确保在修复源码之前先进行根因分析并在当前 change 中编写回归测试。 - Verification-before-completion gate: 中文和英文
/comet-verify现在要求在执行轻量或完整验证检查之前加载 Superpowers 的verification-before-completion,在任何完成声明之前强制执行基于证据的确认。 - Platform-neutral confirmation gates: 中文和英文 Comet skill 及恢复消息现在引用当前平台的用户输入/确认机制,并移除对
AskUserQuestion的硬编码依赖,避免 Codex 用户被指引去使用可能不存在的工具,同时保留阻塞性的用户决策。 - 预设升级路径: hotfix 和 tweak skill 现在在升级到 full workflow 时包含
set <name> phase design步骤,避免 workflow 切换后触发 comet-design 入口检查失败。 - Build-complete conditional field reset:
build-complete转换在前一次 verify_result 为fail时会保留verification_report和branch_status,使 verify-fail→build→build-complete 的重新验证循环不丢失数据。 - Open phase recovery granularity: open 阶段恢复现在区分三种状态(所有产物完成 / 无产物完成 / 部分完成),并为每种状态提供具体的恢复操作。
- 50% scope threshold option: build skill 现在在改动超过 50% 范围时提供”在当前 change 中继续”作为第三个选项,避免强制拆分 change。
- Worktree plan commit: build skill 现在明确指示在使用 worktree 隔离时,先提交计划文件再创建 worktree。
Removed
- openspec/config.yaml: 移除了未使用的示例 OpenSpec 配置文件(仅包含占位注释)。
Fixed
-
Subagent task persistence:
/comet-build现在要求每个子 agent 调度提示在提交之前,将已完成的任务勾选持久化到 Superpowers 计划中,并在映射时更新对应的 OpenSpectasks.md条目。build 守卫会阻止未勾选的 Superpowers 计划任务,build 恢复在检查最近的 git 历史/diff 或调度更多工作之前,会同时报告 OpenSpec 和计划的进度,防止在打断或上下文压缩后恢复时重新运行已完成的子 agent 工作(#79)。 -
skip-all skipping uninstalled components:
comet init不再将之前跳过的组件视为已安装。选择 skip-all 现在只跳过实际存在的组件,未安装的 OpenSpec、Superpowers、Comet 或 CodeGraph 组件仍会正常显示安装提示(#73)。 -
Update JSON output for rules/hooks:
comet update --json现在在 skill 更新结果之外还包含规则和 hook 的分发结果,并具有针对每个目标的错误隔离,使单个平台失败不会破坏整个更新输出。 -
Duplicate YAML fields:
comet-state.sh中的replace_yaml_field现在在替换后对所有字段去重,仅保留每个键的最后一次出现。此前,对同一字段多次调用cmd_set(例如在 verify-fail → 重新验证循环中)可能在.comet.yaml中留下重复行,干扰下游解析器。修复 #77。 -
Hook config format:
installClaudeCodeHooks和.claude/settings.local.json现在使用正确的matcher+hooks: [{ type, command }]数组格式,替代了扁平的{ matcher, command, description }格式,修复了/doctor的 schema 校验错误。 -
Archive delta merge:
comet-archive.sh现在将归档 spec 更新委托给 OpenSpec 的 delta 合并语义,取消用 change spec 直接覆盖主 spec 的做法,防止ADDED/MODIFIED/REMOVED/RENAMED章节标题泄漏到稳定 spec 中。解决 #69。 -
Brainstorming depth: 中文和英文
/comet-design不再告诉 Superpowers 的brainstorming跳过上下文探索,因此不清晰的目标、范围、非目标、验收场景或约束必须在创建设计文档之前得到澄清。 -
Command injection prevention:
comet-guard.sh中的run_command_string()现在拒绝包含 shell 元字符(;、|、&、$、反引号)的 build/verify 命令,防止通过.comet.yaml的命令字段进行命令注入。 -
Path traversal prevention:
comet-state.sh cmd_set现在在写入之前校验路径字段(design_doc、plan、verification_report、handoff_context、handoff_hash)是否包含..遍历序列。 -
Design guard enforcement: design 守卫现在要求 full workflow 必须有
design_doc(FAIL 而非 WARN),防止在没有设计文档的情况下推进阶段。 -
branch_status preservation on verify-fail:
verify-fail转换不再重置branch_status,在重新验证循环中保留分支处理状态。 -
UTC date consistency: 所有脚本现在使用
date -u +%Y-%m-%d来设置created_at、verified_at和归档命名,消除了本地/UTC 日期不一致问题。 -
macOS SCRIPT_DIR resolution: 所有脚本使用可移植的
$(cd "$(dirname "$0")" && pwd -P)替代readlink -f,以保证跨平台兼容性。 -
Archive directory resolution fallback:
comet-archive.sh resolve_archive_dir()现在在精确的基于 UTC 的路径不匹配时,按*-$CHANGE模式搜索,修复了不同时区下的测试可靠性问题。 -
Temp file permissions: 所有
mktemp调用现在在写入敏感数据之前对临时文件设置chmod 600。 -
Pipe hash error propagation:
comet-handoff.sh和comet-guard.sh中的哈希计算现在先将管道输出捕获到变量中,再管道传递给哈希流,防止在pipefail下静默失败。
Tests
- Auto-transition regression: 新增了针对
auto_transition初始化默认值、枚举校验、.comet/config.yaml项目默认值传播、schema 校验,以及 build/design/open/verify skill 中手动切换与自动推进分支的状态机和 skill 覆盖测试(#74)。 comet-state nextregression: 新增了 shell 脚本覆盖测试,涵盖 full/hotfix/tweak 工作流、手动交接模式、已完成归档(NEXT: done)以及缺失.comet.yaml时的失败行为等场景下的下一步解析。- Skill handoff wording regression update: 更新了 skill 内容断言,以校验 next 驱动的交接措辞(
NEXT: auto|manual|done),并同步了中英文期望检查。 - Output language regression: 新增了 skill 覆盖测试,验证 Comet 将触发用户请求的语言传播到 open、design、build、verify、hotfix、tweak 和 archive 各 skill 中的 OpenSpec 和 Superpowers 步骤(#53)。
- Review gate regression: 新增了 skill 覆盖测试,验证
executing-plans构建模式在 build→verify 转换之前需要requesting-code-review关卡,并更新了 init-e2e 的期望(#76)。 - skip-all regression: 新增了
comet init覆盖测试,验证 skip-all 仅跳过已安装的组件,仍会提示安装未安装的 OpenSpec/Superpowers/Comet/CodeGraph 组件(#73)。 --hash-onlyflag coverage: 新增测试验证正确的哈希输出、change 目录校验、必需文件校验以及不重新生成交接文件。- Context benchmark runner coverage: 新增测试验证基准测试的 token 节省计算、Codex JSONL 的用量/结论解析,以及在 dry-run 模式下不调用 Codex 即可生成报告。
- Flaky test timeout fix: 没有 design_doc 的 design 守卫测试现在有明确的 20 秒超时,防止 Windows bash 启动抖动。
- Chinese spec coverage: beta 交接测试使用中文 spec 内容,验证所有内容(标题、描述、非关键词步骤)无论何种语言都能按原样投影。
- JSON corruption detection: 新增测试验证当
spec-context.json结构无效时,守卫会阻止 design 退出。 - —full beta warning: 新增测试验证警告消息,并确认在传入
--full时仍会生成 beta 文件。 - Doctor CodeGraph check:
comet doctor现在会报告 CodeGraph CLI 的可用性和项目初始化状态(.codegraph/是否存在)。 - Archive confirmation regression: 新增了中文 skill 覆盖测试,验证
/comet-archive在执行归档脚本之前需要最终确认关卡。 - English archive confirmation regression: 增加了英文 skill 覆盖,包含最终归档确认、归档重开指引和 hotfix/tweak 预设阻塞点。
- Phase write guard hook coverage: 针对
comet-hook-guard.sh新增了 10 个测试,涵盖基于阶段的写入阻止(open/design/archive 阻止,build/verify 允许)、白名单路径(openspec、docs/superpowers、.claude)、已归档 change 的绕过,以及无活跃 change 时的放行。 - Archive reopen regression: 新增了状态机覆盖测试,涵盖将未归档的 change 从归档确认返回到验证,以及在
archived: true之后拒绝重开尝试。 - Archive spec merge regression: 新增了 shell 脚本覆盖测试,涵盖归档 delta spec 时不将仅 delta 的需求章节标题复制到稳定主 spec 中。
- OpenSpec proposal regression: 新增了中英文 skill 覆盖测试,涵盖产物创建前的澄清关卡、对一次性
openspec-propose的默认禁止,以及对 Superpowers brainstorming 澄清流程的保留。 - Skill authoring regression: 新增覆盖测试,验证
CLAUDE.md中记录了必需的 skill 调用措辞模式。 - Debug gate regression: 新增了中文 skill 防护覆盖测试,涵盖 systematic-debugging 的调用、最小失败测试要求,以及将崩溃验证保持在当前 change 内。
- Confirmation mechanism regression: 新增覆盖测试,验证中文工作流决策关卡不再硬编码
AskUserQuestion,且恢复输出会指引 agent 使用平台无关的确认机制。 - PRD split workflow regression: 新增了中英文 skill 覆盖测试,涵盖 open 阶段的 PRD 拆分选择、
/comet-open状态初始化、重复分拣阻止、拆分完成选择,以及最小恢复指引。 - tdd_mode state machine regression: 新增覆盖测试,涵盖 tdd_mode 的初始化默认值(full 为 null,hotfix 为 direct)、枚举校验、build 退出守卫、hotfix 绕过,以及 schema 校验对非法值的拒绝。
- Review fix regression: 新增覆盖测试,涵盖重新验证时的条件性 verification_report 保留、verify-fail 期间的 branch_status 保留、design_doc 的路径遍历拒绝、build_command 的命令注入拒绝,以及 full workflow 无 design_doc 时的 design 守卫强制执行。
- Context compression regression: 新增覆盖测试,涵盖项目配置默认值、change 级别的
context_compression快照、change 初始化期间的环境变量覆盖、beta spec 投影生成,以及 beta 投影缺少需求或场景标题时的守卫拒绝。
0.3.6 版本详情
0.3.6 版本详情
Added
- Plan-ready build pause state: 新增
build_pause作为构建阶段的专用暂停标记,使 Comet 可以在生成计划后停下,而不会将该暂停与实际执行方式混淆。 - Plan-ready pause design: 新增了一份关于模型切换暂停工作流的设计文档,涵盖恢复行为、过期暂停处理和计划缺失的补救措施。
Changed
- Build recovery routing:
/comet和/comet-build现在能识别build_pause: plan-ready,复用已有计划,并从工作区隔离和执行方式选择处恢复,而不再重新生成计划。 - Bilingual workflow documentation: 中英文 Comet skills 现在都描述了 plan-ready 暂停点,明确
build_pause不是build_mode,并在两份 README 中记录了相同的状态字段。
Fixed
- GitHub Copilot Superpowers skill names: Comet skills 现在调用由 GitHub Copilot skills 路径安装的 Superpowers 裸 skill 名,避免因无法解析的
superpowers:*别名导致工作流阻塞。 - Windows bash resolution: Comet 现在通过
COMET_BASH解析可用的 bash 可执行文件,拒绝 Windows WSL 启动器路径,并将解析出的可执行文件用于嵌套脚本调用,使守卫、交接和归档流程不会回退到损坏的 PATHbash。 - Shell test runner bash resolution:
run-bats.js现在通过COMET_TEST_BASH、COMET_BASH、PATH 或 Git Bash 默认值来解析可用的 bash,避免从 Node 运行 shell 测试时使用损坏的 Windows WSL 启动器。 - Schema validation fatal output: 守卫校验现在会在打印校验器诊断信息后保留最终致命的 schema 校验消息,使无效的
.comet.yaml失败更易于识别。
Tests
- Superpowers skill invocation regression: 新增测试覆盖,确保随附的 Comet skill 文本不引用带插件前缀的 Superpowers 别名。
- Comet bash execution regression: 新增测试覆盖,包括嵌套脚本调用、随附命令示例和 shell 测试运行器,确保 Comet 使用解析后的 bash 路径而非原始 PATH
bash。 - Plan-ready pause regression: 新增 shell 脚本测试覆盖,包括
build_pause初始化、schema 校验、状态更新和构建恢复输出。 - README state-field regression: 新增 README 测试覆盖,确保
build_pause出现在中英文文档的示例和字段说明中。
0.3.5 版本详情
0.3.5 版本详情
Added
- Context compaction recovery (
--recover):comet-state check <name> <phase> --recover输出结构化的恢复上下文,包括阶段状态、字段进度、任务数量和恢复操作,用于 agent 的上下文压缩,以便快速定位断点并恢复操作。 - Red Flags Anti-Rationalization List: 在主调度 skill 中新增 5 条红旗警告(替用户做决定、跳过确认、替换历史偏好、无异议地附和、未验证即放行),帮助 agent 识别自身的越权倾向。
- Uncertainty Degradation Principles: 在 verify skill 中新增 SUGGESTION > WARNING > CRITICAL 降级规则。只有构建失败、测试失败和安全问题会被标记为 CRITICAL;模棱两可的问题必须降级。
- Anti-Automatic Selection Guardian: 在 open skill 中新增命名与范围的防自动选择规则。名称变更必须由用户指定或通过 AskUserQuestion 确认;范围不得任意扩大或缩小。
- File Existence Verification: 在进入用户确认前,open skill 会校验 proposal/design/tasks 文件不为空,防止空文件跳过检查。
- Idempotency Description: 为所有 skill 阶段(open/design/build/verify)新增幂等性说明,明确哪些操作可以安全重试、哪些字段在跳过前需要确认。
Changed
- AskUserQuestion Tool Clarification: 全部 7 个决策阻塞点(open 确认、头脑风暴确认、构建工作流、verify 失败决策、spec 偏移处理、分支处理、升级条件)统一要求使用 AskUserQuestion 工具;禁止使用纯文本提示。
- Decision Points Expanded from 6 to 7: open 阶段的 proposal/design/tasks 审阅确认现在成为第一个决策点。
- Spec Drift Single-Choice Question Format: verify 阶段的 spec 偏移处理改为 AskUserQuestion 单选题(A/B/C 三选一),不再有隐式默认选项。
- Completely synchronized Chinese and English skills: 7 个中文 skill 和 7 个英文 skill 的内容、结构和选项格式已完全对齐。
Fixed
- Crash due to unbound variables in
set -u: 当comet-state check --recover在构建阶段缺少tasks.md时,pending变量未声明会导致脚本直接退出;现已通过将local声明前移并在恢复操作链中增加显式分支tasks.md MISSING修复。 - Path truncation risk:
field_status对design_doc使用${var%% *}可能截断含空格的路径;已改为${var% }仅去除末尾空格。 - Inconsistent reading style for optional fields:
direct_override使用|| echo "",而其他可选字段使用|| true;现已统一为|| true,与cmd_scale保持一致。
Tests
- 新增 8 个
check --recover与边界测试用例,覆盖 open/build/verify/design/archive 五个阶段,以及缺少 tasks.md 和全部任务完成等边界场景。 - 测试总数从 34 个增加到 42 个,全部通过。
0.3.4 版本详情
0.3.4 版本详情
Changed
- Command execution security: 将 OpenSpec 和 Superpowers 安装路径中的所有命令执行从带 shell 解释的
spawn重构为execFileSync,消除了 shell 注入风险面并提升了跨平台可靠性 (#88bf487)
Fixed
- OpenSpec global install path for OpenCode:
comet init --scope global现在会将 OpenSpec skills 从硬编码的~/.opencode/目录迁移到 OpenCode 实际读取的~/.config/opencode/目录,并在源路径与目标路径相同时加入自删除守卫 (#46, @gleami) - Windows command execution: 在 Windows 上为
execFileSync调用添加了shell选项,使命令 shim(.cmd)能够正确解析 - Doctor
.comet.yamlvalidation:comet doctor现在会校验顶层键并拒绝未知键;同时除 ENOENT 之外的readDir错误不再被吞掉 (@felamin) - CI JSON parsing: CI 工作流通过查找第一个
{字符来解析命令输出,避免非 JSON 前缀行破坏 JSON 提取 (@yicochen) - CI warning output: CI 现在仅在某一步骤实际失败时才统计并打印警告,减少了成功运行时的噪音 (@yicochen)
- Spawn stdio noise: 将非交互式 spawn 的 stdio 从
inherit改为ignore,使 OpenSpec/Superpowers 安装器不再向控制台打印无关的进度信息 (@yicochen)
Tests
- 新增了对 OpenCode 全局 OpenSpec 路径迁移、自删除守卫和主目录 mock 的测试覆盖
- 新增了针对
.comet.yaml顶层键校验以及非 ENOENT 的readDir错误传播的 doctor 测试 - 修复了基于 git 的测试 “uses plan base-ref to scale verification” 的超时问题
Docs
- 改进了 README 的配置指引,提供更清晰的安装说明和可折叠的参考面板(中英文均更新) (@hepeng)
- 在 README 和 README-zh 中都新增了贡献者墙 (@Joechan11)
New Contributors
- @felanny 在 #38 中首次贡献
- @Joechan11 在 #44 中首次贡献
- @bevishe 在 #47 中首次贡献
- @kathy32 在 #39 中首次贡献
- @gleami 在 #46 中首次贡献
0.3.3 版本详情
0.3.3 版本详情
Fixed
- OpenSpec all-workflows installation:
comet init现在除了写入隔离的XDG_CONFIG_HOME环境覆盖之外,还会将全工作流配置直接写入平台特定的默认配置路径(Windows 上为%APPDATA%\openspec\,macOS/Linux 上在设置时为$XDG_CONFIG_HOME/openspec/,否则为~/.config/openspec/),确保无论用户之前的 OpenSpec 配置状态如何,所有 11 个 OpenSpec 工作流始终被安装。
0.3.2 版本详情
0.3.2 版本详情
Added
- Script discovery helper: 新增
comet-env.sh,通过从其自身目录 source 同级脚本来集中化脚本路径解析,取代所有中英文 Skill 中分散的COMET_SEARCH_ROOTS查找逻辑。 - OpenCode global config directory: OpenCode 平台现在为全局安装支持独立的
globalSkillsDir(.config/opencode),使项目级和用户级 Skill 保持区分。 - Command error diagnostics: 新增
command-error.ts模块,用于提取和清理失败 shell 命令的 stderr/stdout,被 OpenSpec 和 Superpowers 安装路径共同使用,以呈现可操作的失败详情。
Changed
- Build decision-point wording: 强化了 build Skill 中工作区隔离和执行方式选择的措辞,使 agent 不能基于推荐规则替用户做出选择。
- Hotfix/Tweak upgrade wording: 重新表述了 hotfix 和 tweak Skill 中的升级条件和验证失败暂停要求,以获得更清晰的阻断语义。
- Comet user decision numbering: 修复了中文 comet Skill 中用户决策点列表的编号顺序错乱问题。
Fixed
- OpenSpec workflow installation:
comet init现在使用--profile custom和一个启用所有工作流(propose、explore、new、continue、apply、ff、sync、archive、bulk-archive、verify、onboard)的临时配置来运行 OpenSpec,确保 Comet 安装的不仅仅是默认的核心工作流集合。 - OpenCode slash commands:
comet init现在生成 OpenCode 命令文件(commands/*.md),保留/comet*命令名的同时嵌入对应的 Comet 工作流内容,使 OpenCode 用户可以直接调用/comet、/comet-open等。 - Lingma Superpowers path:
comet init现在让 Lingma 避开不受支持的skills --agent lingma路径,并将暂存的 Superpowers Skill 复制到.lingma/skills,防止整个外部安装批次失败,同时保留 Lingma 预期的目录布局。 - Lingma global directory: Lingma 的全局 Skill 目录明确为
.lingma,用户级安装匹配~/.lingma/skills/{skill-name}/SKILL.md,项目安装匹配.lingma/skills/{skill-name}/SKILL.md。 - Script discovery safety:
comet-env.sh被 source 时不再改变调用者的 shell 选项,在捆绑脚本缺失时返回失败,并避免 ShellCheck 的 unreachable-command 诊断。 - comet-state.sh field whitelist: 将
created_at和base_ref添加到cmd_set允许字段列表中,使验证与.comet.yaml初始化期间已写入的字段保持一致。
Tests
- Script discovery coverage: 添加了验证
comet-env.sh导出所有捆绑脚本路径以及没有 Skill 文件内联COMET_SEARCH_ROOTS的测试。 - Script discovery safety: 为 source 时保留 shell 选项和可展开的
$HOMESkill 目录 glob 添加了回归测试覆盖。 - OpenCode Comet detection: 为 OpenCode 在报告 Comet 已安装之前需要同时具备 Skill 目录和匹配的命令文件添加了测试。
- OpenCode E2E init: 为 OpenCode 项目和全局范围安装添加了端到端测试,包括命令文件生成。
- OpenCode command content: 添加了测试,验证 OpenCode 命令文件保留 Comet 命令名,并包含完整的所选语言工作流内容,而非一个轻量的 Skill 委派桩。
- English workflow safeguards: 添加了与现有中文工作流决策点需求匹配的对等性测试。
- OpenSpec profile and diagnostics: 为自定义 profile 创建、
--profile custom标志以及安装失败时打印 stderr/stdout 详情添加了测试。 - Lingma Superpowers fallback: 添加了回归测试覆盖,验证 Lingma 被排除在不支持的 skills CLI agent 列表之外,并在将 Skill 复制到
.lingma之前使用暂存安装。 - Lingma global install path: 为
comet init --scope global将 Lingma Comet Skill 安装到用户.lingma/skills目录下添加了回归测试覆盖。
0.3.1 版本详情
0.3.1 版本详情
Added
- Workflow state metadata:
.comet.yaml初始化现在会记录base_ref和created_at,使规模评估和验证能够基于稳定的变更基线进行推断。
Changed
- Comet decision points: 调整中英文 workflow skills,使 design 确认、build 配置、verify 失败、spec drift、分支处理和预设升级都会暂停并等待明确的用户选择,移除对默认值或推荐项的自动依赖。
- Build workflow selection: 将工作区隔离和执行方式选择合并为一个 build 配置步骤,减少重复暂停,同时仍要求在实现继续之前确定
isolation和build_mode。 - Hotfix verification flow: 将 root-cause elimination 移到 build guard 之前,并要求预设升级把
workflow切到full,让失败的 hotfix 检查停留在 build 阶段,并让 full-flow 升级保持一致状态。 - Verification scale assessment: 规模检查现在回退到
.comet.yaml的base_ref,并使用四文件阈值进行完整验证,使已提交的 build 变更更不容易被漏算。 - English skill parity: 将英文 Comet Skill 与中文工作流规则同步,包括交接生成、脏工作树处理、spec drift 决策和验证失败阻断。
Fixed
- Windows npm update:
comet update现在通过 shell 启动 npm,使包更新路径在 Windows 命令垫片下可靠工作。 - Superpowers install diagnostics: 失败的 Superpowers 安装现在会打印清理后的 stderr 详情,让网络或 GitHub 访问失败的可操作原因直接可见。
Tests
- Workflow safeguard coverage: 为中文 Comet 决策点需求和 Superpowers 安装失败诊断添加了回归测试覆盖。
0.3.0 版本详情
0.3.0 版本详情
Added
- Dirty worktree recovery protocol: 新增共享的中英文
comet/reference/dirty-worktree.md参考文档,使 agent 在恢复时能够一致地保护、检查并归属用户或混合来源的工作树变更。
Changed
- Comet resume behavior: 更新了
/comet、build、verify、hotfix 和 tweak Skill,使中断期间手动编辑的代码被视为代码证据,而非自动状态转换;agent 在继续或推进守卫之前必须对脏工作树变更进行归属。
Fixed
- Reference skill installation: 将脏工作树参考文件添加到 Comet 清单中,使已安装的中英文 Skill 集能够解析
comet/reference/dirty-worktree.md。
0.2.9 版本详情
0.2.9 版本详情
Changed
- Antigravity Skill 路径: 更新了平台处理方式,项目级安装使用
.agents/skills,而全局级安装使用 Antigravity 的.gemini/antigravity/skills位置,使init、doctor和update与 Antigravity 的目录模型保持一致 - README 信息架构: 重构了中英文 README 章节,将命令详情、平台列表、Skill 表、脚本表、
.comet.yaml字段和可靠性说明放入可折叠的参考面板中 - Spec 生命周期文档: 扩展了 README 中对 Comet Spec 生命周期管理的说明,包括 OpenSpec/Superpowers 制品关联、自动交接、状态更新、校验和归档同步
- 安全指南位置: 将仓库维护安全说明从 README 移至
CONTRIBUTING.md,使 README 聚焦于面向用户的 Comet 概念和安装配置
Fixed
- Antigravity 全局安装: 修复了
comet init --scope global及相关健康检查,使 Antigravity 不再在项目风格的.agents目录下安装或搜索全局 Skill - 缺失的 skills 目录: 在扫描项目级和全局级 skills 目录之前新增了显式的存在性检查,确保在平台目录存在但缺少
skills/时检测和更新逻辑依然稳健
Tests
- Antigravity 路径覆盖: 新增回归测试覆盖 Antigravity 项目级/全局级 Skill 目录的检测和 init E2E 行为
- README 结构覆盖: 使用现有 README 测试套件验证了更新后的 README 命令和参考结构
0.2.8 版本详情
0.2.8 版本详情
Added
- 设计交接脚本: 新增
comet-handoff.sh,从 OpenSpec 制品生成确定性、可溯源的上下文包(精简或完整模式)至.comet/handoff/,并在.comet.yaml中记录handoff_context和handoff_hash - 交接守卫检查: 设计阶段守卫现在会校验交接上下文是否存在、哈希新鲜度(检测交接后 OpenSpec 的变更)、markdown 可追溯性标记,以及设计文档 frontmatter 字段(
comet_change、role: technical-design、canonical_spec: openspec) handoff_context和handoff_hash字段: 新增.comet.yaml字段,用于跟踪脚本生成的交接包,并带有 schema 校验(路径存在性、sha256 十六进制摘要格式)comet init --scope: 新增--scope <global|project>CLI 标志,用于非交互式范围选择- CI init E2E 作业: GitHub Actions 现在会在 Ubuntu、macOS 和 Windows 上运行真实的
comet init,验证 Comet Skill、Superpowers、OpenSpec 和工作目录是否落在正确的文件系统位置(项目级和全局级均覆盖)
Changed
- 中文 Skill 文档更新:
comet-design/SKILL.md和comet/SKILL.md现在记录了交接流程,用脚本生成的上下文包替代了 agent 自行撰写的摘要 - JSON 生成使用进程替换:
comet-handoff.sh中的write_json_context使用< <(source_files)替代管道子 shell,修复了变量作用域问题 - 错误信息格式化:
comet-state.sh中未知字段的错误信息从单行 270+ 字符拆分为多行,提升可读性 - CLAUDE.md 和 AGENTS.md: 新增了项目级说明,涵盖测试命令、shell 脚本约定、脚本依赖图、
.comet.yaml状态机同步规则以及 changelog 格式
Fixed
- YAML 和 frontmatter 解析: Comet 脚本现在会忽略
.comet.yaml字段值中未加引号的尾部注释,并接受 UTF-8 BOM 或前导空行之后的设计文档 frontmatter,避免误判守卫和交接失败 - Init E2E 安装检查: CI 现在会验证每个支持平台目录下 Comet 拥有的 Skill 制品,并从
comet init --json检查 OpenSpec/Superpowers 安装器状态(项目级和全局级安装均覆盖),避免因外部 CLI 专用目录布局导致的误判失败 - Windows 全局 init E2E 主目录: CI 现在会在 Windows 上全局范围 init 检查时同时设置
USERPROFILE和HOME,与 Node 的os.homedir()解析方式保持一致,避免误判 Skill 缺失 - README 状态文档: README 示例现在展示了准确的
.comet.yaml构建状态默认值、验证证据时机、交接字段以及仅项目级创建工作目录的行为 - Windows Superpowers init 超时: Superpowers 外部安装器超时时间已增加,以容忍较慢的 Windows
npx skills add运行,减少 init E2E 的偶发失败
Tests
- 新增测试覆盖
--full交接模式、缺失 OpenSpec 制品拒绝、交接后哈希不匹配检测以及设计文档 frontmatter 校验 - 新增
comet initE2E 测试,覆盖项目级安装、全局级安装、使用--yes跳过已存在项、使用--overwrite覆盖以及多平台检测 - 新增回归测试覆盖
.comet.yaml尾部注释以及带 UTF-8 BOM 或前导空行的设计文档 frontmatter - 新增 CI 工作流回归测试,覆盖 Comet 拥有文件和外部 OpenSpec/Superpowers 安装器状态的项目级与全局级安装检查
- 新增 CI 工作流回归测试,覆盖使用临时
USERPROFILE主目录的 Windows 全局 init - 新增回归测试覆盖 init 使用的更长 Superpowers 安装器超时时间
0.2.7 版本详情
0.2.7 版本详情
Fixed
- OpenSpec 全局初始化:
comet init的全局范围现在会将主目录作为 OpenSpec 的初始化目标传入,并移除不受支持的openspec init --global标志 - 跨平台路径引用: OpenSpec 初始化目标针对 Windows、macOS 和 Linux 路径进行了 shell 引号处理,包括含空格的主目录
- 安装器参数引用: OpenSpec 的
--tools值和 Superpowers 的--agent值现在都进行了 shell 引号处理,Windows 下 OpenSpec 路径在闭合引号前保留尾部反斜杠 - Superpowers 多平台安装: Superpowers 安装现在会传入重复的
--agent标志,而非逗号分隔的 agent 列表,与skillsCLI 行为一致 - Superpowers agent 映射: 将 Comet 平台映射更新为有效的
skillsCLI agent ID,不支持的平台专用 ID 会回退到universal
Tests
- 新增回归测试覆盖 Windows、macOS 和 Linux 下的 OpenSpec 全局初始化命令构造
- 新增回归测试覆盖 OpenSpec Windows 尾部反斜杠引用和带引号的安装器参数
- 新增 Superpowers 覆盖测试:有效的
skillsCLI agent 映射和多 agent 参数格式 - 在隔离的临时目录中,对所有 28 个支持平台的项目级和全局级初始化输出进行了冒烟测试
0.2.6 版本详情
0.2.6 版本详情
Added
- 构建决策强制校验: 构建守卫和
comet-state.sh transition build-complete现在要求isolation和build_mode才能从 build 推进到 verify - 直接模式覆盖: 完整工作流必须先设置
direct_override: true才能使用build_mode: direct;hotfix/tweak 默认仍然允许 - 可配置的守卫命令: 守卫脚本现在会先从变更的
.comet.yaml或仓库根目录的 Comet 配置中读取build_command和verify_command,找不到时再回退到自动检测的构建命令 - 归档差异预览: 归档同步在覆盖现有主规格(当其与 delta 规格不同时)之前,会先打印统一 diff
- 跨平台脚本冒烟 CI: 新增 Ubuntu、macOS 和 Windows 的冒烟测试覆盖,针对 Comet shell 脚本和可移植 shell 测试
- Shell 换行符策略: 新增
.gitattributes规则,保持 shell 和 Bats 脚本使用 LF 换行符
Changed
- 守卫失败输出: 守卫检查现在会保留并打印命令失败输出,并附带可操作的
Next:提示,用于缺失构建决策和未完成任务 - 命令处理: 项目命令通过
bash -lc运行,Maven 在适当时使用mvnw或mvn.cmd,shell 测试辅助工具会处理 Windows Git Bash 路径 - 归档步骤计数: Dry-run、delta 同步、标注、移动和归档状态步骤现在统计实际执行的步骤,不再对重复操作重复计数
- 英文文档和 Skill: 将英文 README 和 Comet Skill 文本与中文的构建决策、命令配置和归档行为描述保持同步
Fixed
- macOS shell 脚本状态更新: 将
comet-state.sh中仅 GNU 支持的sed -i写入替换为可移植的临时文件更新方式,修复了 macOS 在scale、transition和 YAML 字段更新时的 CI 失败 - pipefail 下可选字段读取: 守卫和状态脚本现在在
set -euo pipefail下对缺失的可选 YAML 字段具有容错性,不会提前退出 - Bash 检测回退: shell 测试辅助工具现在能处理
bash探测失败的情况,不会因spawnSync输出为空而崩溃 - 配置命令持久化:
comet-state.sh set现在会转义 sed 替换元字符,确保包含&、|或反斜杠的命令值得以保留 - 可选 schema 字段: YAML 校验现在能识别
direct_override、build_command和verify_command - 带引号的 YAML 值: 状态、守卫和校验脚本现在仅去除包裹引号,而非删除值中的所有引号字符
Tests
- 新增测试覆盖:缺失构建决策、直接模式覆盖的阻断与允许、配置的构建/验证命令、命令元字符保留、未完成任务补救输出、归档步骤计数、跨平台路径处理、BSD/GNU sed 可移植性、pipefail 下可选 YAML 字段读取以及 bash 探测失败处理
0.2.5 版本详情
0.2.5 版本详情
Added
- PR 标题 lint 工作流: 新增 GitHub Actions 校验,要求语义化 PR 标题并使用 Comet 专用范围(
cli、commands、core、skills、assets、scripts、docs、ci、deps、release) - 结构化 JSON 输出:
comet init --json和comet update --json现在输出机器可读的结果,而非混合的人类日志 doctor --scope:comet doctor可诊断auto、project或global范围,auto会同时检查项目级和全局级安装- 下一步状态提示:
comet status现在会在文本和 JSON 输出中提示下一个工作流命令(/comet-open、/comet-design、/comet-build、/comet-verify、/comet-archive) - README 资源守卫: 新增测试和 prepublish 校验,确保 README 中的图片使用 npm 友好的绝对 URL
Changed
comet update保留已安装上下文: update 现在会检测项目级/全局级范围内已有的 Comet Skill 目标,保留已安装范围,检测中文还是英文 Skill,并仅更新已安装 Comet Skill 的平台comet update自更新 npm 包: update 现在在刷新已安装 Skill 之前,会打印并运行与检测到的包范围对应的 npm 更新命令- 更友好的 update 输出: update 会记录 npm 命令、各目标的 Skill 复制命令、最终的 npm 状态、已更新目标数、范围和语言摘要
- Init 覆盖流程: 交互式
comet init现在会在同一平台检测到多个已有组件时,提供批量覆盖/跳过选项 - CLI 选项校验:
update --language、update --scope和doctor --scope现在通过 Commander 的 choices 校验接受的值 - README CLI 文档: 更新了中英文 README 命令章节,记录了 JSON 输出、doctor 范围、update 行为、status 下一步提示以及 init 覆盖行为
- CONTRIBUTING 链接: 在中英文 README 的开发章节中添加了贡献指南引用
Fixed
- Doctor 误报:
comet doctor现在能识别当前的.comet.yaml字段,包括verification_report和branch_status - npm README 图片: README 图片现在使用绝对的 GitHub URL,以便包页面能正确渲染
Tests
- 新增测试覆盖:update 语言/范围检测、JSON 输出、友好的命令显示、status 下一步提示、doctor 当前状态校验、README 图片 URL、init 批量覆盖选择以及 PR 标题工作流配置
0.2.4 版本详情
0.2.4 版本详情
Added
- 验证证据强制校验:
verify-pass推进现在要求verification_report(文件必须存在)和branch_status: handled才允许进入下一阶段。守卫将这些作为硬性前置条件进行检查 .comet.yaml中的verification_report和branch_status字段: 新增状态字段,用于跟踪验证报告路径和分支处理状态- comet-verify(中文)中的验证证据步骤: 新增第 4 步,要求在守卫应用前创建报告文件并记录分支状态
branch_status枚举校验:comet-state.sh set会将branch_status校验为pending或handled- 守卫 verify 检查:
comet-guard.sh现在会在 verify 阶段检查verification_report 是否存在以及branch_status=handled - Bats 测试 CRLF 修复: Shell 测试在执行前会去除脚本中的
\r,修复了 Windows 兼容性 test:shell运行器: 用node scripts/run-bats.js替代直接调用bats,以支持跨平台
Changed
- Hotfix 根因检查顺序调整: 将根因消除检查移至加载 comet-verify 之前(第 3a 步拆分为 3a/3b),防止在 verify 流程中被跳过
- 简化 Hotfix 标题描述: 将含糊的”非独立并行流程”替换为直接的”快速 bug 修复工作流”,明确可独立调用
- 移除 comet-design 中的非操作步骤: 删除了第 3 步(双规格划分表)和第 4 步(文档层级)——这些是纯参考资料,不包含 agent 操作
- 移除重复的脚本定位块: comet-open(第 3 步)和 comet-archive(第 1 步)在变量已缓存时不再重复完整的
COMET_SEARCH_ROOTSfind 块 - 移除 comet-build 中重复的 50% 阈值: 仅在阈值判定表中提及一次,不再在表格和列表中重复
- 通用错误处理: comet 主 Skill 中的错误表将”Maven compile/test”改为”Build/test”,使用语言无关的措辞
- comet-state.sh 用法帮助: 修复了帮助文本中
check参数顺序(check <change-name> <phase>)
Fixed
- comet-state.sh
init变更目录解析:cmd_init现在会在检查.comet.yaml是否已存在之前解析change_dir,修复了嵌套目录下的路径解析问题 - verify 阶段守卫死锁:
verify-pass推进现在在通过verify-fail回滚时会重置verification_report和branch_status,防止过期的证据导致错误的推进
Tests
comet-scripts.test.ts中 +66 行: 新增测试覆盖验证证据阻断、分支状态校验以及带证据的守卫 verifycomet-state.bats中 +12 行: 新增测试覆盖branch_status枚举校验、CRLF 去除以及 init 输出中新字段的存在性
0.2.3 版本详情
0.2.3 版本详情
Added
- “Why Comet” 章节: README 现在解释了 Comet 的设计理念——它如何将 OpenSpec 的 WHAT 管理与 Superpowers 的 HOW 执行结合为统一的 5 阶段流水线
- “Screenshots” 章节: 新增三张截图,展示平台选择、初始化以及 Skill 实际执行的过程
- “What You’ll Learn” 章节: 新增章节,展示 Comet 作为稳定嵌套 Skill 触发和多阶段自动流转模式的参考实现
- State Management YAML 示例: 扩展了文档,增加了完整的
.comet.yaml字段示例,展示所有关键配置值
Changed
- comet-build Skill 描述: 明确了执行模式(子 agent 还是 executing-plans)由用户根据任务复杂度选择,而非始终由子 agent 驱动
- 增强 State Management 文档: 增加了对所有状态和阶段如何通过脚本更新、并在阶段推进前进行完成性校验的说明
0.2.2 版本详情
0.2.2 版本详情
Fixed
comet init时 Ctrl+Z/Ctrl+C 崩溃: 用 try/catch 包裹 inquirer 提示以处理ExitPromptError,改为显示Cancelled.并干净退出,同时隐藏原始堆栈跟踪- 重复安装 Superpowers:
comet init现在会检测通过 Claude Code 插件系统安装的 Superpowers(~/.claude/plugins/cache/),当 Superpowers 插件已存在时跳过冗余的npx skills add
0.2.1 版本详情
0.2.1 版本详情
Fixed
- CI pnpm 版本: 为 pnpm/action-setup v4 添加了
packageManager字段 - Shell 脚本: 修复了
SCRIPT_DIR拼写错误,将maven_compiles重命名为build_passes(语言无关),修复了check_nonempty路径 bug,修复了cmd_set在路径值上的 sed 分隔符问题,更正了 shellcheck 指令的位置 - Node 版本: 最低版本提升至 Node 20(vitest v4 覆盖率需要
node:inspector/promises)
0.2.0 版本详情
0.2.0 版本详情
Skill Reliability
- SKILL.md 双区结构: 全部 8 个 Skill 拆分为”决策核心”(阶段检测、升级条件、错误处理)和”参考附录”(字段参考、脚本、最佳实践)两部分
- 量化升级条件: Hotfix/tweak 现在定义了升级到完整工作流的明确阈值(文件数量、跨模块协调、架构变更等)
- 脚本位置缓存: 所有 Skill 使用
${VAR:-$(find ...)}环境变量缓存模式,避免重复调用find manifest.json修复: 补充了缺失的comet-state.sh和comet-archive.sh条目comet-state.sh init修复: 现在会将workflow字段写入.comet.yaml,修复了此前check design始终失败的问题
CLI Commands
comet status: 显示当前活跃变更的阶段、任务进度、工作流模式、设计文档和计划(支持--json)comet doctor: 诊断安装健康状况——包括 OpenSpec CLI、工作目录、各平台的 Skill 完整性、脚本是否存在、.comet.yaml有效性(支持--json)comet update: 将 comet skill 文件更新为 npm 包中的最新版本(支持--language、--scope)- 所有命令支持
--json:init、status、doctor、update均可输出结构化结果
Engineering
- 测试套件: 54 个单元测试(5 个套件),语句覆盖率 93.8% / 函数覆盖率 100%;26 个 bats shell 测试
- GitHub Actions CI: 在推送/PR 时执行构建 + lint + 格式化 + 测试(Node 18/20/22)+ shellcheck + bats
- ESLint + Prettier: 代码质量工具,通过
pnpm lint/pnpm format调用 - 代码组织: 将单体式的
init.ts(620 行)拆分为 5 个聚焦的核心模块 + 4 个命令模块 - 命令注入加固: 在构造 shell 命令前对平台/工具 ID 进行校验
- 逐文件错误处理: 复制循环在单个文件失败时继续执行,不会中断
0.1.8 版本详情
0.1.8 版本详情
Added
comet-state.shscript: 统一的状态管理,含 5 个子命令 ——init(创建 .comet.yaml)、set(带枚举校验的更新)、get(读取字段)、check(入口校验)、scale(校验模式评估)checksubcommand: 用脚本化入口校验替代全部 8 个 Skill 中的文本检查清单scalesubcommand: 用脚本化规模评估替代 comet-verify 中的散文式决策规则
Changed
- All
.comet.yamlwrites go throughcomet-state.sh: 不再直接使用sed -i—— 每次字段写入都做枚举校验 - All skill Step 0 checklists replaced with
checksubcommand: 单条命令替代基于文本的入口校验 comet-guard.shandcomet-archive.shuse state.sh internally: 所有状态变更都通过统一接口- Removed write-verification blocks: hotfix 和 tweak 预设不再包含手动验证循环
0.1.7 版本详情
0.1.7 版本详情
Added
comet-archive.shscript: 一键归档自动化 —— 校验入口状态、将 delta spec 同步到主 spec(覆盖)、为 design doc 和 plan 的 frontmatter 添加标注、将 change 移动到 archive 目录、更新archived: true。支持--dry-run预览--applymode forcomet-guard.sh: 可选标志,在所有 guard 检查通过后自动更新.comet.yaml状态字段。阶段转换时无需手动编辑状态- Idempotent frontmatter annotation:
annotate_frontmatter()会跳过已存在的archived-with:行,可安全重复执行
Changed
- Removed manual state editing: 所有阶段转换(design → build → verify → archive)现在改用
guard --apply,不再手动更新.comet.yaml字段和写入校验循环 - Removed write-verification blocks: 从 comet-open、comet-design、comet-build、comet-verify 和 comet-archive 这些 Skill 中移除了所有
【写入验证】/【Write verification】模式 - Removed
## ADDED/## MODIFIED/## REMOVEDdelta format: delta spec 现在是完整的 spec;归档时直接覆盖主 spec,取消片段合并 - Removed step 2b from comet-open: 对已有能力的增量修改就是一次新的
/comet-open—— brainstorming 会自然地把已有 spec 作为上下文读入 - Simplified archive skill: 第 1b–5 步替换为一次
comet-archive.sh调用 - Updated
comet/SKILL.md: 脚本位置章节现在同时记录了--apply模式和归档脚本
Removed
isolation、build_mode、verify_mode字段的 few-shot YAML 示例(与 agent 判断重复)- comet-archive 对
openspec-archive-changeskill 的依赖(归档脚本已处理所有步骤)
0.1.6 版本详情
0.1.6 版本详情
Added
- Workspace Isolation Selection:
comet-build现在会在执行开始前提示用户在创建分支或 worktree 之间选择(第 3 步:工作区隔离) isolationfield in.comet.yaml: 新增必填字段(branch或worktree),用于记录用户的工作区隔离选择isolationenum validation:comet-yaml-validate.sh现在将isolation作为必填字段校验,允许值为branch/worktree
Changed
comet-build步骤编号调整:第 3 步(选择执行方式)→ 第 4 步,第 4 步(Spec 增量更新)→ 第 5 步- Hotfix 和 tweak 预设默认使用
isolation: branch,不再提示用户 comet-yaml-validate.sh的REQUIRED_FIELDS和KNOWN_KEYS已更新,包含isolation
0.1.5 版本详情
0.1.5 版本详情
Added
- Bilingual Comet skills:
comet init现在会提示选择语言(English / 中文),并部署对应的 SKILL.md 文件 - Language-aware asset structure: 英文 Skill 放在
assets/skills/,中文 Skill 放在assets/skills-zh/ languagesfield in manifest.json: 将语言 ID 映射到资源目录,便于未来扩展
Changed
assets/skills/下的全部 8 个 Comet SKILL.md 文件现在为英文(中文原始版本保留在assets/skills-zh/)copyCometSkillsForPlatform接受languageSkillsDir参数;脚本文件始终从默认的skills/目录获取--yes模式默认选择英文
0.1.4 版本详情
0.1.4 版本详情
Fixed
- Superpowers redundant project-level install:
comet init现在会在安装 Superpowers 前先检查用户所选所有平台的全局目录(~/{platform}/skills/)。如果某个所选平台已全局安装 Superpowers,则跳过该平台的项目级安装 - Unwanted
.agents/directory creation:comet init现在会向skills add传递--agent标志,只针对用户选择的平台。这避免了 skills CLI 自动检测并安装到所有平台,从而不再创建多余的.agents/目录 - OpenSpec global detection: 对 OpenSpec 检测应用相同的全局目录回退逻辑,避免在所选平台已全局存在时重复安装
Changed
hasSkills()接受selectedPlatforms参数,将全局检测范围限定为用户选择的平台installSuperpowersForPlatform()被installSuperpowersForPlatforms()替代,后者接受平台 ID 并通过SKILLS_AGENT_MAP映射到 skills CLI 的 agent 名称
0.1.3 版本详情
0.1.3 版本详情
Added
- State File Separation: Comet 工作流状态现在存储在独立的
.comet.yaml文件中,不再放在.openspec.yaml的子树里 - Three-Layer Reliability Defense:
- 所有阶段的入口校验,带
[HARD STOP]诊断 - 所有状态变更采用先写入后校验的模式
- schema 校验脚本(
comet-yaml-validate.sh),支持字段、枚举和路径校验
- 所有阶段的入口校验,带
- Path Traversal Protection: 对 change 名称做输入校验,防止目录穿越攻击
- Guard Script Integration: 在阶段转换时自动进行 schema 校验
Changed
- 更新全部 9 个 Comet Skill,使用
.comet.yaml替代.openspec.yaml的comet:子树 - 改进错误信息,使用具体字段值替代通用占位符
- 完善项目结构文档
Security
- 修复了通过未校验的 change 名称输入导致的路径穿越漏洞
- schema 校验现在能在入口处捕获拼写错误和无效的枚举值

