github / github/spec-kit

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

Abierto
#4,269 1 comentario 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Python
Estrellas
137k
Forks
12.3k
Merge medio
2 d 12 h
PR fusionados (30 d)
159

Descripción

## 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.

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Área
developer-experience, tooling
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Activo
Claridad
Bastante claro
Aptitud para principiantes
48/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.