clarify_user duplicate question ids can overwrite answers
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 75/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
Línea de trabajo
Busque la función clarify_user y su manejo de los ID de pregunta, probablemente en un archivo relacionado con la TUI o la interacción del usuario. El error está en un Map que almacena respuestas por ID. Encuentre la prueba mencionada para comprender el comportamiento esperado. La solución implica validar que los ID sean únicos y generar valores predeterminados para los que se omitan. Ejecute la prueba de regresión del cuestionario principal para verificar la solución.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What happened?
clarify_user accepts duplicate question IDs, but the native TUI stores answers in a Map<id, answer>. Two questions with the same ID therefore share one answer slot.
After answering the first duplicate ID, allAnswered() also sees the second question as answered, so the dialog can submit early and the final result contains only one answer. I reproduced this on clean main @ adcf37b in a core questionnaire regression test, without external extensions.
I have a local fix and tests ready: explicit duplicate IDs are rejected, while omitted IDs keep deterministic q1/q2/... defaults and avoid collisions with explicit IDs. I would like to submit a PR if this behavior is preferred.
Steps to reproduce
- Call
clarify_userwith two questions using the same ID:{ "questions": [ { "id": "x", "question": "First?", "options": [{ "label": "A", "value": "a" }] }, { "id": "x", "question": "Second?", "options": [{ "label": "B", "value": "b" }] } ] } - Answer the first question.
- Switch to the submit tab.
- The dialog considers both questions answered and can return only one answer for ID
x.
Expected behavior
Question IDs used as answer keys should be unique. Explicit duplicate IDs should not silently overwrite answers; omitted IDs may be generated deterministically.
Version
main @ adcf37b / @step-harness/coding-agent 0.84.4
- Lenguaje dominante
- TypeScript
- Estrellas
- 54
- Forks
- 20
- Merge medio
- 4 h 1 min
- PR fusionados (30 d)
- 12
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de stepfun-ai/Step-Code
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
stepfun-ai/Step-Code#190 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
stepfun-ai/Step-Code#186 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
stepfun-ai/Step-Code#185 ·
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
stepfun-ai/Step-Code#179 · 1 comentario ·
-
untriaged
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
stepfun-ai/Step-Code#153 · 2 comentarios ·
Todos los issues de stepfun-ai/Step-Code
Issues similares
-
bug(cli): hapi doctor inline-media prints a fabricated B:\ helper-script path in packaged installs Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Crush Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
catppuccin/catppuccin#3125 ·
-
Add a SECURITY.md Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
ElementsProject/cln-application#167 · 1 comentario · 1 reacción ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Quantco/pnpm-licenses#17 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100