ElementsProject / ElementsProject/rust-elements

automatic lockfile updating and LLM review

Ouverte
#273 3 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Rust
Étoiles
57
Forks
40
Merge moyen
11 h 58 min
PR mergées (30 j)
1

Description

I'd like to pilot a new lockfile process here. Using this repo since it's widely-used but development is pretty slow, so hopefully it won't be too disruptive to try new stuff. Here's my proposal:

1. We add a `Cargo-minimal.lock` alongside `Cargo-recent.lock` which is checked to actually match the minimum dependencies. cargo-rbmt has some facility for checking this; we should take a look at what rust-bitcoin does.
2. For `Cargo-recent.lock`, we add a cronjob that (attempts to) update every dependency to the latest version, whenever a new version comes out. The PR should query a LLM agent to review the diff, providing a summary of changes (highlighting anything that "seems important" but wasn't mentioned in the CHANGELOG), a security audit, and a summary of how this crate might be affected.

If this works, we can try doing it on other repos. We may need to do something clever to share reviews so we're not re-reviewing the same dep on every repo that needs it. (But OTOH, I would guess that the cost is only a dollar or two per update, on average, and maybe there's value in doing multiple passes.)

We've had several abortive attempts to use humans to review each dependency update. In practice there's just way too much to handle, so instead we put off updating the lockfile til we're forced to. And then we just do it without looking at the diffs.

cc @Arvolear @psgreco -- I would appreciate a concept ACK. I'd also like Blockstream to sponsor the LLM usage here.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez par examiner les fichiers proposés Cargo-minimal.lock et Cargo-recent.lock, puis étudiez cargo-rbmt et rust-bitcoin à la recherche de modèles de vérification des dépendances minimales. Examinez ensuite comment ce dépôt pourrait exécuter un cronjob pour les mises à jour des dépendances et obtenir une revue par un LLM. Le travail est considéré comme terminé lorsque les lockfiles sont validés et que le processus automatisé de mise à jour et de revue est défini et fonctionnel.

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

Évaluation

Stack technique
rust
Domaine
build-system, ci-cd, security
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
Calme
Clarté
À clarifier
Accessibilité débutants
30/100

Recevez les nouvelles issues par e-mail

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