Skip to content

v0.13.0 VM 検証 skill に原状へ戻す手順を足し、commit-and-pr-message からセッションのフッタと言い直しを消す

Choose a tag to compare

@hidari hidari released this 01 Oct 04:35
· 21 commits to main since this release
5028fc8

配布物の変更は 4 つの skill の SKILL.md、windows-vm-verification に足した references/gui-automation.md、jev-lint-curated の要約の出力 (とそのテスト)。skill 名、登録経路、コマンドの形は変わらないので、v0.12.0 から上げる場合に消費側の呼び出しが壊れる変更は無い。

エージェントの振る舞いが変わる点が 3 つある。

  • VM 検証 skill (macos-vm-verification と windows-vm-verification) は、検証のたびに VM を原状のスナップショットへ巻き戻し、作業で取ったスナップショットを消し、VM を止めてから報告するようになった。VM の中の作業中の状態は巻き戻しで消え、次の検証は VM の起動から始まる。既存のスナップショットがある VM では、作業に入る前にユーザーへ扱いを確かめる。この手順は実機の VM でまだ通していない (下の「確かめたこと」)
  • commit-and-pr-message は、コミット本文と PR 本文の末尾にセッションのフッタ (trailer のキー付きの行と、PR 本文の URL) を置く手順を持たなくなった。フッタを付けたい利用者は、harness が出す指示に従えばよい。その指示は skill とは別に届くので、この版でも届き方は変わらない。付けたくない利用者は、settings の attribution.sessionUrl を false にする
  • jev-lint-curated は、キー付きの実行が失敗しても、エージェントがキーの所在の調査・確認・読み出しに進まないと明記した。要約の出力も増えた (下の jev-lint-curated の項)

消費側への影響

skills/devops/macos-vm-verification と skills/devops/windows-vm-verification — ISSUE-85

  • 「検証 VM の扱い (スナップショットと停止)」の節を足した。内容は上の 1 つ目の点。CLI (macvm / winvm) はこの扱いを持たないので prlctl を直接使う
  • windows-vm-verification に references/gui-automation.md を足した。UI Automation で GUI を操作したときに踏んだ落とし穴 3 件 (日付入力が年・月・日の別々の要素になる、画面遷移の直後に引いた要素が null になる、インストーラがサービスの開始の種類を戻してスナップショットへ焼き込まれる)。SKILL.md から辿れる

plugins/dev-workflow (commit-and-pr-message) — ISSUE-70, ISSUE-75

  • フッタの記述を消した。A.1 の末尾の一文、C.1 の末尾にセッション URL を置く指示とフッタの非対称の段落、面ごとのフッタの既定の表、落とし穴の表のフッタの行 (ISSUE-70)
  • 落とし穴 (Red flags) の節を消した。12 行のうちフッタの行 (上で消した) を除く 11 行は、右の列の規定が本文にもあった (ISSUE-75)
  • 「既知の限界」から、送る前の入口の docstring と同じことを書いていた 3 項目 (公開範囲の誤判定、環境変数が届かない環境、Linux のホームディレクトリ形のパス) を消し、入口の docstring を指す 1 文を置いた。手順の側の 2 項目と、上限を超えたときの分け方は残した (ISSUE-75)
  • 公開範囲の判定は、送る本文ごとに、その本文で最初に入口を呼ぶ前に 1 回だけ行うと文面で明確にした。前に送った本文の判定は使い回さない。手順の中身は変わらず、「最初に」が何の最初かを書いた (ISSUE-75)
  • SKILL.md は 24,656 B から 21,198 B になり、呼ぶたびに載る量が減った。この skill の scripts/ (送る前の入口と gitleaks の config) は変わっていない

skills/tooling/jev-lint-curated — ISSUE-86

  • キー付きの実行をユーザーに促す形を、エージェントが埋めてそのまま打てる形にした。ユーザーが置き換えるのはキーを取り出す部分の 1 語だけで、置き換えずに打ってもキーが空になり、コードを送る前にラッパが止まる
  • 要約の出力が増えた。degraded になった batch と、関連テストが無く見送ったファイルを、件数の行の下に 1 件 1 行で出す。見送るファイルは --dry-run の要約にも出る。要約の文面を読んで判定している消費側は、行が増えることに注意する。終了コードと既存の行の文面は変わらない

確かめたこと: commit-and-pr-message の変更は、入口の定数と SKILL.md の終了コードの表を突き合わせるテストを含む Python テスト (1124 件、manifest と一致) と pre-commit の全 hook で確かめた。jev-lint-curated の出力は、追加したユニットテストで確かめた。VM 検証 skill の手順は散文として足しただけで、prlctl の一連のコマンドを実機の VM で通していない。prlctl の help でコマンドの形が正しいことだけを確かめた。

pin を上げたあとで確かめること:

  • Skill ツールで読み込んだ commit-and-pr-message にフッタの記述が無いこと
  • jev-lint-curated の --dry-run の要約が起動すること
  • 各 VM (macOS と Windows) で、手順の prlctl snapshot / snapshot-switch / snapshot-delete / stop を 1 回通すこと。macOS の VM は Apple Silicon の仮想化で動くものがあり、その構成でスナップショットが取れるかは確かめていない。取れなければ、直るまで macos-vm-verification の手順を当てない
  • スナップショットの無い VM で、最初の検証が手順 1 で止まらないこと。prlctl snapshot-list はスナップショットが無くても見出しの行を 1 行出すので、出力を字義どおり「空」で判定すると止まりうる

同伴 (配布物ではない):

  • このリポジトリの commit-msg の検査に、コミットメッセージへのセッションの URL の混入を止める hook を足した (ISSUE-70)。配布物には足していないので、配布先の挙動は変えない
  • 開いている Issue 56 件のトリアージ (PR 79) と、ISSUE-70、ISSUE-75、ISSUE-85、ISSUE-86 の記録。ISSUE-70 は実機の確認が残るので開いたまま

commit range: v0.12.0..5028fc8 (3 commits)