Council record: dissent and what_would_change_it carry first-round text from seats whose vote changed

Abierto Apto para principiantes
#2,239 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
78/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
python

Línea de trabajo

Lee veche.py alrededor de las líneas 369–373 y sigue cómo se almacenan la respuesta de cada puesto en la primera ronda y la respuesta de la ronda de crítica. Usa la ejecución con stubs del issue, en la que un puesto cambia de REVISE a PASS, para comprobar los campos finales dissent y what_would_change_it; el trabajo estará terminado cuando reflejen el razonamiento de la última ronda y omitan la condición obsoleta del puesto que cambió.

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

Descripción

The council record's dissent and what_would_change_it come from each seat's first-round answer, even when that seat changed its vote in the critique round. A reader cannot tell what a dissenter finally held, and can act on a position the seat dropped.

Where (veche.py, 1.648.0):

  • final[i] = d["verdict"] keeps only the new vote from the critique round; the rest of d is discarded.
  • :369 dissent = [x for x, f in zip(answers, final) if f != verdict] picks seats by final vote.
  • :372 dissent=[x["raw"] for x in dissent] then prints their first answers.
  • :373 what_would_change_it=[x["would"] for x in answers if x["would"]] reads every first answer, whichever way the seat ended.

Seen twice in one day on ordinary runs:

  • A 2-1 REVISE record whose only dissent entry itself reads "verdict":"REVISE", so the entry contradicts the seat it stands for.
  • A 3-0 PASS record whose what_would_change_it reads "the verdict would move to PASS_TO_USER", a condition written against a verdict no seat held at the end.

Suggested fix. Keep each seat's critique-round reasoning and build both fields from it. Where a seat changed nothing, its first answer stands. Label anything older as round: 1.

Test. A stubbed run where one seat moves from REVISE to PASS in the critique round: dissent shows the final dissenters only, in their final words, and what_would_change_it drops the moved seat's old condition.

Different from #2235, which asks for conditions the caller can check.

Lenguaje dominante
Python
Estrellas
2
Forks
1
Merge medio
1 h 29 min
PR fusionados (30 d)
567

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de protocol/perun

Todos los issues de protocol/perun

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.