From 7a839e1f9c5ee53a23289e68a7f6a92eb4a711d9 Mon Sep 17 00:00:00 2001 From: "takemi.ohama" Date: Sat, 31 Oct 2026 18:35:48 +0000 Subject: [PATCH 1/2] Release: ndf v10.27.4 --- .claude-plugin/marketplace.json | 2 +- README.md | 4 ++-- plugins/ndf/.claude-plugin/plugin.json | 4 ++-- plugins/ndf/.codex-plugin/plugin.json | 4 ++-- plugins/ndf/README.md | 8 ++++---- plugins/ndf/dev.agy/plugin.json | 4 ++-- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index eb291d9ac..fb01b3e86 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.27.4-dev.1): 8 specialized agents (plus 1 worker agent for the 3-layer workflow) and 49 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.27.4): 8 specialized agents (plus 1 worker agent for the 3-layer workflow) and 49 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/README.md b/README.md index 293533757..cd8bfd2a0 100644 --- a/README.md +++ b/README.md @@ -67,7 +67,7 @@ Claude Code では `/ndf:` と打って呼びます。**Skill** は | プラグイン名 | バージョン | できること | 詳細 | | --- | --- | --- | --- | -| **ndf** | 10.27.4-dev.1 | 開発の作業手順(Skill)と専門のサブエージェント。4 つの AI ツールへ同じ名前で入る | [README](./plugins/ndf/README.md) | +| **ndf** | 10.27.4 | 開発の作業手順(Skill)と専門のサブエージェント。4 つの AI ツールへ同じ名前で入る | [README](./plugins/ndf/README.md) | | **playwright-kit** | 3.0.2 | Playwright による E2E テストの計画・スクリプト作成・証跡のレポート | [README](./plugins/playwright-kit/README.md) | 外部サービスへつなぐ MCP サーバーの設定のプラグインが 10 個あります(Claude Code / Codex / Kiro CLI 向け)。 @@ -88,7 +88,7 @@ Claude Code では `/ndf:` と打って呼びます。**Skill** は ### NDF プラグインの Skill の一覧 -**NDFプラグイン v10.27.4-dev.1** に入る Skill の数は、AI ツールごとに違います。 +**NDFプラグイン v10.27.4** に入る Skill の数は、AI ツールごとに違います。 Claude Code向け core 49個、Kiro向け core 46個、Codex向け core 45個、agy向け core 45個です。 元Skills(49個)の内訳は次のとおりです。 - Pull Request とレビュー (7): pr, pr-tests, fix, pr-review, cherry-pick-pr, deploy, merged diff --git a/plugins/ndf/.claude-plugin/plugin.json b/plugins/ndf/.claude-plugin/plugin.json index aed067488..ba16de480 100644 --- a/plugins/ndf/.claude-plugin/plugin.json +++ b/plugins/ndf/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "ndf", - "version": "10.27.4-dev.1", - "description": "Claude Code plugin (v10.27.4-dev.1): 8 specialized agents (plus 2 supervisor agents and 1 worker agent for the 3-layer workflow) and 49 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.27.4", + "description": "Claude Code plugin (v10.27.4): 8 specialized agents (plus 2 supervisor agents and 1 worker agent for the 3-layer workflow) and 49 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 59bad6107..c034988d8 100644 --- a/plugins/ndf/.codex-plugin/plugin.json +++ b/plugins/ndf/.codex-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "ndf", - "version": "10.27.4-dev.1", - "description": "Codex plugin (v10.27.4-dev.1): 45 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.27.4", + "description": "Codex plugin (v10.27.4): 45 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 b625d945a..9d2151853 100644 --- a/plugins/ndf/README.md +++ b/plugins/ndf/README.md @@ -94,7 +94,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.27.4-dev.1) +# => NDF統合開発エージェント(Kiro CLI用 / v10.27.4) ``` ### agy @@ -429,7 +429,7 @@ agy models # 認証確認 ```text # 動く: 実体パスを示して読ませる -~/.codex/plugins/cache/ai-plugins/ndf/10.27.4-dev.1/skills/deploy/SKILL.md を読んで、その手順どおりに qa/staging へ deploy PR を作成してください。 +~/.codex/plugins/cache/ai-plugins/ndf/10.27.4/skills/deploy/SKILL.md を読んで、その手順どおりに qa/staging へ deploy PR を作成してください。 # 動かない: 明示起動 ($ は展開されない) $deploy qa/staging @@ -451,14 +451,14 @@ marketplace 経由でインストールした場合、Skill の実体は **ワ ```text $CODEX_HOME/plugins/cache////skills//SKILL.md # 既定 ($CODEX_HOME=~/.codex) の例: -# ~/.codex/plugins/cache/ai-plugins/ndf/10.27.4-dev.1/skills/deploy/SKILL.md +# ~/.codex/plugins/cache/ai-plugins/ndf/10.27.4/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.27.4-dev.1 +# => ndf@ai-plugins installed, enabled 10.27.4 ``` 抑止していない Skill(`document-style` など)はキャッシュ配下でも `$` で解決するため、そちらは `$` 起動が使えます。 diff --git a/plugins/ndf/dev.agy/plugin.json b/plugins/ndf/dev.agy/plugin.json index ea4cbde86..f77458981 100644 --- a/plugins/ndf/dev.agy/plugin.json +++ b/plugins/ndf/dev.agy/plugin.json @@ -1,5 +1,5 @@ { "name": "ndf", - "version": "10.27.4-dev.1", - "description": "Antigravity CLI plugin (v10.27.4-dev.1): 45 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.27.4", + "description": "Antigravity CLI plugin (v10.27.4): 45 focused NDF skills for PR/review workflows, cross-review, implementation planning, plan-to-spec, Docker container access, external AI delegation, and worktree guidance hooks." } From 47edb6702ee2df77b34c4ebd3f4ca48afa6f785c Mon Sep 17 00:00:00 2001 From: "takemi.ohama" Date: Sat, 31 Oct 2026 18:37:38 +0000 Subject: [PATCH 2/2] =?UTF-8?q?Release:=20ndf=20v10.27.4=20=E3=81=AE?= =?UTF-8?q?=E3=83=88=E3=83=BC=E3=82=AF=E3=83=B3=E6=B6=88=E8=B2=BB=E3=81=AE?= =?UTF-8?q?=E8=A8=98=E9=8C=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../metrics/ndf-token-usage/2026-10-31-4.json | 750 ++++++++++++++++++ docs/metrics/ndf-token-usage/2026-10-31-4.md | 117 +++ 2 files changed, 867 insertions(+) create mode 100644 docs/metrics/ndf-token-usage/2026-10-31-4.json create mode 100644 docs/metrics/ndf-token-usage/2026-10-31-4.md diff --git a/docs/metrics/ndf-token-usage/2026-10-31-4.json b/docs/metrics/ndf-token-usage/2026-10-31-4.json new file mode 100644 index 000000000..e70695a2a --- /dev/null +++ b/docs/metrics/ndf-token-usage/2026-10-31-4.json @@ -0,0 +1,750 @@ +{ + "per_pr": [ + { + "version": "10.27.2", + "mode": "standard", + "model": "claude-opus-5-5", + "cc": "2.1.316", + "reviewers": "-", + "sessions": 4, + "sessions_with_pr": 0, + "prs": 0 + }, + { + "version": "10.27.2", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.316", + "reviewers": "-", + "sessions": 2, + "sessions_with_pr": 0, + "prs": 0 + }, + { + "version": "10.27.2", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.316", + "reviewers": "claude+codex", + "sessions": 1, + "sessions_with_pr": 1, + "prs": 1, + "conductor_cost": 1118319.2000000002, + "supervisor_cost": 2699241.2, + "worker_cost": 4452251.100000001, + "context": 68196904.0, + "out": 402148.0, + "minutes": 106.72280000448227, + "codex_input": 1462304.0, + "codex_out": 7772.0, + "kiro_credit": 0.0, + "claude_seat_cost": 261353.0 + }, + { + "version": "10.27.3", + "mode": "standard", + "model": "claude-opus-5-5", + "cc": "2.1.316", + "reviewers": "-", + "sessions": 4, + "sessions_with_pr": 0, + "prs": 0 + }, + { + "version": "10.27.3", + "mode": "standard", + "model": "claude-opus-5-5", + "cc": "2.1.316", + "reviewers": "codex", + "sessions": 1, + "sessions_with_pr": 0, + "prs": 0 + }, + { + "version": "10.27.3", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.316", + "reviewers": "-", + "sessions": 3, + "sessions_with_pr": 0, + "prs": 0 + } + ], + "per_role": [ + { + "version": "10.27.2", + "mode": "standard", + "model": "claude-opus-5-5", + "cc": "2.1.316", + "reviewers": "-", + "layer": "conductor", + "role": "-", + "agent_type": "-", + "count": 4, + "cost": 680884.9125, + "context": 4521281.25, + "out": 36403.25, + "minutes": 7.080933334430059, + "p": 57038.75, + "k": 37.0, + "w5": 0.0, + "w1h": 139863.5, + "rewrites": 0, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 0, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 0, + "rewrite_gap_median": null + }, + { + "version": "10.27.2", + "mode": "standard", + "model": "claude-opus-5-5", + "cc": "2.1.316", + "reviewers": "-", + "layer": "supervisor", + "role": "pr", + "agent_type": "claude -p", + "count": 2, + "cost": 13672.8, + "context": 5009.5, + "out": 831.0, + "minutes": 0.15249999999999997, + "k": 1.0, + "w5": 0.0, + "w1h": 4751.5 + }, + { + "version": "10.27.2", + "mode": "standard", + "model": "claude-opus-5-5", + "cc": "2.1.316", + "reviewers": "-", + "layer": "worker", + "role": "work", + "agent_type": "claude -p", + "count": 2, + "cost": 168366.95, + "context": 698144.5, + "out": 9142.5, + "minutes": 2.145, + "k": 18.0, + "w5": 0.0, + "w1h": 44982.5 + }, + { + "version": "10.27.2", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.316", + "reviewers": "-", + "layer": "conductor", + "role": "-", + "agent_type": "-", + "count": 2, + "cost": 600520.675, + "context": 3672113.5, + "out": 12184.0, + "minutes": 89.11565000017484, + "p": 49121.0, + "k": 33.5, + "w5": 0.0, + "w1h": 182525.0, + "rewrites": 2, + "rewrites_after_5m": 2, + "rewrites_untimed": 0, + "rewrite_tokens": 181424, + "rewrite_tokens_after_5m": 181424, + "read_tokens_after_5m": 423463, + "rewrite_gap_median": 95.13685833215713 + }, + { + "version": "10.27.2", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.316", + "reviewers": "-", + "layer": "supervisor", + "role": "judge", + "agent_type": "claude -p", + "count": 3, + "cost": 24596.333333333332, + "context": 11345.0, + "out": 381.6666666666667, + "minutes": 0.11722222222222224, + "k": 1.0, + "w5": 0.0, + "w1h": 11343.0 + }, + { + "version": "10.27.2", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.316", + "reviewers": "-", + "layer": "supervisor", + "role": "mvv", + "agent_type": "claude -p", + "count": 2, + "cost": 59013.775, + "context": 26660.0, + "out": 1250.5, + "minutes": 0.24666666666666667, + "k": 1.0, + "w5": 0.0, + "w1h": 26372.5 + }, + { + "version": "10.27.2", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.316", + "reviewers": "-", + "layer": "supervisor", + "role": "pr", + "agent_type": "claude -p", + "count": 5, + "cost": 17983.6, + "context": 5823.0, + "out": 1467.6, + "minutes": 0.25033333333333335, + "k": 1.0, + "w5": 0.0, + "w1h": 5309.0 + }, + { + "version": "10.27.2", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.316", + "reviewers": "-", + "layer": "supervisor", + "role": "slow", + "agent_type": "claude -p", + "count": 4, + "cost": 8516.4625, + "context": 4419.0, + "out": 366.75, + "minutes": 0.13375, + "k": 1.0, + "w5": 0.0, + "w1h": 3312.75 + }, + { + "version": "10.27.2", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.316", + "reviewers": "-", + "layer": "supervisor", + "role": "その他", + "agent_type": "ndf:worker", + "count": 1, + "cost": 450012.5, + "context": 2551384.0, + "out": 14241.0, + "minutes": 19.23748333454132, + "p": 38247.0, + "k": 31.0, + "w5": 209313.0, + "w1h": 0.0, + "rewrites": 1, + "rewrites_after_5m": 1, + "rewrites_untimed": 0, + "rewrite_tokens": 104205, + "rewrite_tokens_after_5m": 104205, + "read_tokens_after_5m": 0, + "rewrite_gap_median": 15.63755000034968 + }, + { + "version": "10.27.2", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.316", + "reviewers": "-", + "layer": "worker", + "role": "work", + "agent_type": "claude -p", + "count": 16, + "cost": 99862.728125, + "context": 571362.5625, + "out": 4972.125, + "minutes": 8.454791666666667, + "k": 10.9375, + "w5": 0.0, + "w1h": 23802.125 + }, + { + "version": "10.27.2", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.316", + "reviewers": "claude+codex", + "layer": "conductor", + "role": "-", + "agent_type": "-", + "count": 1, + "cost": 1118319.2000000002, + "context": 11620328.0, + "out": 40406.0, + "minutes": 106.72280000448227, + "p": 44391.0, + "k": 75.0, + "w5": 0.0, + "w1h": 171850.0, + "rewrites": 0, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 0, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 738193, + "rewrite_gap_median": null + }, + { + "version": "10.27.2", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.316", + "reviewers": "claude+codex", + "layer": "supervisor", + "role": "judge", + "agent_type": "claude -p", + "count": 1, + "cost": 28407.0, + "context": 13472.0, + "out": 293.0, + "minutes": 0.08833333333333333, + "k": 1.0, + "w5": 0.0, + "w1h": 13470.0 + }, + { + "version": "10.27.2", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.316", + "reviewers": "claude+codex", + "layer": "supervisor", + "role": "mvv", + "agent_type": "claude -p", + "count": 1, + "cost": 62707.0, + "context": 27107.0, + "out": 1699.0, + "minutes": 0.3266666666666667, + "k": 1.0, + "w5": 0.0, + "w1h": 27105.0 + }, + { + "version": "10.27.2", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.316", + "reviewers": "claude+codex", + "layer": "supervisor", + "role": "仕上げ", + "agent_type": "ndf:supervisor", + "count": 1, + "cost": 1771812.2999999998, + "context": 16487500.0, + "out": 77314.0, + "minutes": 28.592616665363312, + "p": 48561.0, + "k": 101.0, + "w5": 467220.0, + "w1h": 0.0, + "rewrites": 1, + "rewrites_after_5m": 1, + "rewrites_untimed": 0, + "rewrite_tokens": 204077, + "rewrite_tokens_after_5m": 204077, + "read_tokens_after_5m": 0, + "rewrite_gap_median": 6.266050000985463 + }, + { + "version": "10.27.2", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.316", + "reviewers": "claude+codex", + "layer": "supervisor", + "role": "取り込み", + "agent_type": "ndf:supervisor", + "count": 1, + "cost": 836314.9000000001, + "context": 6528538.0, + "out": 22279.0, + "minutes": 25.300700000921886, + "p": 48517.0, + "k": 47.0, + "w5": 331992.0, + "w1h": 0.0, + "rewrites": 1, + "rewrites_after_5m": 1, + "rewrites_untimed": 0, + "rewrite_tokens": 155734, + "rewrite_tokens_after_5m": 155734, + "read_tokens_after_5m": 0, + "rewrite_gap_median": 13.055133334795634 + }, + { + "version": "10.27.2", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.316", + "reviewers": "claude+codex", + "layer": "worker", + "role": "work", + "agent_type": "claude -p", + "count": 6, + "cost": 132861.46666666667, + "context": 546493.5, + "out": 7137.833333333333, + "minutes": 1.365, + "k": 15.666666666666666, + "w5": 0.0, + "w1h": 35805.166666666664 + }, + { + "version": "10.27.2", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.316", + "reviewers": "claude+codex", + "layer": "worker", + "role": "その他", + "agent_type": "ndf:worker", + "count": 5, + "cost": 490087.9600000001, + "context": 3950028.4, + "out": 29225.0, + "minutes": 7.365150000254314, + "p": 38781.4, + "k": 38.2, + "w5": 121990.8, + "w1h": 0.0, + "rewrites": 0, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 0, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 0, + "rewrite_gap_median": null + }, + { + "version": "10.27.2", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.316", + "reviewers": "claude+codex", + "layer": "worker", + "role": "修正", + "agent_type": "ndf:worker", + "count": 2, + "cost": 602321.25, + "context": 5245428.0, + "out": 35602.5, + "minutes": 6.966233330965042, + "p": 38932.5, + "k": 46.0, + "w5": 134957.5, + "w1h": 0.0, + "rewrites": 0, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 0, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 0, + "rewrite_gap_median": null + }, + { + "version": "10.27.3", + "mode": "standard", + "model": "claude-opus-5-5", + "cc": "2.1.316", + "reviewers": "-", + "layer": "conductor", + "role": "-", + "agent_type": "-", + "count": 4, + "cost": 684303.8999999999, + "context": 4618756.75, + "out": 36107.0, + "minutes": 9.560062499841054, + "p": 58786.75, + "k": 34.5, + "w5": 0.0, + "w1h": 139879.75, + "rewrites": 0, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 0, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 82689, + "rewrite_gap_median": null + }, + { + "version": "10.27.3", + "mode": "standard", + "model": "claude-opus-5-5", + "cc": "2.1.316", + "reviewers": "-", + "layer": "supervisor", + "role": "judge", + "agent_type": "claude -p", + "count": 1, + "cost": 28059.0, + "context": 13498.0, + "out": 213.0, + "minutes": 0.060000000000000005, + "k": 1.0, + "w5": 0.0, + "w1h": 13496.0 + }, + { + "version": "10.27.3", + "mode": "standard", + "model": "claude-opus-5-5", + "cc": "2.1.316", + "reviewers": "-", + "layer": "supervisor", + "role": "pr", + "agent_type": "claude -p", + "count": 2, + "cost": 12860.6, + "context": 4988.0, + "out": 777.0, + "minutes": 0.16416666666666666, + "k": 1.0, + "w5": 0.0, + "w1h": 4474.0 + }, + { + "version": "10.27.3", + "mode": "standard", + "model": "claude-opus-5-5", + "cc": "2.1.316", + "reviewers": "-", + "layer": "worker", + "role": "work", + "agent_type": "claude -p", + "count": 2, + "cost": 41913.125, + "context": 171739.5, + "out": 1883.5, + "minutes": 2.6599999999999997, + "k": 6.0, + "w5": 0.0, + "w1h": 12255.0 + }, + { + "version": "10.27.3", + "mode": "standard", + "model": "claude-opus-5-5", + "cc": "2.1.316", + "reviewers": "codex", + "layer": "conductor", + "role": "-", + "agent_type": "-", + "count": 1, + "cost": 1299527.0, + "context": 12898070.0, + "out": 60076.0, + "minutes": 179.26763333082198, + "p": 44736.0, + "k": 89.0, + "w5": 0.0, + "w1h": 181562.0, + "rewrites": 0, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 0, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 1092386, + "rewrite_gap_median": null + }, + { + "version": "10.27.3", + "mode": "standard", + "model": "claude-opus-5-5", + "cc": "2.1.316", + "reviewers": "codex", + "layer": "supervisor", + "role": "pr", + "agent_type": "claude -p", + "count": 2, + "cost": 20413.6, + "context": 6182.0, + "out": 1810.0, + "minutes": 0.2916666666666667, + "k": 1.0, + "w5": 0.0, + "w1h": 5668.0 + }, + { + "version": "10.27.3", + "mode": "standard", + "model": "claude-opus-5-5", + "cc": "2.1.316", + "reviewers": "codex", + "layer": "worker", + "role": "work", + "agent_type": "claude -p", + "count": 9, + "cost": 306336.85000000003, + "context": 2429295.777777778, + "out": 14102.444444444445, + "minutes": 13.691296296296294, + "k": 24.444444444444443, + "w5": 0.0, + "w1h": 58623.444444444445 + }, + { + "version": "10.27.3", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.316", + "reviewers": "-", + "layer": "conductor", + "role": "-", + "agent_type": "-", + "count": 3, + "cost": 386492.45, + "context": 2466716.0, + "out": 15934.666666666666, + "minutes": 4.183566665649414, + "p": 62678.666666666664, + "k": 25.666666666666668, + "w5": 0.0, + "w1h": 94069.0, + "rewrites": 0, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 0, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 0, + "rewrite_gap_median": null + }, + { + "version": "10.27.3", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.316", + "reviewers": "-", + "layer": "supervisor", + "role": "pr", + "agent_type": "claude -p", + "count": 1, + "cost": 12412.0, + "context": 4857.0, + "out": 540.0, + "minutes": 0.12666666666666665, + "k": 1.0, + "w5": 0.0, + "w1h": 4855.0 + } + ], + "external": [ + { + "version": "10.27.2", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.316", + "reviewers": "claude+codex", + "runtime": "claude", + "skill": "cross-review", + "cli_model": "claude-opus-5-5", + "count": 1, + "context": 1051708.0, + "out": 10682.0, + "cost": 261353.0, + "minutes": 2.5858500003814697, + "p": 29559.0, + "k": 17.0, + "w5": 0.0, + "w1h": 79654.0, + "rewrites": 0, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 0, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 0, + "rewrite_gap_median": null, + "call_seats": 1 + }, + { + "version": "10.27.2", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.316", + "reviewers": "claude+codex", + "runtime": "codex", + "skill": "cross-review", + "cli_model": "gpt-6.1-sol", + "count": 1, + "input": 1462304.0, + "cached": 1344640.0, + "out": 7772.0, + "minutes": 3.431533332665761, + "p": 27263.0, + "k": 17.0, + "rewrites": 0, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 0, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 0, + "rewrite_gap_median": null, + "call_seats": 1 + }, + { + "version": "10.27.3", + "mode": "standard", + "model": "claude-opus-5-5", + "cc": "2.1.316", + "reviewers": "codex", + "runtime": "codex", + "skill": "cross-review", + "cli_model": "gpt-6.1-sol", + "count": 1, + "input": 2544513.0, + "cached": 2378496.0, + "out": 6689.0, + "minutes": 3.2293999989827475, + "p": 26935.0, + "k": 22.0, + "rewrites": 0, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 0, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 0, + "rewrite_gap_median": null, + "call_seats": 1 + } + ], + "meta": { + "by": [ + "version", + "mode", + "model", + "cc", + "reviewers" + ], + "min_version": "10.27.2", + "until": "2026-10-31T18:35:00Z", + "sessions": 15, + "sessions_with_pr": 1, + "unlinked_external": 2933, + "unlinked_ledger": 0, + "skipped": { + "ndf の Skill が無い": 614, + "版を判定できない": 19 + }, + "released": "10.27.4", + "previous": "2026-10-31-3.json" + } +} diff --git a/docs/metrics/ndf-token-usage/2026-10-31-4.md b/docs/metrics/ndf-token-usage/2026-10-31-4.md new file mode 100644 index 000000000..d76af9063 --- /dev/null +++ b/docs/metrics/ndf-token-usage/2026-10-31-4.md @@ -0,0 +1,117 @@ +# ndf の版ごとのトークン消費と所要時間(2026-10-31 集計・10.27.4 の配布) + +**10.27.4 を正式版として出したときの記録である。** 打ち切りの時刻は `2026-10-31T18:35:00Z`。表の最初の行は 10.27.2(前の記録: 2026-10-31-3.md)。既定では前の記録の最後の版で、記録どうしが 1 行ずつ重なる。生の記録・会話の本文・リポジトリ名・会話の ID は残していない。集計した日時点の記録で、以後の記録の増減には追随しない。 + +## 作り方 + +同じ打ち切りの時刻で走らせ直すと、記録が残っている間は同じ `.json` ができる。ただし kiro の記録はターンに時刻を持たないため、打ち切りをまたいで進行中だった席は credit が変わりうる。 + +```bash +python3 scripts/token-usage-snapshot.py --released 10.27.4 --until 2026-10-31T18:35:00Z --min-version 10.27.2 +python3 scripts/token-usage.py --min-version 10.27.2 --until 2026-10-31T18:35:00Z --by version # 末尾の「集計の出力」 +``` + +## 比べるときの注意 + +- **PR を作った会話が 2 件以下の版:** 10.27.2(1 件)。作業の中身の違いが版の違いより大きい +- **CHANGELOG.md にあって表に出ない版:** 10.27.3, 10.27.4。その版で始めた PR つきの会話が無い(会話の版は最初に読んだ版で決まる) +- **打ち切りの 30 分前以降にも行がある会話を含む版:** 10.27.2, 10.27.3。進行中だった会話は、値が打ち切りの時刻までの分である + +## 版ごとの差(PR 1 本あたり) + +換算の合計は conductor・supervisor・worker の換算の和。前の版との差は、表の 1 つ上の行との比である。±30% を超えた版を下の「読み取り」で扱う。 + +| ndf の版 | 会話 | PR | 換算の合計 | 前の版との差 | conductor | supervisor | worker | 入力 | 所要 | codex 入力 | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +| 10.27.2 | 1 | 1 | 8.27M | - | 1.12M | 2.70M | 4.45M | 68.20M | 106.7 | 1.46M | + +## 版と層ごとの呼び出しとキャッシュ(1 起動あたり) + +P と k と書き込みは 1 起動あたり、書き直しとうち 5 分超は合計の回数である。 + +| ndf の版 | 層 | 起動 | P | k | 書き込み 5 分 | 書き込み 1 時間 | 書き直し | うち 5 分超 | 1 起動あたりの書き直し | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +| 10.27.2 | conductor | 7 | 53.0k | 41.4 | 0.00M | 0.16M | 2 | 2 | 0.29 | +| 10.27.2 | supervisor | 21 | 45.1k | 9.4 | 0.05M | 0.01M | 3 | 3 | 1.00 | +| 10.27.2 | worker | 31 | 38.8k | 19.0 | 0.03M | 0.02M | 0 | 0 | 0.00 | +| 10.27.3 | conductor | 8 | 58.5k | 38.0 | 0.00M | 0.13M | 0 | 0 | 0.00 | +| 10.27.3 | supervisor | 6 | - | 1.0 | 0.00M | 0.01M | - | - | - | +| 10.27.3 | worker | 11 | - | 21.1 | 0.00M | 0.05M | - | - | - | + +## 読み取り + +差の大きい版は無い(すべて ±30% の内)。読み取りは要らない。 + +## 集計の出力 + +対象の会話: 15 件 / PR を作った会話: 1 件 / 寄せ先の無い外部 CLI: 2933 件 / 寄せ先の無い帳簿の行: 0 件 + +換算は input を 1 とした費用(cache read はモデル別: claude-opus-5-5 0.05 / claude-fable-5-1 0.025 / 他 0.1。cache write 5 分 1.25・1 時間 2 / output 5)。入力は input + cache read + cache write。所要は分。 + +### PR 1 本あたり + +| 動いた版 | 会話 | PR | conductor 換算 | supervisor 換算 | worker 換算 | 入力 | 出力 | 所要 | codex 入力 | codex 出力 | kiro credit | claude 席 換算 | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +| 10.27.2 | 1 | 1 | 1.12M | 2.70M | 4.45M | 68.20M | 402.1k | 106.7 | 1.46M | 7.8k | 0.00 | 0.26M | + +### フェーズごと(1 起動あたり) + +| 動いた版 | 層 | フェーズ | 定義 | 起動 | 換算 | 入力 | 出力 | 所要 | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | +| 10.27.2 | conductor | - | - | 7 | 0.72M | 5.29M | 30.1k | 44.8 | +| 10.27.2 | supervisor | judge | claude -p | 4 | 0.03M | 0.01M | 0.4k | 0.1 | +| 10.27.2 | supervisor | mvv | claude -p | 3 | 0.06M | 0.03M | 1.4k | 0.3 | +| 10.27.2 | supervisor | pr | claude -p | 7 | 0.02M | 0.01M | 1.3k | 0.2 | +| 10.27.2 | supervisor | slow | claude -p | 4 | 0.01M | 0.00M | 0.4k | 0.1 | +| 10.27.2 | supervisor | その他 | ndf:worker | 1 | 0.45M | 2.55M | 14.2k | 19.2 | +| 10.27.2 | supervisor | 仕上げ | ndf:supervisor | 1 | 1.77M | 16.49M | 77.3k | 28.6 | +| 10.27.2 | supervisor | 取り込み | ndf:supervisor | 1 | 0.84M | 6.53M | 22.3k | 25.3 | +| 10.27.2 | worker | work | claude -p | 24 | 0.11M | 0.58M | 5.9k | 6.2 | +| 10.27.2 | worker | その他 | ndf:worker | 5 | 0.49M | 3.95M | 29.2k | 7.4 | +| 10.27.2 | worker | 修正 | ndf:worker | 2 | 0.60M | 5.25M | 35.6k | 7.0 | +| 10.27.3 | conductor | - | - | 8 | 0.65M | 4.85M | 31.5k | 28.8 | +| 10.27.3 | supervisor | judge | claude -p | 1 | 0.03M | 0.01M | 0.2k | 0.1 | +| 10.27.3 | supervisor | pr | claude -p | 5 | 0.02M | 0.01M | 1.1k | 0.2 | +| 10.27.3 | worker | work | claude -p | 11 | 0.26M | 2.02M | 11.9k | 11.7 | + +### フェーズごとの呼び出しとキャッシュ + +P は起動ごとの固定費(最初の呼び出しの文脈)、k は呼び出し回数(どちらも 1 起動あたり)。書き直しは 2 回目以降の呼び出しのうち、書き込みが文脈の 50% を超え、かつ 20k を超えたものの回数(合計)。5 分超はそのうち直前の呼び出しとの間隔が 5 分を超えた回数、間隔は直前の間隔の中央値(分)。5 分超の書き直し・読み込みは、直前の間隔が 5 分を超えた呼び出しの書き直しの量と、書き直しでない呼び出しの読み込みの量(どちらも合計)。定義はサブエージェントの定義の名前。 + +| 動いた版 | 層 | フェーズ | 定義 | 起動 | P | k | 書き込み 5 分 | 書き込み 1 時間 | 書き直し | 5 分超 | 5 分超の書き直し | 5 分超の読み込み | 間隔 | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +| 10.27.2 | conductor | - | - | 7 | 53.0k | 41.4 | 0.00M | 0.16M | 2 | 2 | 0.18M | 1.16M | 95.1 | +| 10.27.2 | supervisor | judge | claude -p | 4 | - | 1.0 | 0.00M | 0.01M | - | - | - | - | - | +| 10.27.2 | supervisor | mvv | claude -p | 3 | - | 1.0 | 0.00M | 0.03M | - | - | - | - | - | +| 10.27.2 | supervisor | pr | claude -p | 7 | - | 1.0 | 0.00M | 0.01M | - | - | - | - | - | +| 10.27.2 | supervisor | slow | claude -p | 4 | - | 1.0 | 0.00M | 0.00M | - | - | - | - | - | +| 10.27.2 | supervisor | その他 | ndf:worker | 1 | 38.2k | 31.0 | 0.21M | 0.00M | 1 | 1 | 0.10M | 0.00M | 15.6 | +| 10.27.2 | supervisor | 仕上げ | ndf:supervisor | 1 | 48.6k | 101.0 | 0.47M | 0.00M | 1 | 1 | 0.20M | 0.00M | 6.3 | +| 10.27.2 | supervisor | 取り込み | ndf:supervisor | 1 | 48.5k | 47.0 | 0.33M | 0.00M | 1 | 1 | 0.16M | 0.00M | 13.1 | +| 10.27.2 | worker | work | claude -p | 24 | - | 12.7 | 0.00M | 0.03M | - | - | - | - | - | +| 10.27.2 | worker | その他 | ndf:worker | 5 | 38.8k | 38.2 | 0.12M | 0.00M | 0 | 0 | 0.00M | 0.00M | - | +| 10.27.2 | worker | 修正 | ndf:worker | 2 | 38.9k | 46.0 | 0.13M | 0.00M | 0 | 0 | 0.00M | 0.00M | - | +| 10.27.3 | conductor | - | - | 8 | 58.5k | 38.0 | 0.00M | 0.13M | 0 | 0 | 0.00M | 1.18M | - | +| 10.27.3 | supervisor | judge | claude -p | 1 | - | 1.0 | 0.00M | 0.01M | - | - | - | - | - | +| 10.27.3 | supervisor | pr | claude -p | 5 | - | 1.0 | 0.00M | 0.01M | - | - | - | - | - | +| 10.27.3 | worker | work | claude -p | 11 | - | 21.1 | 0.00M | 0.05M | - | - | - | - | - | + +### 外部 CLI(1 起動あたり) + +kiro はトークン数を記録しない(値が 0)ため credit だけを載せる。agy は読まない。 + +| 動いた版 | ランタイム | Skill | モデル | 起動 | 入力 | cache | 出力 | credit | 所要 | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +| 10.27.2 | claude | cross-review | claude-opus-5-5 | 1 | 1.05M | 0.00M | 10.7k | 0.00 | 2.6 | +| 10.27.2 | codex | cross-review | gpt-6.1-sol | 1 | 1.46M | 1.34M | 7.8k | 0.00 | 3.4 | +| 10.27.3 | codex | cross-review | gpt-6.1-sol | 1 | 2.54M | 2.38M | 6.7k | 0.00 | 3.2 | + +### 外部 CLI の呼び出しとキャッシュ(1 起動あたり) + +codex は input のうち cached に当たらなかった分を書き込みとみなし、呼び出しごとの値(last_token_usage)を持つ席だけで数える。kiro は呼び出し回数を記録しない(利用者のターン数は JSON の turns)。取れない値は -。 + +| 動いた版 | ランタイム | Skill | モデル | 起動 | P | k | 書き直し | 5 分超 | 5 分超の書き直し | 5 分超の読み込み | 間隔 | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +| 10.27.2 | claude | cross-review | claude-opus-5-5 | 1 | 29.6k | 17.0 | 0 | 0 | 0.00M | 0.00M | - | +| 10.27.2 | codex | cross-review | gpt-6.1-sol | 1 | 27.3k | 17.0 | 0 | 0 | 0.00M | 0.00M | - | +| 10.27.3 | codex | cross-review | gpt-6.1-sol | 1 | 26.9k | 22.0 | 0 | 0 | 0.00M | 0.00M | - |