automatic lockfile updating and LLM review

Open
#273 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
30/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Quiet
Tech stack
rust

Research direction

Start by examining the proposed Cargo-minimal.lock and Cargo-recent.lock files, then review cargo-rbmt and rust-bitcoin for minimum-dependency checking patterns. Next, investigate how this repository could run a cronjob for dependency updates and obtain an LLM review. Done means the lockfiles are validated and the automated update and review process is defined and working.

Written by the indexing model from the issue text.

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.

Dominant language
Rust
Stars
57
Forks
40
Avg merge
11h 58m
Merged PRs (30d)
1

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from ElementsProject/rust-elements

All issues in ElementsProject/rust-elements

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.