mcpField
M
megatron-commit-tracker

megatron-commit-tracker

github.com/ascend開発52127 回インストール25 週間前に更新
リポジトリ

megatron-commit-tracker について

上流 Megatron-LM の変更を収集し、後続分析用のブランチ情報付き変更セットに正規化するスキルです。PR、コミット、範囲、期間、定期追跡に対応し、依頼がなければ意味分析には進みません。

主な機能

  1. 01PR、コミット、範囲、期間の各モード
  2. 02ブランチ単位の変更収集
  3. 03正規化された変更セットの出力
  4. 04コミット情報と変更ファイルの概要
  5. 05リポジトリとブランチ単位の定期追跡

活用シーン

  1. 01指定された Megatron ブランチの変更収集
  2. 02機能分析向け上流資料の準備
  3. 03ブランチ変更の定期追跡

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/ascend/agent-skills --skill megatron-commit-tracker

インストール後、Claude Code で/megatron-commit-trackerを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

agents/
openai.yaml
references/
branch-tracking.md
scripts/
fetch_upstream_changes.py
list_remote_branches.py
normalize_change_request.py

詳細

Megatron コミット追跡

公式 Megatron-LM リポジトリから、正確な変更を含む最小限の上流変更セットを収集し、正規化した成果物を後続のスキルに引き渡します。すべてのモードで、branch を第一級の入力として扱います。

基本ルール

  • 公式の上流リポジトリを信頼できる情報源として使用します:https://github.com/NVIDIA/Megatron-LM。
  • ユーザーが曖昧さなく解決できる PR またはコミットを指定していない限り、対象の branch を必須とします。
  • 意味的な分析を行う前に、すべてのリクエストを 1 つの change-set オブジェクトに正規化します。
  • このスキルは機械的な処理に徹します。ここでは機能の進化を要約しないでください。
  • 機能を追跡する場合は、単一コミットモードよりも PR モードや範囲/期間指定モードを優先します。
  • megatron main は探索目的では有効な指定として扱いますが、MindSpeed との厳密な対応関係があるかのように示してはいけません。

サポートされるリクエストモード

ユーザーのリクエストを、次のいずれか 1 つのモードに解決します。

  1. pr ユーザーが PR 番号またはマージリクエストの URL を指定した場合に使用します。
  2. commit ユーザーが 1 つのコミット SHA を指定し、ブランチのコンテキスト内でその変更の調査を求めている場合に使用します。
  3. range ユーザーが base_sha..head_sha を指定した場合に使用します。
  4. time_window ユーザーがブランチと、「過去 7 日間」のような期間を指定した場合に使用します。
  5. scheduled 自動化処理でブランチを段階的に確認する場合に使用します。

必須の出力

利用可能な場合は、次のフィールドを含む正規化された change-set 成果物を、JSON または Markdown のコードブロック形式で作成します。

{
  "repo": "NVIDIA/Megatron-LM",
  "branch": "core_v0.12.1",
  "source_type": "pr",
  "selector": {
    "pr": 1234,
    "commit": null,
    "base_sha": null,
    "head_sha": null,
    "since": null,
    "until": null
  },
  "resolved": {
    "commits": ["sha1", "sha2"],
    "head_sha": "sha2",
    "base_sha": "sha0"
  },
  "analysis_mode": "summary"
}

次の項目を含む簡潔な表も作成します:

  • コミット SHA
  • 作成者
  • 作成日
  • タイトル
  • 変更されたファイル数

ワークフロー

  1. ユーザーのリクエストを、サポートされるモードの 1 つに解析します。
  2. 指定された Megatron ブランチに照らしてリクエストを解決します。
  3. 出力でブランチのコンテキストが明示されていることを確認します。
  4. 後続の処理に必要な未加工の上流成果物のみを収集します: コミット一覧、マージメタデータ、変更ファイル、base/head SHA、および関連する PR メタデータ。
  5. ユーザーがより詳細な分析を明示的に求めていない限り、正規化の後で処理を止めます。

ブランチの取り扱い

  • 別のブランチを main に黙って置き換えてはいけません。
  • ユーザーが指定した名前がローカルの規約やリリースノートに由来する場合、フェッチを多用する処理の前に、公式リモート上で正確なブランチ名を確認します。
  • ユーザーがブランチのコンテキストを指定せずにコミットを提示した場合、曖昧さなく特定できる場合に限りブランチを推定します。それ以外の場合は、ブランチの確認が必要であることを伝えます。
  • 定期的な追跡では、状態をリポジトリだけでなく、repo + branch 単位で保存します。
  • main の場合は、結果を厳密な移行準備完了の対応ではなく、探索的な上流追跡として位置付けます。

引き継ぎ

正規化した change-set を次に渡します:

参考資料

  • ブランチを考慮したリクエストの正規化とスケジュール設定の指針については、branch-tracking.md を参照してください。
  • 決定的な change-set 構造が必要な場合は、normalize_change_request.py を実行します。
  • ブランチの別名がフェッチ可能だと仮定する前に、公式上流リモートで公開されている正確なブランチ名を確認するには、list_remote_branches.py を実行します。
  • Git クエリを毎回手動で組み立てることなく、公式上流リポジトリからコミットメタデータを収集するには、fetch_upstream_changes.py を実行します。

コメント