GitHub Agentic Workflows

loopkeep の workflow 形式は GitHub Agentic Workflows(gh-aw)で、ローカル実行向けに 拡張しています。gh-aw のファイルを loopkeep に持ち込み、GitHub Actions に届く前に 実行できますし、loopkeep の workflow を gh-aw にエクスポートすることもできます — 移行で 何が生き残るかの正直なレポート付きで。

互換性の契約

  • gh-aw に存在するキーは gh-aw での意味を持ちます。再解釈は決してしません — のちに 上流が loopkeep も欲しかったキーを追加したら、上流の意味が勝ちます。
  • loopkeep はキーを 追加 するだけです。ローカルのトリガー種別、ローカルの safe-outputs、そして x-loopkeep.* に名前空間化した設定です。
  • 未知のキーは保持され警告されます。捨てられることはありません。ファイルは そのまま往復します。

インポート

lk import <gh-aw-file>

gh-aw の workflow を workspace に取り込みます。loopkeep がローカルで動かせないトリガー (GitHub がホストするイベントトリガー。Console 経由で届かない 限り)は、失敗するのではなく手動で実行できるようになります — だから「push する前に このマシンで試す」がいつでもできます。これは act が GitHub Actions に対して果たす役割と 同じです。

エクスポート

lk export --to-gh-aw <workflow>          # 人が読めるレポート
lk export --to-gh-aw <workflow> --json

gh-aw へのエクスポートは決して静かに劣化しません。workflow の各部は 3 つのバケットのいずれかに入り、 レポートがどれかを示します:

バケット意味
greenそのまま通るscheduleengine、GitHub ネイティブの safe-outputs
yellow変換され、意味は保たれる — 変換内容は明示されるon_limit: replacecancel-in-progress: true
red等価物がない — lost として列挙され、エクスポートは続行するfile-watchrun-completed、ローカルの safe-outputs

この脱出口の要点は、離れることの代償を事前に知ることです。workflow がローカルの トリガーに頼っているなら、red のリストが、その振る舞いのどの部分が Actions に付いて こないかを正確に教えます。