The Budget reform contract's household route errors in the qualification gate: policyengine.uk is None

Fermée Adaptée aux débutants
#650 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

@MaxGhenis y travaille déjà.

Depuis le 17/10/2026.

  • #651 par @MaxGhenis — ouverte

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
82/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
python
Domaine
testing

Piste de recherche

Commencez par la route du foyer dans le contrat de réforme et comparez son import avec le chemin direct du module mentionné dans l’issue. Exécutez le contrat 1.1.0 avec policyengine-uk 2.134.7 ; la tâche est terminée lorsque la route du foyer passe sans erreurs NoneType.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Every UK qualification candidate since the reform-contract gate went live has failed that gate on the wrapper.household route. The candidates are 2.134.5, 2.134.6 and 2.134.7: candidate PRs #639, #644 and #647.

The 2.134.7 attempt's report records 15 errors and 1 fail, all on wrapper.household, with:

AttributeError: 'NoneType' object has no attribute 'calculate_household'

Cause

  • scripts/check_uk_candidate.py sets POLICYENGINE_SKIP_COUNTRY_IMPORTS=1 when it is imported (line 43).
  • With that switch, policyengine/__init__.py sets policyengine.uk = None.
  • The contract's household route calls import policyengine as pe; pe.uk.calculate_household(...).

Locally, without the switch, the same route and versions pass. The full 1.1.0 contract on policyengine-uk 2.134.7 gives 773 pass, 0 fail and 0 error.

Fix

The route should import policyengine.tax_benefit_models.uk, the module policyengine.uk names, directly.

Langage dominant
Python
Étoiles
8
Forks
10
Merge moyen
1 j 17 h
PR mergées (30 j)
53

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de PolicyEngine/policyengine.py

Toutes les issues de PolicyEngine/policyengine.py

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.