github / github/spec-kit

[Bug]: /speckit-converge is not idempotent — re-runs append duplicate remediation tasks

オープン
#4,269 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Python
スター
137k
フォーク
12.3k
平均マージ
2日 12時間
マージ済み PR(30日)
159

説明

## Version

spec-kit v1.0.1 (`.claude/skills/speckit-converge/SKILL.md`)

## Description

`/speckit-converge` only checks that `tasks.md` exists before assessing the codebase and appending remediation tasks. It keeps no persisted evidence that `/speckit-implement` actually ran against the *current* task list, and it does not map its findings onto existing **unchecked** tasks before appending.

Two consequences:

1. **Invoked early** (before implement has run, or after a partial implementation), it appends remediation tasks for work that is already represented by existing unchecked tasks — now under new IDs, splitting traceability for the same work across two task entries.
2. **Invoked twice** (e.g. converge → partial fix → converge again), gaps found both times are appended both times.

## Expected behavior

- Converge verifies prerequisite state (an implementation checkpoint, or at minimum warns loudly when `tasks.md` contains unchecked tasks that overlap its findings).
- Before appending, each finding is compared against existing unchecked tasks; covered work is reused/updated rather than duplicated, and only genuinely new gaps get new IDs.

## Context

Found while upgrading a template fleet from 0.5.0 to v1.0.1 and reviewing the newly vendored command. Related in spirit to the duplicate-detection work in #2968, but on the tasks.md side rather than GitHub issues.

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

Start by reading .claude/skills/speckit-converge/SKILL.md and inspect how it reads tasks.md, handles unchecked tasks, and appends remediation tasks. Compare that flow with /speckit-implement and the duplicate-detection work in #2968, then reproduce converge twice. Done means prerequisite state is checked or warned about, existing unchecked work is reused or updated, and only new gaps receive new IDs.

索引モデルが issue の本文から書いたものです。

評価

領域
developer-experience, tooling
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
活発
明瞭さ
おおむね明確
初心者へのやさしさ
48/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。