Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Budget reform contract rows: carry the reform's receipt identity

Cerrado
#629 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Ya se ha fusionado un pull request relacionado.

  • #630 de @MaxGhenis — fusionado

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
25/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
python
Área
backend

Línea de trabajo

Start from the Budget reform contract's case rows and the existing reform_digest they carry, plus the ReformIdentity model from receipt schema v1 (#571). Pull request #630 is already open against this issue, so read it first and coordinate before editing. Done means each case row carries reform_identity for its route, or null with reform_identity_unavailable giving the reason, and reform_digest is kept.

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

Descripción

Receipt schema v1 (#571) binds a reform as ReformIdentity: a representation plus the digest of its payload. The Budget reform contract's rows carry only the contract's own reform_digest, so a receipt or replay can't embed the reform a row ran without re-deriving it.

Each case row should also carry reform_identity, as ReformIdentity.model_dump(mode="json") named by the case id, for the representation its route consumes:

  • country.reform_dict → policyengine-uk.reform_dict/v1;
  • country.scenario_parameter_changes → scenario_reform_identity;
  • the wrapper routes → policyengine.reform_dict/v1.

Where v1 names no representation (Reform.from_dict), the case has a closure modifier, or receipts refuse a value, the row should carry null plus reform_identity_unavailable with the reason. Keep reform_digest. Agreed with W4 (qualification and receipts).

Lenguaje dominante
Python
Estrellas
8
Forks
10
Merge medio
21 h 47 min
PR fusionados (30 d)
48

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 PolicyEngine/policyengine.py

Todos los issues de PolicyEngine/policyengine.py

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.