Trace: batch staged blob reads during Bash commit checkpoints
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 25/100
調査の方向性
The issue says this work was implemented in #3631 by commit 77d2fe0e, so start by reviewing that commit and the linked Bash checkpoint code and tests. The remaining task is to record comparable before and after timings for the 301-file scenario described in #3631; the issue gives no timing procedure or test file to start from.
索引モデルが issue の本文から書いたものです。
説明
Problem
In #3631, checkpointActiveShellAttribution calls ExecClient.IndexFile for each changed staged path. Every call scans the full index with git ls-files --stage and starts git cat-file --batch for one blob, although afterIndex[relPath] already contains its hash.
In @jiparis's review, a Bash call that staged 301 files in a 3.3k-file checkout took 10.6 seconds at commit-msg; the per-file index/blob reads account for about 5 seconds. The reviewer explicitly accepted this as a follow-up, not a blocker for #3631.
Scope
Read only the changed staged blobs by their already captured hashes in one git cat-file --batch call. Preserve the effective-index snapshot (including split, sparse, and temporary indexes), the GoGit fallback, exact binary content, and existing same-call attribution behavior.
Acceptance criteria
- The checkpoint takes one index snapshot and one batch blob read, without a full-index scan or Git process per changed file.
- Regression tests cover multiple staged files, binary content, and hashes captured before a later index change; existing Bash commit lifecycle tests pass.
- Record comparable before/after timing for the many-file scenario in #3631, without a timing-sensitive test assertion.
Implemented in #3631 by commit 77d2fe0e; the many-file timing remains to be recorded.
- 主要言語
- Go
- スター
- 582
- フォーク
- 61
- 平均マージ
- 12時間 47分
- マージ済み PR(30日)
- 137
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
chainloop-dev/chainloop のほかの issue
-
feature-parity trace-provider
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
chainloop-dev/chainloop#3802 ·
メンテナーはふだん 1 日以内に返信
-
bug trace-provider
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
chainloop-dev/chainloop#3803 ·
メンテナーはふだん 1 日以内に返信
-
feat(trace): support GitHub Copilot (CLI and VS Code) in Chainloop Trace対応中かも @migmartri が今日担当しました。 オープンFeature spec trace-provider
chainloop-dev/chainloop#3800 · コメント 1 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
Allow enabling policy enforcement at the workflow contract level対応中かも @migmartri が 10 日前に担当しました。 オープンcomponent/backend new-policy spec
chainloop-dev/chainloop#3762 · コメント 1 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
chainloop component/CLI performance trace-provider
難易度 4/5 3〜5日 初心者へのやさしさ 62/100
chainloop-dev/chainloop#3756 ·
メンテナーはふだん 1 日以内に返信
chainloop-dev/chainloop の issue をすべて見る
似ている issue
-
GitHub webhook is not subscribed to release events, so `event: release` never triggers対応中かも @qsun が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
woodpecker-ci/woodpecker#7542 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
zilliztech/milvus-backup#1386 ·
メンテナーはふだん 1 日以内に返信
-
Pipelined flush no longer observes kill signals after #2042: flush backoffer is built with nil varsオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
model:sonnet runtime:claude security size:S
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
FootprintAI/Containarium#3624 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
メンテナーはふだん 1 日以内に返信