Register and check rules for using, installing, testing and relocking from uv.lock
Les mainteneurs répondent en général sous 3 jours
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 25/100
Piste de recherche
Start with rules/registry.toml and inspect the rules added by #3995 and #3994, which this proposal builds on. Trace how registry rules are mechanically checked across workflows, scripts, Makefiles, Dockerfiles, and Modal image definitions. Done means all four rules are registered and checked, with documented exception requirements for installs that cannot yet use the lock.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Problem
The Cloud Run image installs exactly the versions in uv.lock (uv sync --frozen), but nothing checks that the rest of the repository does the same. A workflow step, script, Makefile target or Dockerfile can still install with pip or an unfrozen uv run, and tests can run against versions production does not run. Nothing checks that uv.lock matches pyproject.toml in pull request CI, or that a scheduled relock exists.
Proposal
Register four mechanically checked rules in rules/registry.toml:
- We use uv.lock: every project directory has a committed
uv.lock, and pull request CI runsuv lock --check. - We install from uv.lock: every install in workflows, the scripts they run, Makefiles, Dockerfiles and Modal image definitions uses
uv sync --frozen/uv run --frozen. - We test from uv.lock: every test command in CI runs through
uv run --frozen. - We relock on a schedule: a scheduled workflow relocks every
uv.lockwith upgrades and opens or updates a pull request.
An install that cannot use the lock yet is a registered exception that names one site, gives a reason, and has a removal condition, or a review date with a tracking issue. A command-line tool pinned with == outside the project may be registered as a pinned-tool.
Builds on #3995 (tests install from uv.lock) and #3994 (daily relock workflow).
- Langage dominant
- Python
- Étoiles
- 18
- Forks
- 33
- Merge moyen
- 2 j 18 h
- PR mergées (30 j)
- 36
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de PolicyEngine/policyengine-api
-
Difficulté 1/5 1-3 heures Accessibilité débutants 88/100
PolicyEngine/policyengine-api#3911 ·
Les mainteneurs répondent en général sous 3 jours
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 82/100
PolicyEngine/policyengine-api#3910 ·
Les mainteneurs répondent en général sous 3 jours
-
Stop serving economy results cached with ×100 decile relative changesPeut-être pris @anth-volk l’a pris il y a 1 jour. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 45/100
PolicyEngine/policyengine-api#4025 ·
Les mainteneurs répondent en général sous 3 jours
-
Store the metadata v3 reads in the v2 catalog, from PolicyEngine.py's public recordsPeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
PolicyEngine/policyengine-api#4022 ·
Les mainteneurs répondent en général sous 3 jours
-
Request UK constituency and local-authority impacts separately from the national economy resultPeut-être pris @anth-volk l’a pris il y a 1 jour. Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 25/100
PolicyEngine/policyengine-api#4021 ·
Les mainteneurs répondent en général sous 3 jours
Toutes les issues de PolicyEngine/policyengine-api
Issues similaires
-
[Resource]: LoreOuverteresource-submission validation-passed
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
hesreallyhim/awesome-claude-code#3234 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
openminion/openminion#376 ·
Les mainteneurs répondent en général sous 1 jour
-
Type: ☹︎ Bug
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
posit-dev/great-tables#1028 ·
Les mainteneurs répondent en général sous 1 jour
-
integration: apple_tv
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
home-assistant/core#188282 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
A "since" range is worded as a career: "the past two seasons" says "regular season career (2025 on)"OuverteP4: low
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
jeffknupp/association#538 ·