automatic lockfile updating and LLM review

オープン
#273 コメント 3 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
30/100
issue の種類
機能追加
明瞭さ
説明が足りない
活発さ
静か
技術スタック
rust

調査の方向性

まず提案されている Cargo-minimal.lock と Cargo-recent.lock ファイルを調べ、次に最小依存関係のチェックパターンについて cargo-rbmt と rust-bitcoin を確認します。続いて、このリポジトリで依存関係の更新用の cronjob を実行し、LLM によるレビューを受ける方法を調査します。ロックファイルが検証され、自動更新およびレビューのプロセスが定義されて機能していれば完了です。

索引モデルが issue の本文から書いたものです。

説明

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.

主要言語
Rust
スター
57
フォーク
40
平均マージ
11時間 58分
マージ済み PR(30日)
1

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

ElementsProject/rust-elements のほかの issue

ElementsProject/rust-elements の issue をすべて見る

似ている issue

Rust の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。