diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index 75437d250..c5b4d439b 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.17.0): 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.17.1-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 c937c0807..14a7a2d84 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -126,7 +126,7 @@ ai-plugins/ ## NDFプラグインについて -**NDFプラグイン**は、このマーケットプレイスの主要プラグインです(v10.17.0)。plugin 名は全ランタイムで `ndf` を維持し、配布物は `plugins/ndf/` の1ディレクトリにまとまっています。 +**NDFプラグイン**は、このマーケットプレイスの主要プラグインです(v10.17.1-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 315a34726..3678b1d5f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,16 @@ **開発版(接尾辞の付いた版)は載せない。** `9.8.0` は `9.8.0-dev.1` までしか出ておらず、 その内容は `10.0.0` で届いている。 +## [ndf 10.17.1] - 2026-09-23 + +### 変更 + +- **全体テストを並列で回し、継続的統合ではファイル単位で 2 つのジョブへ分けた**(#882)。案内するコマンドを + `-n auto` の形にし、根の `conftest.py` が `SHARD_TOTAL` / `SHARD_INDEX` を読んで自分の分のファイルだけを + 残す。まとめジョブの名前を `pytest` にしたため、必須の検査は変わらない。Skill・スクリプト・hook の振る舞いは変わらない +- **重複した競合試験を共通実装への 1 通りへ寄せ、繰り返しの回数を減らした**(#884)。 + `release/**` の push を継続的統合の契機から外し、2 重の実行をやめた + ## [ndf 10.17.0] - 2026-09-23 ### 追加 diff --git a/README.md b/README.md index c338b4b8e..ce29685e9 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.17.0** は、同じ `ndf@ai-plugins` という名前で Claude Code / Codex / Kiro CLI / agy へ配布されるプラグインです。配布物は `plugins/ndf/` の1ディレクトリにまとまっており、Skill の実体は `plugins/ndf/skills/` の1箇所だけです。どのランタイムへ配るかは `plugins/ndf/manifests/*-skills.txt` が決めます。 +**NDFプラグイン v10.17.1-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.17.0 | 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.17.1-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 cdb209e4a..d1071c171 100644 --- a/docs/ndf-version-decisions.md +++ b/docs/ndf-version-decisions.md @@ -1,4 +1,4 @@ -# NDF の版ごとの決定と理由(v10.12.0〜v10.17.0) +# NDF の版ごとの決定と理由(v10.12.0〜v10.17.1) `CLAUDE.md` から移した、出た版の記録である。**その版で何を決め、なぜそう決めたか**を残す。 変更点の列挙は `CHANGELOG.md` にあり、こちらは判断の理由を持つ。**`CLAUDE.md` へ書くのは @@ -277,3 +277,13 @@ v10.17.0 で待つ間の問い合わせと、長い conductor の会話を止め **hook は Claude Code にだけ置く**(#829 #830)。代わりの待ち方(`run_in_background` の通知と `Monitor`)と文脈量を読む記録を持つのが Claude Code だけで、#827 の実測も Claude Code の記録だけで ある。Codex / Kiro / agy は規約と引き継ぎの 1 行で守り、CLI 側の消費を測った後に改めて決める。 + +v10.17.1 で全体テストの待ちを縮めた(マイルストーン 26「17 トークン消費の削減」の 2'、#882 #884)。 +計画と実測は `issues/issue-882-884-test-speedup.md` と PR #891 にある。 + +**継続的統合はファイル単位で 2 つのジョブへ分け、まとめジョブの名前を `pytest` にする**(#882)。 +`-n auto` だけではジョブが 2 分を超えた。まとめジョブが必須の検査の名前を引き継ぐため、ruleset を +変えずに済む。**分け方が項目を落としても各ジョブは成功しうるため、分割の漏れと重なりは継続的統合の +外のテストで見る**(`scripts/tests/test_root_conftest.py`)。**本番のスクリプトを変える高速化は +この版で行わない** ── `bg-wait.sh` の間隔とロックの上限の注入は振る舞いの変更で、`light` の範囲を +超える。#884 は開いたまま残す。 diff --git a/docs/versioning-and-distribution.md b/docs/versioning-and-distribution.md index 68cfc4a70..9f59436ce 100644 --- a/docs/versioning-and-distribution.md +++ b/docs/versioning-and-distribution.md @@ -57,11 +57,11 @@ semver の順序で除外されるのは、プラグイン間の依存解決(` | 版 | 形 | 意味 | | --- | --- | --- | -| 正式版 | `10.17.0` | 利用者が常用してよい | +| 正式版 | `10.17.1` | 利用者が常用してよい | | 開発版 | `10.18.0-dev.1` | 検証中。入れたくない利用者は取得を控えられる | | 公開前の確認版 | `10.18.0-rc.1` | 正式版の候補。残るのは確認だけ | -- 接尾辞は**次に出す正式版の版数へ付ける**。`10.17.0` の次を開発するなら `10.18.0-dev.1` +- 接尾辞は**次に出す正式版の版数へ付ける**。`10.17.1` の次を開発するなら `10.18.0-dev.1` - 連番は開発版を出すたびに増やす。**同じ版数で中身を差し替えない**。差し替えると、利用者の 手元にある版と `main` の版が同じ番号で別物になり、何を確かめたのかが分からなくなる - **正式版を出すときは接尾辞を外す。** `10.18.0-dev.3` の次は `10.18.0` diff --git a/plugins/ndf/.claude-plugin/plugin.json b/plugins/ndf/.claude-plugin/plugin.json index 0ebbb32ea..7fc980565 100644 --- a/plugins/ndf/.claude-plugin/plugin.json +++ b/plugins/ndf/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "ndf", - "version": "10.17.0", - "description": "Claude Code plugin (v10.17.0): 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.17.1-dev.1", + "description": "Claude Code plugin (v10.17.1-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 93da3ca55..e082f8545 100644 --- a/plugins/ndf/.codex-plugin/plugin.json +++ b/plugins/ndf/.codex-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "ndf", - "version": "10.17.0", - "description": "Codex plugin (v10.17.0): 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.17.1-dev.1", + "description": "Codex plugin (v10.17.1-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 4b38b8107..bb0cfdd57 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.17.0) +# => NDF統合開発エージェント(Kiro CLI用 / v10.17.1-dev.1) ``` ### agy @@ -119,24 +119,25 @@ agy plugin list # => {"imports":[{"name":"ndf","source":"antigravity","components":["skills","agents","hooks"]}]} ``` -## v10.17.0 へ更新するとき +## v10.17.1-dev.1 へ更新するとき -**Claude Code で、待つ間の繰り返しの問い合わせと、文脈が上限を超えた conductor の工程の起動を -hook が止めるようにしました**(マイルストーン 26「17 トークン消費の削減」、#829 #830)。Skill の数は -変わりません。引数・Skill・スクリプトの削除や改名は無く、記録の移行も要りません。Codex / Kiro / agy の -hook は変わりません。変更点の一覧は [CHANGELOG.md](../../CHANGELOG.md) にあります。 +**全体テストを並列・2 分割で回すようにし、重複した競合試験と繰り返しを減らしました**(マイルストーン 26 +「17 トークン消費の削減」、#882 #884)。変わったのはテストと継続的統合の設定、テストを案内する文書 +だけで、**Skill・スクリプト・hook の振る舞いは 10.17.0 と同じです。** Skill の数も変わりません。 +引数・Skill・スクリプトの削除や改名は無く、記録の移行も要りません。変更点の一覧は +[CHANGELOG.md](../../CHANGELOG.md) にあります。 -**正式版です。** `main` に載ります。中身は開発版 `10.17.0-dev.1` と同じで、版数の接尾辞だけを -外しました。 +**開発版です。** `develop` にだけ載ります。取得元へ `#develop` を足す手順は +[docs/versioning-and-distribution.md の「開発版を試す」](../../docs/versioning-and-distribution.md#開発版を試す)にあります。 | 変わったこと | 中身 | | --- | --- | -| **前景の `sleep` の待ちと、変わらないファイルの読み直しを止めます**(#829) | `while` / `until` のループの本体にある `sleep` と 5 秒を超える `sleep`、同じファイルの同じ範囲を変わらないまま 3 回続けて読む Read を、理由の欄に代わりの待ち方(`run_in_background: true` で起動して完了通知を待つ / `Monitor`)を書いて止めます。待ち方の規約は `development-workflow/references/waiting.md` にあります。`NDF_SLEEP_GUARD=0` / `NDF_READ_REPEAT_GUARD=0` で止められます | -| **文脈が 200,000 を超えた conductor の工程の起動を 1 度止めます**(#830) | 工程 Skill か持ち場の supervisor を起動すると、新しい会話で打つ 1 行(`/ndf:development-workflow #<課題>`)を示して止めます。このまま続けるなら同じ起動をもう一度行えば通ります。`NDF_CONTEXT_GUARD=0` で止め、`NDF_CONTEXT_LIMIT` で上限を変えられます | +| **全体テストを並列で回します**(#882) | 継続的統合の全体テストを `-n auto` で回し、ファイル単位で 2 つのジョブへ分けます(根の `conftest.py` が `SHARD_TOTAL` / `SHARD_INDEX` を読む。手元で指定しなければ分けない)。案内するコマンドは `uv run --project plugins/playwright-kit/skills/playwright-kit-ops --with pytest pytest . -q -n auto` の形になりました | +| **重複した競合試験と繰り返しを減らしました**(#884) | 臨界区間の競合試験を共通実装への 1 通りへ寄せ、繰り返しの回数を目的に要る数まで減らしました。`release/**` の push で継続的統合が 2 重に走らないようにしました | -正式版のチャネル(ref を指定せずに登録した取得元)なら、次で入れ替わります。**動いているセッションには -反映されない**ため、更新したあとは起動し直してください。開発版を試すために `develop` を登録した -場合は、[docs/versioning-and-distribution.md の「ランタイムごとの取得と導入」](../../docs/versioning-and-distribution.md#ランタイムごとの取得と導入) +開発版のチャネル(`develop` を登録した取得元)なら、次で入れ替わります。**動いているセッションには +反映されない**ため、更新したあとは起動し直してください。正式版へ戻すときは +[docs/versioning-and-distribution.md の「ランタイムごとの取得と導入」](../../docs/versioning-and-distribution.md#ランタイムごとの取得と導入) の手順で ref を指定せずに登録し直してから導入します。 ```bash @@ -155,8 +156,8 @@ codex plugin add ndf@ai-plugins にあります。 ```bash -grep -q 'token-guard.sh' "$SCRIPTS/../hooks/claude.json"; echo "exit=$?" # 0 なら hook が登録されている -test -f "$SCRIPTS/../skills/development-workflow/references/waiting.md"; echo "exit=$?" # 0 なら待ち方の規約がある +grep -q '"version": "10.17.1-dev.1"' "$SCRIPTS/../.claude-plugin/plugin.json"; echo "exit=$?" # 0 なら この版が入っている +grep -q '共通実装に対して 1 通りだけ回す' "$SCRIPTS/../skills/worktree/tests/test_registry.py"; echo "exit=$?" # 0 なら 寄せた競合試験が入っている ``` ## Playwright テストについて @@ -321,7 +322,7 @@ agy models # 認証の確認 ```text # 動く: 実体パスを示して読ませる -~/.codex/plugins/cache/ai-plugins/ndf/10.17.0/skills/deploy/SKILL.md を読んで、その手順どおりに qa/staging へ deploy PR を作成してください。 +~/.codex/plugins/cache/ai-plugins/ndf/10.17.1-dev.1/skills/deploy/SKILL.md を読んで、その手順どおりに qa/staging へ deploy PR を作成してください。 # 動かない: 明示起動 ($ は展開されない) $deploy qa/staging @@ -343,14 +344,14 @@ marketplace 経由でインストールした場合、Skill の実体は **ワ ```text $CODEX_HOME/plugins/cache////skills//SKILL.md # 既定 ($CODEX_HOME=~/.codex) の例: -# ~/.codex/plugins/cache/ai-plugins/ndf/10.17.0/skills/deploy/SKILL.md +# ~/.codex/plugins/cache/ai-plugins/ndf/10.17.1-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.17.0 +# => ndf@ai-plugins installed, enabled 10.17.1-dev.1 ``` 抑止していない Skill(`markdown-writing` など)はキャッシュ配下でも `$` で解決するため、そちらは `$` 起動が使えます。 diff --git a/plugins/ndf/dev.agy/plugin.json b/plugins/ndf/dev.agy/plugin.json index 5fd2b7a8b..2006767b7 100644 --- a/plugins/ndf/dev.agy/plugin.json +++ b/plugins/ndf/dev.agy/plugin.json @@ -1,5 +1,5 @@ { "name": "ndf", - "version": "10.17.0", - "description": "Antigravity CLI plugin (v10.17.0): 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.17.1-dev.1", + "description": "Antigravity CLI plugin (v10.17.1-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." }