From 8b9e3366699a86d409a65ca439fb8975709a99fb Mon Sep 17 00:00:00 2001 From: "takemi.ohama" Date: Tue, 22 Sep 2026 14:27:20 +0000 Subject: [PATCH] Release: ndf v10.16.0-dev.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit マイルストーン 13「agy の打ち切りと止まらない収束ループ」を develop のチャネルへ載せる開発版。 - 版数を持つ 15 箇所を 10.16.0-dev.1 へ上げ、版の付け方の章の例を 10.16.0 / 10.17.0-dev.1 / 10.17.0-rc.1 へ繰り上げた - plugins/ndf/README.md の更新案内をこの版の変更(使える者だけで始める・--exclude / --include / --require-all・ cross-refactoring の既定の参加者から agy を外す・書き込みを回す側へ移す など)と確かめ方 3 コマンドへ書き直した - CHANGELOG.md に ndf 10.16.0 の節、docs/ndf-version-decisions.md に v10.16.0 の判断を足した Co-Authored-By: Claude Opus 5 (1M context) --- .claude-plugin/marketplace.json | 2 +- AGENTS.md | 2 +- CHANGELOG.md | 50 +++++++++++++++++++++++ README.md | 4 +- docs/ndf-version-decisions.md | 55 +++++++++++++++++++++++++- docs/versioning-and-distribution.md | 12 +++--- plugins/ndf/.claude-plugin/plugin.json | 4 +- plugins/ndf/.codex-plugin/plugin.json | 4 +- plugins/ndf/README.md | 53 ++++++++++++++++--------- plugins/ndf/dev.agy/plugin.json | 4 +- 10 files changed, 154 insertions(+), 36 deletions(-) diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index 3450ce9d0..3d895d696 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -9,7 +9,7 @@ { "name": "ndf", "source": "./plugins/ndf", - "description": "Claude Code plugin (v10.15.1): 8 specialized agents and 45 focused NDF skills for PR/review workflows, cross-review, implementation planning, plan-to-spec, Docker container access, statusline, external AI delegation (Codex/agy), transcript retention guard, and optional Slack notifications.", + "description": "Claude Code plugin (v10.16.0-dev.1): 8 specialized agents and 45 focused NDF skills for PR/review workflows, cross-review, implementation planning, plan-to-spec, Docker container access, statusline, external AI delegation (Codex/agy), transcript retention guard, and optional Slack notifications.", "policy": { "installation": "AVAILABLE", "authentication": "ON_INSTALL" diff --git a/AGENTS.md b/AGENTS.md index 767b7a62a..0885699c2 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -126,7 +126,7 @@ ai-plugins/ ## NDFプラグインについて -**NDFプラグイン**は、このマーケットプレイスの主要プラグインです(v10.15.1)。plugin 名は全ランタイムで `ndf` を維持し、配布物は `plugins/ndf/` の1ディレクトリにまとまっています。 +**NDFプラグイン**は、このマーケットプレイスの主要プラグインです(v10.16.0-dev.1)。plugin 名は全ランタイムで `ndf` を維持し、配布物は `plugins/ndf/` の1ディレクトリにまとまっています。 - Skill の実体は `plugins/ndf/skills/` の1箇所。配布先は `plugins/ndf/manifests/*-skills.txt` が決める - Claude Code版は 8個の専門サブエージェント、公開Skills、PreToolUse/SessionStart/Stopフックを提供 - Codex版は Codex向け公開Skillsと任意Slack通知hookを提供 diff --git a/CHANGELOG.md b/CHANGELOG.md index 42c76210f..08a4b8453 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,56 @@ **開発版(接尾辞の付いた版)は載せない。** `9.8.0` は `9.8.0-dev.1` までしか出ておらず、 その内容は `10.0.0` で届いている。 +## [ndf 10.16.0] - 2026-09-22 + +### 追加 + +- **`cross-review` と `cross-refactoring` の `init` に `--exclude` / `--include` / `--require-all` を足した**(#664 #727)。 + 参加者を名指しで足し引きでき(カンマ区切り・繰り返し可・再開で `none` を渡すと空へ戻す)、`--require-all` を + 付けたときだけ確認を通らない者が 1 者でもいれば止まる +- **`scripts/lib/result_posts.py` を新設した**(#730 #583)。結果ファイルからレビュー・返信・スレッドの決着・ + まとめを組み立てて待ち行列から送る共通層で、部分命令 `fix` が `/ndf:fix` を単独で使うときの送信と投稿を行う +- **`cross-refactoring/scripts/refactor_lib/intake.py` を新設した**(#728)。適用・修正・最終ゲートの修正の + 3 つの取り込みが、範囲の確定・未検証のコミットの取り消し・結末の記録を共有する +- `cross-review/scripts/classifications.py` を新設し、指摘の区分の語彙を 1 か所に置いた(#732) +- 状態ファイルに参加者の記録(`participants`)と再開で変えた値の記録(`resume_changes`)を足し、完了報告に + 参加した者の節を足した(#727 #648 #664) + +### 変更 + +- **認証の確認を関門から外した**(#478 #727 #664)。確認を通らない CLI があっても `init` はその者を外して + 続け、外した者と理由を状態ファイルと完了報告へ残す。使える者が 0 者なら止まる +- **`cross-review` が毎ラウンド 2 席を確保する**(#687 #727)。使える者が足りなければホスト、次に同じ + ランタイムの 2 つ目(`codex-2` など)で埋める。`--only` のときは埋め合わせをしない +- **`cross-refactoring` の既定の参加者を codex / kiro とホストにした**(#664)。agy は `--include agy` で戻す。 + 提案と適用を同じ参加者で回し、レビュー担当の役を無くした +- **再開で渡した引数を反映するか、反映しないと知らせる**(#648)。上限の引数の既定を未指定にし、既定値は + 状態の側で補う +- **担当 1 回の起動の結末を共通の語彙で読む**(#729 #619 #584)。利用上限は理由「利用上限」として残り、 + 同じラウンドで同じ担当を起動し直さない。監視は CLI を独立したプロセスグループで起動し、止めた後に子 + プロセスが結果を書かない +- **収束の判定で数えない指摘を、棄却と `minor` 以下に限った**(#732 #624 #706)。誤りを示されていない + `major` 以上は `unrefuted` として数える +- **GitHub と git へ書くのをレビューを回す側だけにした**(#730 #583)。レビューの担当は指摘の控えと + 結果ファイルを書いて終わり、`/ndf:fix` の担当はコミットまでで止まる。投稿は `state.py read-result`、 + 送信・返信・決着・まとめは `state.py merge-fix` が行い、4 種別すべてで二度書かない照合を掛ける +- **同じ適用ラウンドを開き直すのを 2 回までにした**(#728 #647 #592)。2 回目は別の担当が試し、2 回とも + 結果が残らなければ取り消して見送る。採用 0 件の提案ラウンドと項目の無い適用ラウンドでは担当を起動しない +- `launch-reviewer.sh` / `critique.sh` の第 1 引数をランタイム名から席の名前にした(ランタイム名は + そのまま受け付ける)(#727) + +### 修正 + +- 帰属の段落がコミットの後ろに足されても、必須の記名を末尾の段落から読むようにした(#553) +- テストの実行中は `MONITOR_` で始まる環境変数を外し、監視の上限を延ばしたシェルでも同じ件数が通るように + した(#678) + +### 削除 + +- 共通層の `check_auth` / `impl_pool` / `review_assign` / `assign` を消した(#664)。置き換え先は + `probe_auth` / 参加者の一覧 / `review_seats` / `impl_assign` +- `cross-review` の担当の申告件数と GitHub の実数の突き合わせをやめた(#730) + ## [ndf 10.15.1] - 2026-09-19 ### 修正 diff --git a/README.md b/README.md index eff39d400..397fa59d3 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Claude Code / Codex / Kiro CLI / agy 向けのスキル・MCP設定を共有す このマーケットプレイスは、チーム全体でAI開発ツール(Claude Code / Codex / Kiro CLI / agy)の導入を加速するための事前設定されたプラグインを提供します。 -**NDFプラグイン v10.15.1** は、同じ `ndf@ai-plugins` という名前で Claude Code / Codex / Kiro CLI / agy へ配布されるプラグインです。配布物は `plugins/ndf/` の1ディレクトリにまとまっており、Skill の実体は `plugins/ndf/skills/` の1箇所だけです。どのランタイムへ配るかは `plugins/ndf/manifests/*-skills.txt` が決めます。 +**NDFプラグイン v10.16.0-dev.1** は、同じ `ndf@ai-plugins` という名前で Claude Code / Codex / Kiro CLI / agy へ配布されるプラグインです。配布物は `plugins/ndf/` の1ディレクトリにまとまっており、Skill の実体は `plugins/ndf/skills/` の1箇所だけです。どのランタイムへ配るかは `plugins/ndf/manifests/*-skills.txt` が決めます。 - **公開Skills**: Claude Code向け core 45個、Kiro向け core 44個、Codex向け core 43個、agy向け core 43個に分離。 - **元Skills(45個)**: @@ -110,7 +110,7 @@ hook を効かせる手順と、新しい版へ入れ替える手順は | プラグイン名 | バージョン | 説明 | 詳細 | |------------|----------|------|------| -| **ndf** | 10.15.1 | Claude Code / Codex / Kiro CLI / agy へ 1 ディレクトリから配布する NDF プラグイン。8個の専門エージェント(Claude版)、公開Skills(Claude Code向け core 45個、Kiro向け core 44個、Codex向け core 43個、agy向け core 43個)、4ランタイム共通の作業ツリー運用フック(PreToolUse / SessionStart / userPromptSubmit / agentSpawn / PreInvocation)、Claude Stopフック、Codex/Kiro向け通知・実行補助を提供。v4.0.0 で Codex MCP サーバを廃止し、`/ndf:external-ai` skill + `corder` エージェント経由の CLI 直接実行に一本化。 | [README](./plugins/ndf/README.md) | +| **ndf** | 10.16.0-dev.1 | Claude Code / Codex / Kiro CLI / agy へ 1 ディレクトリから配布する NDF プラグイン。8個の専門エージェント(Claude版)、公開Skills(Claude Code向け core 45個、Kiro向け core 44個、Codex向け core 43個、agy向け core 43個)、4ランタイム共通の作業ツリー運用フック(PreToolUse / SessionStart / userPromptSubmit / agentSpawn / PreInvocation)、Claude Stopフック、Codex/Kiro向け通知・実行補助を提供。v4.0.0 で Codex MCP サーバを廃止し、`/ndf:external-ai` skill + `corder` エージェント経由の CLI 直接実行に一本化。 | [README](./plugins/ndf/README.md) | | **playwright-kit** | 2.0.3 | Playwright による E2E テストの計画・実装・証跡管理を提供するプラグイン。ページ役割からのテスト計画、動画 / trace 付きスクリプト実装、レポート生成と Drive 保管、playwright_kit ランタイム(init、a11y / CWV スキャン)の 4 Skill。NDF v7.0.0 で分離。 | [README](./plugins/playwright-kit/README.md) | ### 変更履歴 diff --git a/docs/ndf-version-decisions.md b/docs/ndf-version-decisions.md index e2ea946d1..06f23abd4 100644 --- a/docs/ndf-version-decisions.md +++ b/docs/ndf-version-decisions.md @@ -1,4 +1,4 @@ -# NDF の版ごとの決定と理由(v10.12.0〜v10.15.0) +# NDF の版ごとの決定と理由(v10.12.0〜v10.16.0) `CLAUDE.md` から移した、出た版の記録である。**その版で何を決め、なぜそう決めたか**を残す。 変更点の列挙は `CHANGELOG.md` にあり、こちらは判断の理由を持つ。**`CLAUDE.md` へ書くのは @@ -185,3 +185,56 @@ Pull Request を通すと、計画の更新がマージを待って進み具合 Claude Code 2.1.274 の実測 8 通りのうち読み込まれた 2 通り(行頭・空白の直後、強調の中)に合わせた。 観点は根拠を出典として残して値そのものは持たず、調べ直しは自動で書き換えない(外部の記述の読み違いが そのまま検査の基準になる)。**この配布が、退避の検査を配布の工程で通した最初の版である。** + +v10.16.0 で収束ループを、担当が揃わない・上限で止まる・結果を残さないときにも止まらず終わる形にした +(マイルストーン 13「agy の打ち切りと止まらない収束ループ」、#478 #553 #583 #584 #592 #619 #624 #647 +#648 #664 #678 #687 #706 #727 #728 #729 #730 #732 #736)。**19 件の課題を、根本原因の場所 5 つ +(#727 #728 #729 #730 #732)へ寄せてから設計した。** 現れ方ごとに直すと、同じ判断が cross-review と +cross-refactoring の 2 か所に書かれ、片方だけが古くなる。設計の Pull Request(#781〜#784 #794)を +先に通し、実装(#790 #791 #793 #796 #797 #800 #801)は共通層を触る順に並べた。 + +**結果なしの判断と起動し直しの可否は、結末の共通層の 1 つの真偽値が持つ**(#729)。偽にするのは +利用上限だけにした ── 利用上限は起動し直しても解けず、起動のたびに待ちと相手の枠を使う。他の理由は +対象や負荷で変わるため 1 度は起動し直してよい。偽のときに何をするか(担当を替えるか、誤りで終えるか)は +担当の集合を知る Skill が決める。**利用上限は早期の致命の状態のまま理由だけを分けた** ── 終了コードで +分岐する骨組みと文書を変えずに、読む側が区別できる。 + +**認証の確認を関門から外し、使える者だけで始める**(#478 #727)。確認と中断が 1 つの関数にあると、 +使える者で回す経路から呼べない。止めるかどうかは `--require-all` が決め、全員が揃わないなら始めたくない +運用を残した。**席は 2 つとし、使える者 → ホスト → 同じランタイムの 2 つ目の順で埋める**(#687)── +同じ言語モデルの 2 つの文脈より、違う言語モデルの 2 つの文脈のほうが観点が分かれる。1 つ目の席の +名前をランタイム名そのままにしたのは、埋め合わせの要らない実行で従来と同じ名前しか現れないためである。 +**起動した後に分かる使えなさで担当を自動で外す仕組みは作らない** ── 一時的な打ち切りでも、以後の +ラウンドから恒久的に外れる。 + +**cross-refactoring の既定の参加者を codex / kiro とホストにした**(#664)。起動 199 回のうち失敗は +agy の 7 回だけで、提案の所要の中央値も agy が最も長かった(5 分。codex 3 分、kiro 2 分)。提案は最も +遅い者を待つため、所要はほぼ agy で決まっていた。既定にホストを含めると提案と適用の集合が一致し、 +適用専用の母集合を持つ理由が無くなる。構造改善のレビュー工程は既に無く、記録だけに残っていた +レビュー担当の役は消した ── 残すと読み手が「この 2 者がレビューした」と読む。 + +**再開で渡した引数は、反映するか知らせるかのどちらかの表に必ず載せる**(#648)。引数の既定を未指定に +したのは、既定値と同じ値を「渡していない」とみなす形では、上限を既定値へ戻す操作を区別できないため +である。担当に関わる引数を渡した再開でだけ参加者を作り直す ── 途中で担当が入れ替わると、前の +ラウンドの記録と突き合わせられなくなる。 + +**収束の判定で数えないのは、棄却と `minor` 以下だけにした**(#732 #624 #706)。反証する相手がいない +構成(`--only` の 1 者)で、誤りを示されていない `major` が立証不足の区分へ落ち、未解決のまま承認で +終わっていた。立証不足の区分の名前は変えず軽微な指摘の残余だけに当てた ── 改名すると旧い状態 +ファイルの値・測定の読み方・語彙を同時に付け替えることになり、変更の前後を測定で比べられなくなる。 + +**GitHub と git へ書くのは、レビューを回す側だけにした**(#730 #583)。担当が投稿してから結果ファイルを +書く形では、その間で止まると投稿は残り記録は残らず、起動し直した担当が同じ論点を重ねて投稿した +(PR #578)。担当の投稿の後に実物と照合して記録を補う形は採らない ── 照合の問い合わせが上限で +失敗すると同じ食い違いが残る。修正は現在の頭を指定して送り、送った後に照合する ── ブランチ名だけの +送信は、切り離された頭で何も送らずに終了コード 0 で終わる。単独の `/ndf:fix` の口は新しい入口の +スクリプトにせず共通層の部分命令にした ── 手順に書く行が 1 本で済み、実装が 1 つになる。 + +**同じ適用ラウンドを開き直すのは 2 回までの固定値とし、引数を足さない**(#728 #647 #592)。2 回目は +別の担当が試すため、2 回とも残らなければ担当ではなく適用ラウンドの側を疑える。上限を引数にして 2 つ +置くと、どちらで止まったかを読み解く必要が出る。**進行側は取り込みでコミットを書き換えない**(#553) +── 識別子が変わり申告と実体の対応が切れるため、必須の記名は末尾の段落から前へ git の判定に掛けて読む。 + +**テストの実行中は `MONITOR_` で始まる環境変数を、根の `conftest.py` の 1 か所で外す**(#678)。 +名前を並べずに接頭辞で一致させるのは、上限の種類が増えるたびに一覧へ足し忘れる形を作らないためで、 +収集より前に外すのは、テストの本体を読み込む時点で上限を決める実装があるためである。 diff --git a/docs/versioning-and-distribution.md b/docs/versioning-and-distribution.md index 8f1bc8dfc..00b9a7527 100644 --- a/docs/versioning-and-distribution.md +++ b/docs/versioning-and-distribution.md @@ -57,15 +57,15 @@ semver の順序で除外されるのは、プラグイン間の依存解決(` | 版 | 形 | 意味 | | --- | --- | --- | -| 正式版 | `10.15.1` | 利用者が常用してよい | -| 開発版 | `10.16.0-dev.1` | 検証中。入れたくない利用者は取得を控えられる | -| 公開前の確認版 | `10.16.0-rc.1` | 正式版の候補。残るのは確認だけ | +| 正式版 | `10.16.0` | 利用者が常用してよい | +| 開発版 | `10.17.0-dev.1` | 検証中。入れたくない利用者は取得を控えられる | +| 公開前の確認版 | `10.17.0-rc.1` | 正式版の候補。残るのは確認だけ | -- 接尾辞は**次に出す正式版の版数へ付ける**。`10.15.1` の次を開発するなら `10.16.0-dev.1` +- 接尾辞は**次に出す正式版の版数へ付ける**。`10.16.0` の次を開発するなら `10.17.0-dev.1` - 連番は開発版を出すたびに増やす。**同じ版数で中身を差し替えない**。差し替えると、利用者の 手元にある版と `main` の版が同じ番号で別物になり、何を確かめたのかが分からなくなる -- **正式版を出すときは接尾辞を外す。** `10.16.0-dev.3` の次は `10.16.0` -- 順序は semver に従い `10.16.0-dev.1` < `10.16.0-rc.1` < `10.16.0` になる +- **正式版を出すときは接尾辞を外す。** `10.17.0-dev.3` の次は `10.17.0` +- 順序は semver に従い `10.17.0-dev.1` < `10.17.0-rc.1` < `10.17.0` になる ## ランタイムごとの取得と導入 diff --git a/plugins/ndf/.claude-plugin/plugin.json b/plugins/ndf/.claude-plugin/plugin.json index 3061e987a..cf68969bb 100644 --- a/plugins/ndf/.claude-plugin/plugin.json +++ b/plugins/ndf/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "ndf", - "version": "10.15.1", - "description": "Claude Code plugin (v10.15.1): 8 specialized agents and 45 focused NDF skills for PR/review workflows, cross-review, implementation planning, plan-to-spec, Docker container access, statusline, external AI delegation (Codex/agy), transcript retention guard, and optional Slack notifications.", + "version": "10.16.0-dev.1", + "description": "Claude Code plugin (v10.16.0-dev.1): 8 specialized agents and 45 focused NDF skills for PR/review workflows, cross-review, implementation planning, plan-to-spec, Docker container access, statusline, external AI delegation (Codex/agy), transcript retention guard, and optional Slack notifications.", "author": { "name": "takemi-ohama", "url": "https://github.com/takemi-ohama" diff --git a/plugins/ndf/.codex-plugin/plugin.json b/plugins/ndf/.codex-plugin/plugin.json index 225702ba2..4fe32e063 100644 --- a/plugins/ndf/.codex-plugin/plugin.json +++ b/plugins/ndf/.codex-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "ndf", - "version": "10.15.1", - "description": "Codex plugin (v10.15.1): 43 focused NDF skills for PR/review workflows, cross-review, implementation planning, plan-to-spec, Docker container access, external AI delegation (Codex/agy), and optional Slack completion notifications.", + "version": "10.16.0-dev.1", + "description": "Codex plugin (v10.16.0-dev.1): 43 focused NDF skills for PR/review workflows, cross-review, implementation planning, plan-to-spec, Docker container access, external AI delegation (Codex/agy), and optional Slack completion notifications.", "skills": [ "./skills/cherry-pick-pr", "./skills/cross-refactoring", diff --git a/plugins/ndf/README.md b/plugins/ndf/README.md index 07430b2d0..75dfab661 100644 --- a/plugins/ndf/README.md +++ b/plugins/ndf/README.md @@ -89,7 +89,7 @@ bash plugins/ndf/dev.kiro/install.sh --dry-run ```bash python3 -c "import json;print(json.load(open('.kiro/agents/ndf.json'))['description'])" -# => NDF統合開発エージェント(Kiro CLI用 / v10.15.1) +# => NDF統合開発エージェント(Kiro CLI用 / v10.16.0-dev.1) ``` ### agy @@ -119,21 +119,34 @@ agy plugin list # => {"imports":[{"name":"ndf","source":"antigravity","components":["skills","agents","hooks"]}]} ``` -## v10.15.1 へ更新するとき +## v10.16.0-dev.1 へ更新するとき -**`agent-layers.md` の「並行の本数」の節で、実行計画の持ち主の記載を直しました**(#762)。 -「本数の測り方と実行計画は `parallel-work.md` が持つ」と書いていた 1 文を、「本数を抑える下限は -`parallel-work.md`、本数の測り方と実行計画は `issue-plan-strategy` の -`references/execution-plan.md` が持つ」へ改め、`parallel-work.md` の境界の表と揃えました。 -変わるのは参照文書の 1 文だけで、Skill の数・手順・スクリプトは v10.15.0 のままです。破壊的な -変更はなく、記録の移行も要りません。変更点の一覧は [CHANGELOG.md](../../CHANGELOG.md) にあります。 +**`cross-review` と `cross-refactoring` の収束ループが、担当が揃わない・上限で止まる・結果を +残さないときにも止まらず終わるようにしました**(マイルストーン 13「agy の打ち切りと止まらない +収束ループ」、#478 #553 #583 #584 #592 #619 #624 #647 #648 #664 #678 #687 #706 #727 #728 #729 +#730 #732 #736)。Skill の数は変わりません。引数・Skill・スクリプトの削除や改名は無く、記録の +移行も要りません(前の版で始めた状態ファイルはそのまま読めます)。変更点の一覧は +[CHANGELOG.md](../../CHANGELOG.md) にあります。 -**正式版です。** 開発版 `10.15.1-dev.1` と中身は同じで、`main` に載ります。 +**開発版です。** `develop` にだけ載ります。取得元へ `#develop` を足す手順は +[docs/versioning-and-distribution.md の「開発版を試す」](../../docs/versioning-and-distribution.md#開発版を試す)にあります。 + +**`cross-refactoring` の既定の参加者から agy が外れます。** 既定は codex / kiro とホストです。 +これまでどおり agy に提案と適用をさせるなら `--include agy` を渡します。 + +| 変わったこと | 中身 | +| --- | --- | +| **使える者だけで始まります**(#478 #727 #664 #687) | 認証の確認を通らない CLI があっても `init` は止まらず、その者を外して続けます。外した者と理由は状態ファイルと完了報告に残ります。全員が揃わないなら始めたくないときは `--require-all` を付けます。`cross-review` は毎ラウンド 2 席を確保し、足りなければホスト、次に同じランタイムの 2 つ目(`codex-2` など)で埋めます | +| **参加者を名指しで変えられます**(#664) | 両 Skill に `--exclude` / `--include` が増えました(カンマ区切り・繰り返し可)。`cross-refactoring` は提案と適用を同じ参加者で回し、レビュー担当の役を無くしました | +| **再開で渡した引数が効きます**(#648) | 中断した収束ループを引数を変えて再開すると、上限は反映され、反映しない引数は「反映しない」と表示されます。黙って捨てられる引数はありません。指定を外すときは `none` を渡します | +| **利用上限を理由として報告します**(#729 #619 #584) | 担当の CLI が利用上限で止まると「結果なし」ではなく理由「利用上限」として残り、同じラウンドで起動し直しません。監視が止めた担当の子プロセスは、止めた後に結果を書きません | +| **未解決の重大な指摘を残して承認で終わりません**(#732 #624 #706) | 収束の判定で数えないのは、棄却した指摘と `minor` 以下の指摘だけになりました。誤りを示されていない `major` 以上は残る指摘として数えます | +| **GitHub と git へ書くのはレビューを回す側だけです**(#730 #583) | レビューの担当は指摘の控えを書くだけで、投稿は取り込み(`state.py read-result`)が行います。修正の担当はコミットまでで、送信・返信・決着・まとめは `state.py merge-fix` が行います。同じ論点が 2 つのスレッドに分かれず、途中で止まってもやり直しで二度書きません。**`/ndf:fix` を単独で使うときは、最後に `lib/result_posts.py fix` の 1 行で送信と返信を行います**(手順は `fix` の SKILL.md にあります) | +| **適用ラウンドが上限なしに開き直されません**(#728 #647 #592 #553) | 実装担当が結果を残さないと未検証のコミットを取り消し、同じ適用ラウンドは別の担当で 2 回まで試します。採用 0 件のラウンドでは担当を起動しません。帰属の段落が後ろに付いたコミットでも必須の記名を読みます | +| テストが監視の環境変数に左右されません(#678) | `MONITOR_` で始まる環境変数を延ばしたシェルから全体のテストを起動しても、同じ件数が通ります | -正式版のチャネル(ref を指定せずに登録した取得元)なら、次で入れ替わります。**動いているセッションには -反映されない**ため、更新したあとは起動し直してください。開発版を試すために `develop` を登録した -場合は、[docs/versioning-and-distribution.md の「ランタイムごとの取得と導入」](../../docs/versioning-and-distribution.md#ランタイムごとの取得と導入) -の手順で ref を指定せずに登録し直してから導入します。 +開発版のチャネルを登録済みなら、次で入れ替わります。**動いているセッションには反映されない** +ため、更新したあとは起動し直してください。 ```bash claude plugin marketplace update ai-plugins @@ -145,13 +158,15 @@ codex plugin add ndf@ai-plugins ### 手元で確かめる -読むだけで、課題もファイルも書き換えません。`$SCRIPTS` はプラグインの `scripts/` の -絶対パスで、決め方は +どれも `--help` を読むだけで、課題もファイルも書き換えません。`$SCRIPTS` はプラグインの +`scripts/` の絶対パスで、決め方は [development-workflow/references/scripts-lookup.md](skills/development-workflow/references/scripts-lookup.md) にあります。 ```bash -grep -q "execution-plan.md" "$SCRIPTS/../skills/development-workflow/references/agent-layers.md"; echo "exit=$?" # 0 なら新しい版の参照文書が入っている +python3 "$SCRIPTS/lib/result_posts.py" fix --help >/dev/null; echo "exit=$?" # 0 なら修正の送信を行う共通層が入っている +python3 "$SCRIPTS/../skills/cross-review/scripts/state.py" init --help | grep -q -- '--require-all'; echo "exit=$?" # 0 なら cross-review が使える者だけで始まる +python3 "$SCRIPTS/../skills/cross-refactoring/scripts/refactor.py" init --help | grep -q -- '--include'; echo "exit=$?" # 0 なら cross-refactoring の参加者を名指しで変えられる ``` ## Playwright テストについて @@ -295,7 +310,7 @@ agy models # 認証の確認 ```text # 動く: 実体パスを示して読ませる -~/.codex/plugins/cache/ai-plugins/ndf/10.15.1/skills/deploy/SKILL.md を読んで、その手順どおりに qa/staging へ deploy PR を作成してください。 +~/.codex/plugins/cache/ai-plugins/ndf/10.16.0-dev.1/skills/deploy/SKILL.md を読んで、その手順どおりに qa/staging へ deploy PR を作成してください。 # 動かない: 明示起動 ($ は展開されない) $deploy qa/staging @@ -317,14 +332,14 @@ marketplace 経由でインストールした場合、Skill の実体は **ワ ```text $CODEX_HOME/plugins/cache////skills//SKILL.md # 既定 ($CODEX_HOME=~/.codex) の例: -# ~/.codex/plugins/cache/ai-plugins/ndf/10.15.1/skills/deploy/SKILL.md +# ~/.codex/plugins/cache/ai-plugins/ndf/10.16.0-dev.1/skills/deploy/SKILL.md ``` そのため「`deploy` の SKILL.md を探して読んで」のような曖昧な依頼は、Codex のファイル探索がワークスペース内に限られる状況では失敗しえます。**抑止した Skill は `$` が展開されない**ので、`codex plugin list` で実体パスを確認し、絶対パスを渡してください。 ```bash codex plugin list | grep 'ndf@ai-plugins' -# => ndf@ai-plugins installed, enabled 10.15.1 +# => ndf@ai-plugins installed, enabled 10.16.0-dev.1 ``` 抑止していない Skill(`markdown-writing` など)はキャッシュ配下でも `$` で解決するため、そちらは `$` 起動が使えます。 diff --git a/plugins/ndf/dev.agy/plugin.json b/plugins/ndf/dev.agy/plugin.json index 29b91a1c9..247da9f8b 100644 --- a/plugins/ndf/dev.agy/plugin.json +++ b/plugins/ndf/dev.agy/plugin.json @@ -1,5 +1,5 @@ { "name": "ndf", - "version": "10.15.1", - "description": "Antigravity CLI plugin (v10.15.1): 43 focused NDF skills for PR/review workflows, cross-review, implementation planning, plan-to-spec, Docker container access, external AI delegation, and worktree guidance hooks." + "version": "10.16.0-dev.1", + "description": "Antigravity CLI plugin (v10.16.0-dev.1): 43 focused NDF skills for PR/review workflows, cross-review, implementation planning, plan-to-spec, Docker container access, external AI delegation, and worktree guidance hooks." }