Skip to content

Release: ndf v10.20.0 を main へ - #2110

Merged
takemi-ohama merged 80 commits into
mainfrom
develop
Oct 25, 2026
Merged

takemi-ohama merged 80 commits into
mainfrom
develop

Conversation

@takemi-ohama

Copy link
Copy Markdown
Contributor

ndf v10.20.0 を main へ出す(開発版の PR #2109)。

🤖 Generated with Claude Code

takemi-ohama and others added 30 commits October 19, 2026 00:09
散文の「Skill」を、5 ページ目「スキルとプラグイン」の公式の 2 語に合わせて
「スキル」へ揃えた(台本・構成メモ・生成スクリプト)。公式ドキュメントの題名
(Claude Code: Skills・Codex: Skills・Agent Skills)と「スキル(Skill)」の
対訳は変えていない。尺の表は script-time.js の出力に合わせた。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SyiLCs8wNrE2PKfeeqZDyT
Docs: 発表資料の表記を「スキル」へ揃える (#2065)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Docs: #2065 の設計を確定仕様 ndf-slide-generation.md にする
document-restructuring を出力の形(5)と文書の目的(10)の参照で組み直す設計。
共通項 9 行、文書系 Skill の表、#469 の重なりの正本、#2080 の鍵の語の確かめ方の置き場を決める。
決定 1〜4 は利用者が関門 1 で選ぶ(推奨の側で書いた)。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SunQhEyqfi7eyHZz2zumgy
- I2: 当たる参照が無いときはその場で並び・目安を決めて記録し続ける(E4・受け入れ条件 9)
- I7: 戻り禁止を目安超過の掛け直しに限り、I4・I5 の修復の戻りを先に効かせる
- 用語集の「手順」を document-restructuring の手順 0〜4 に合わせる

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…いようにする

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- document-restructuring → document-rebuild、markdown-writing → document-style へ改名し、
  他の文書系 Skill をスラッシュコマンドの一覧から外す(決定 10、受け入れ条件 25・26)
- パスの規則を「表示先でリンクとして認識される形で書く」にし、共通ルール K10 へ移す(受け入れ条件 27)
- 訳語・造語を流通している語へ置き換える(鍵の語→キーワード、出力の形→文書形式、共通項→共通ルール、
  形の参照→形式別ガイド、目的の参照→目的別ガイド)。キーワードの確かめを全文書へ広げる(受け入れ条件 28)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SunQhEyqfi7eyHZz2zumgy
document-rebuild: 文書形式と目的に合わせて組み直し、読み手が理解し納得できるかを確かめる(#2086)
手順 0(形式・目的・言語を決める)と読み手役の確かめを足し、構成と目安を
形式別ガイド 5 本・目的別ガイド 10 本へ出した。共通ルール・文書系 Skill の表・
キーワードの確かめ方を参照に置き、markdown-writing にルール 12(パス・URL を
表示先でリンクとして認識される形で書く)を足した。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
document-drafting の手順 4 で組み直しを掛け、form-slide.md からキーワードの確かめを
指し、layout-slide.md の重なっていた行を form-slide.md を指す 1 行にした。設計文書と
承認資料の題の決まりを format-markdown.md の題の付け方へ寄せ、工程表に markdown-writing
が掛かることを書いた。AUTHORING.md に「工程から呼ぶ専用」の分類を足し、frontmatter の
検査がその description を受け入れるようにした。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…cument-style へ改名し、他の文書系 Skill をスラッシュコマンドの一覧から外す(#2086 #469)

ディレクトリ・name・manifests/*-skills.txt・plugin.json・dev.agy/skills のリンク・参照する
ファイル・工程表・テストを新しい名前へそろえた(確定仕様・過去の記録・CHANGELOG の過去の
版の行は変えない。確定仕様のリンク切れ 1 件だけはパスを直した)。document-drafting・
document-sources・document-systems・document-style に user-invocable: false を付け、
description に工程と AI から呼ぶことを書いた。用語集に「読み手役」を足した。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
`--loop` で棚卸しの順位から次のスプリントを機械で選び、レッドラインと止まる条件のときだけ止まる設計。
ループの記録は sprint-state.py loop の副命令と lib/sprint_loop.py が持ち、new close に --pace auto を足す。
外部の一次情報はこの実行で WebSearch・WebFetch が許可されず未確認(受け入れ条件 20 は未達)。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
シーケンス図に残った終了コード 4 を 3 に、loop sprint の 1 と 3 の矛盾を 3 に揃えた。
ゲート 1 で全件が外れたときは周回を締めて次へ進む形に表を揃え、ゲート 2 の承認後に本番を --from bump で続ける手順を足した。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ページの文言と章立ての正本は form-slide.md(決定 8)、題は「<対象>: <直すと何ができるようになるか>」の形(決定 12)。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
外部の動向を出典と取り入れる・取り入れない考え方で書き直し、
/goal の評価役が出力だけで判定することから決定 12 を足す。
決定 5・8 に一次情報の根拠を足し、未確認から外部の一次情報を外す。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Cv7PofSsxrZoF8XeXh8b7T
決定の記録と外部の動向を機能一覧の直後へ移し、外部の動向の中は位置付け → 取り入れる → 取り入れない → 出典の順にする。
100 字を超える文を分け、採らなかった案・再開の解け方・選定の候補の列挙を表と入れ子の並びへ移す。内容は変えない。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Cv7PofSsxrZoF8XeXh8b7T
- I3 に周回の途中で止まる 3 つ(gate2_returned・mvv_changed・refused)の例外を明記
- same_failure の数え直しの区切りを最後の再開(stops の resumed_at)にする
- 経過時間を動いていた時間(周回の和から止まっていた時間を引く)で数える
- 選定の除外に差し戻しとマージ待ちの approved を足し、PR の状態を I4 の入力にする
- loop sprint がまとめのステージを組んで周回のキューへつなぎ、pipeline を出す。--record-pr の出所を明記

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
#2086 を実装する(スプリント s2086)
takemi-ohama and others added 24 commits October 24, 2026 21:56
…ARMO

test_supervise.py の CARMO_PROJECT の読み込みの後に空行を 1 行足し、ruff format の違反を直した。

Item-Id: I-010
Impl-Runtime: claude
Impl-Model: default
…se_services

compose_services の抽出で measure_repo.py が 517 行になり、構造検査の 500 行を超えた。
compose の services の解析(compose_services とその補助 3 つ)を新しいモジュール
project_lib/compose.py へそのまま移し、measure_repo.py は読み込んで使う(475 行)。
measure_repo.compose_services の名前と振る舞いは変えていない。

Item-Id: I-009
Impl-Runtime: claude
Impl-Model: default
…e_included.py#make_world

test_release_included.py と test_release_range.py の make_world に重複していた前半
(bare の origin と seed の作成、git の利用者、.ndf/worktree.json・.ndf/supervise.json の書き出し)を
tests/release_repo.py の seed_release_repo(tmp_path) -> (origin, seed) へ抽出し、両方から呼ぶ。
続きの固有の初期化はそれぞれに残す。

Item-Id: I-011
Impl-Runtime: claude
Impl-Model: claude-opus-5-5
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
「command も scope_command も持つ suite が 1 つも無い」は「両方を持つ suite が無い」とも読め、
command だけの suite を持つ宣言まで None にする実装を許していた。設計文書の用語の表・判定の順の表と
用語集を「どの suite も command と scope_command のどちらも持たない(suite が 0 個のときを含む)」へ直す。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ript_agents.py#test_every_record_carries_the_eleven_columns

行の 11 個の鍵の集合が test_transcript_agents.py と skill-stats/tests/test_agents_report.py に
重複していたため、テスト側の共有ヘルパ transcript_agents_rows.py の ROW_KEYS へ移した。
期待値は本体の ROW_KEYS を参照せずリテラルのまま持つ(参照すると同語反復になるため)。

Item-Id: I-012
Impl-Runtime: claude
Impl-Model: claude-opus-5-5
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
エッセイ・小説で文長の目安や対比の表化が document-style の適用で覆されないよう、
手順 3 と related-skills.md に優先の順を書く(PR #2092 round 1 の codex の指摘)。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
レビュー指摘(PR #2092 round 2)への対応。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
手順 4 と document-rebuild の手順 3 で同じセルフチェックが 2 回走っていた(PR #2092 round 3)。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
development-workflow: 1 スプリントの振り返りと棚卸しで止まり、次のスプリントを人が選んで起動し直す → `--loop` で、棚卸しの順位から次のスプリントを機械で選び、レッドラインと止まる条件のときだけ止まって周回を続ける(#2089)
pace: normal のスプリントでは承認ゲート 2 の後に conductor が本番のプランを手で作り、作る前にキューを打って空振りする → new sprint が承認ゲート 2 と本番のステージまで書き出し、承認の後は目録のコマンドを打つだけで本番が流れる(#1914)
配布: fast / auto の昇格で、導入の確認の後にベースブランチが進むと、確かめていないコミットが本番チャネルへ入る → 確かめたコミットのときだけマージし、違えば承認ゲート 2 へ戻る(#1529)
CI もテストも無いリポジトリで、収束した cross-review が最終スイープの手前で終了コード 2 で止まり、検査のプランが毎回止まる → テストの無い宣言では検証のコマンドを名指しせずに最終スイープへ進み、止まったときは元の終了コードと理由が報告の 1 行に出る(#1593)
stage-notes.md が手順を旧来の「4 つ」と書き、SKILL.md と用語集は「5 つ」と書いていた。
数は手順を足すたびに追いかける必要があるため、手順の名前の並びだけで書く。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AkaE21UH1nKXQjdCTRCtTq
document-rebuild: 手順の数を書かず、名前の並びで書いて食い違いを無くす(#2086)
@takemi-ohama
takemi-ohama merged commit 58e8ee5 into main Oct 25, 2026
40 checks passed
@takemi-ohama

Copy link
Copy Markdown
Contributor Author

振り返り(2026-10-25)

対象: issue #2086(#2083・#2080・#469 を含む)/ 設計 PR #2088・実装 PR #2090・検査 PR #2092・即時修正 PR #2106・配布 PR #2109

document-restructuring を document-rebuild に改名し、文書形式(5 つ)と文書の目的ごとの参照ファイル・共通ルール・キーワードの確かめ・文脈を持たない読み手役の確かめを足した。markdown-writing を document-style に改名し、文書系の 4 つの Skill をスラッシュコマンドの一覧から外した。v10.20.0 として本番へ出し、確定仕様は docs/specifications/ndf-document-rebuild.md(PR #2112)に置いた。

何が起きたか

観点 事実
受け入れ条件 21 件で始め、利用者の指摘で 30 件になった。2026-10-24 に改名・一覧から外す・訳語と造語の置き換え・読み手役(25〜29)、2026-10-25 に題の形(30)。足したのはすべて承認ゲート 1 の前後で、設計の決定 10〜12 に入れた
手戻り(レビュー) 設計 PR #2088 は cross-review 2 ラウンド(修正 2 回)。検査 PR #2092 は 4 ラウンド(修正 3 回)で収束
手戻り(プラン) 検査の cross-refactoring が 3 回目で通った。1 回目は着手前テストの 180 秒の上限、2 回目は持ち時間 30 分に着手前テスト 370 秒が収まらず止まった。merge-gate の手動確認で 2 回止まり、conductor が確かめて進めた
手戻り(承認ゲート 2) 開発版 10.20.0-dev.1 で承認を得た後、別の設計 PR 3 本が develop へ入り承認の外になった。利用者の質問で stage-notes.md の「4 つの手順」の書き漏れが見つかり、即時修正(PR #2106、数を持たない書き方へ)→ 開発版 10.20.0-dev.2 → 承認の取り直し、と進めた
見落とし リリース後テストで、受け入れ条件 10(未決の問いがある提案書の冒頭の章が type-proposal.md と食い違う)が不合格。実装 PR #2090 の本文に「design-tests が止まった、詳細は確認が必要」が残ったままマージされていた(原因は、設計文書が改名前のテスト名を持っていたこと)
範囲 他の課題 3 件(#2083・#2080・#469)を受け入れ条件の行として取り込んだ。発表資料の「hook」(公式は「フック」)は、発表日時点の記録として直さない
工程 課題を閉じる作業を、振り返りの後ではなくリリース後テストの前に行った(引継ぎ文書の「次にやること」の並び)。不合格が出た #2086 は閉じたまま、#2113 で直す(利用者が選んだ)
外部要因 agy 1.4.2 がエージェント定義の model を拒み、pre-push の検証が落ちる(#2087)。回避の包みを PATH の先頭に置いて push した。並行して #2089 のスプリントが同じリポジトリで動き、版数と触るファイルを分けて干渉を避けた

context window の大きさ

skill-stats.py --agents を、このスプリントの conductor の 4 セッションで打った値。claude -p で動いたプランの worker は含まない。

層 フェーズ モデル 件数 固定費の中央値 実作業の中央値 実作業 < 固定費 最大充填の最大 目印
conductor - claude-opus-5-5 4 45774 131754 0 324391 割る候補
supervisor その他 claude-opus-5-5 4 37372 65024 0 114490
層 件数 固定費の合計 実作業の合計 総消費
conductor 4 184365 628598 812963
supervisor 4 150007 249989 399996
合計 8 334372 878587 1212959
  • conductor の 割る候補: そのまま。最大充填 324391 は最初のセッション(設計から承認ゲート 1 まで、505 分)で、カットポイントで会話を切った後のセッションは 133570〜211990 に収まった
  • 「supervisor」の行は、conductor が ndf:worker で起動した単発の作業(照合・試行・確定仕様化)が数えられたもの

用語集の変化

コンテキスト 足した語 廃止した語 意味を変えた語
ndf-document 文書形式・文書の目的・共通ルール・キーワード・確定事項を伝える文書・議論用の文書・形式別ガイド・目的別ガイド・読み手役 — —
ndf-workflow — — 手順(document-rebuild の手順 0〜4 を指すように)

同じ期間に develop へ入った #2089・#1529 などの語は、この表から外した。

承認ゲートの差し戻し

gate-rejections.py count は関門 1・関門 2 とも 0 件。ただし記録に残らない形で、関門 2 を 1 回取り直した(承認の後に承認の外のコミットが入り、利用者の質問で書き漏れが見つかった。上の「手戻り(承認ゲート 2)」)。関門 1 では利用者が読み手役の確かめと PR の題・本文の書き直しを足して承認した。

MVV を見直すか

版 3。覆し 0 件(閾値 3)・判定できない 0 件(閾値 5)・流出不具合 1 件(閾値 3)。利用者の答え: 見直さない(兆候がどれも閾値に届いていないため)。

次に変えること

変えること 落とし先 状態
リリース後テストの前に課題を閉じない(sprint-close.py が最終工程を通っていない課題を止める) progress-tracking の「スプリントを閉じる」と sprint-close.py #2119 として起票
設計で改名を決めたテストで design-tests が止まらず、止まった理由を全文で残す 実装のプランのテンプレート #2118 として起票
読み手役を外部の CLI で立てるときの起動の形を、document-rebuild から辿れるようにする document-rebuild と external-ai #2114 として起票
並べた物の数を本文に書かない(今回の承認の取り直しの原因) document-style #2105 で起票済み。今回の見出しの実例(「発動制御の 5 分類」)を本文に足した

途中で起票した課題

番号 何を見つけたか 見つけた場面
#2087 agy 1.4.2 がエージェント定義の model を拒む 設計 PR の push
#2093 負荷が高いときだけ test_runtime_specific_usage_shapes が落ちる 検査の着手前テスト
#2105 並べた物の数を本文に書くと足し減らしで食い違う 承認ゲート 2 の取り直し
#2113 未決の問いがある提案書の冒頭の章が食い違う(受け入れ条件 10 の不合格) リリース後テスト
#2114 読み手役の起動の形が document-rebuild に無い リリース後テスト(導入版での試行)
#2115 docs/ndf-plugin-reference.md の記述が 4 ランタイムの今の構成と食い違う リリース後テスト(導入版での試行)
#2116 「出力の形」が「文書形式」と並んで残る リリース後テスト
#2118 design-tests が改名したテストで止まり、理由が切れたままマージへ進む 振り返り(取りこぼしの拾い直し)
#2119 sprint-close.py がリリース後テストの前に課題を閉じられる 振り返り

#2079(差し込みが置き換わらないプランのステップが動く)の再発は、起票済みの #2079 の本文に足した。即時修正は PR #2106(数を持たない書き方)と PR #2117(改名の取り残し)。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant