Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
169 commits
Select commit Hold shift + click to select a range
10c3801
Docs: #2399 の要求と受け入れ条件の写しを置く
takemi-ohama Nov 2, 2026
1bd293a
Docs: #2401 の要求と受け入れ条件を書く(リリース後テストで利用者の設定ディレクトリへ導入しない)
takemi-ohama Nov 2, 2026
0acd66b
Docs: #2399 の設計を置く
takemi-ohama Nov 2, 2026
b38ac55
Docs: #2401 の設計を書く(リリース後テストで利用者の設定ディレクトリを変えず、変わったら止まる)
takemi-ohama Nov 2, 2026
1388344
Docs: #2399 の設計文書の長い文を分ける(document-rebuild)
takemi-ohama Nov 2, 2026
de63375
Docs: #2401 の設計文書を組み直す(長い文を分け、図に含めない構成要素を表にする)
takemi-ohama Nov 2, 2026
13cce44
docs(design): 不変条件 I6 から欄が無い起動での正本の節の読み出し失敗を除く (#2399)
takemi-ohama Nov 2, 2026
dda02cd
Docs: #2401 の設計で E7 の受け手を worker の完了時と失敗・保留時に分ける
takemi-ohama Nov 2, 2026
136caca
Docs: #2337 の要求と受け入れ条件の写しを置く
takemi-ohama Nov 2, 2026
57b0fc9
Docs: 設計の結果の食い違いのメッセージの要求と受け入れ条件(#2361)
takemi-ohama Nov 2, 2026
bdcf56c
Docs: 設計の結果の食い違いのメッセージの設計(#2361)
takemi-ohama Nov 2, 2026
3df0339
Docs: 設計の結果の食い違いのメッセージの設計を組み直す(#2361)
takemi-ohama Nov 2, 2026
a9214b7
Docs: #2337 の設計(実行の核と結果の契約)を書く
takemi-ohama Nov 2, 2026
921063b
Docs: #2337 の設計文書を読み手の問う順に組み直す
takemi-ohama Nov 2, 2026
d61feac
Docs: #2337 の設計の不変条件 I3・I12 の条件を実装と食い違わない形にする
takemi-ohama Nov 2, 2026
530c0fb
Docs: #2337 の設計の不変条件 I3・I12 の条件を例外ごと・監視ログの値で書く
takemi-ohama Nov 2, 2026
b73468b
Docs: #2510 の要求と受け入れ条件を書く
takemi-ohama Nov 5, 2026
289a7f4
Docs: #2510 の設計を書く
takemi-ohama Nov 5, 2026
c8d3696
Docs: #2510 の設計文書を組み直す(長い文を分け、構成要素の章に小見出しを立て、仕様の写しをコピーへそろえる)
takemi-ohama Nov 5, 2026
1c0f798
docs(#2510): 出し直しの指摘の履歴の回をループの名前と回数の組で識別する
takemi-ohama Nov 5, 2026
b33cb57
docs(#2510): 出し直しの指摘の入力が持つ回を、いま回っているループの回に限ると定める
takemi-ohama Nov 5, 2026
c4d5f6b
Feat: 設計の承認の答えで承認した設計 PR をマージし、周回の境でマージし直す(#2507)
takemi-ohama Nov 5, 2026
ae96a00
Test: 承認した設計のマージ・周回の境のマージし直し・答えの後の一覧を縛る(#2507)
takemi-ohama Nov 5, 2026
bdc9474
Docs: 承認の答えが設計 PR をマージすることと、答えの後の整理を手順書と確定仕様に書く(#2507)
takemi-ohama Nov 5, 2026
151d694
Fix: 構造と契約の検査を通す(補助関数の改名・起動の本体を 1 つに・parallel.py を 500 行に・answer の --…
takemi-ohama Nov 5, 2026
6bc2ce8
Docs: 承認した設計のマージに合わせ、開発ループの確定仕様・オーガナイザーの役割・判定できないの数え方・受け入れ条件 6 の写しを直す…
takemi-ohama Nov 5, 2026
00115d1
docs: 検査の語に当たる 3 行を今の決まりだけを書く形へ直す
takemi-ohama Nov 5, 2026
edd9823
Merge pull request #2542 from devbasex/feat/issue-2507-lflow2-7
takemi-ohama Nov 5, 2026
371c61a
Test: 現状固定テストを足す — plugins/ndf/scripts/lib/sprint_loop.py#cmd_answer
takemi-ohama Nov 5, 2026
5f1869d
Refactor: extract_method — plugins/ndf/scripts/lib/sprint_loop.py#cmd…
takemi-ohama Nov 5, 2026
a3f90cc
Refactor: centralize_configuration — plugins/ndf/scripts/lib/sprint_l…
takemi-ohama Nov 5, 2026
8e05a97
Refactor: extract_method — plugins/ndf/scripts/lib/parallel_run.py#_R…
takemi-ohama Nov 5, 2026
d3dd017
Fix: 検証の失敗を直す — plugins/ndf/scripts/lib/parallel_run.py#_Run.take
takemi-ohama Nov 5, 2026
e664927
Fix: 承認した設計の問い直しの id・基盤待ちの再実行の上限・前の回答者の扱いを直す(#2507)
takemi-ohama Nov 5, 2026
bdb3c14
Merge remote-tracking branch 'origin/develop' into design/issue-2399
takemi-ohama Nov 5, 2026
8a971db
Merge remote-tracking branch 'origin/develop' into design/issue-2337
takemi-ohama Nov 5, 2026
f99add2
fix(sprint-loop): 利用者へ戻した設計の承認の依頼を MVV 判定で自分で承認しない (#2543)
takemi-ohama Nov 5, 2026
686633c
Fix: 先端の移動で問い直すときに利用者へ戻した印 returned を外す・sprint_loop_gate.py の行数の例外を 6…
takemi-ohama Nov 5, 2026
6eb322e
Merge pull request #2403 from devbasex/design/issue-2399
takemi-ohama Nov 5, 2026
16305ab
Merge pull request #2412 from devbasex/design/issue-2337
takemi-ohama Nov 5, 2026
bbdcf73
Merge remote-tracking branch 'origin/develop' into design/issue-2401
takemi-ohama Nov 5, 2026
1faa4cb
fix(parallel): 続けて答えたとき、受け手が未処理の答え済みの依頼を metrics.after から除く
takemi-ohama Nov 5, 2026
0b42fd3
Merge remote-tracking branch 'origin/develop' into sprint/lflow2-7
takemi-ohama Nov 5, 2026
f6d37ee
Merge pull request #2404 from devbasex/design/issue-2401
takemi-ohama Nov 5, 2026
c1c0312
Merge remote-tracking branch 'origin/develop' into design/issue-2361
takemi-ohama Nov 5, 2026
d90cf16
Merge pull request #2543 from devbasex/sprint/lflow2-7
takemi-ohama Nov 5, 2026
5af677d
Release: ndf v10.27.21-dev.2
takemi-ohama Nov 5, 2026
3087efc
Merge pull request #2544 from devbasex/release/v10.27.21-dev.2
takemi-ohama Nov 5, 2026
144328c
Merge pull request #2410 from devbasex/design/issue-2361
takemi-ohama Nov 5, 2026
cf94aa6
Docs: #2510 の要求に、承認の不着・取り込みでの再送・前のループの承認待ちを足す
takemi-ohama Nov 5, 2026
b783c91
Docs: #2510 の設計に、承認の不着・取り込みでの再送・前のループの承認待ちを足す
takemi-ohama Nov 5, 2026
4ad1182
Docs: #2510 の設計文書を組み直す(データ構造と入出力の契約・決定の記録を別ファイルへ分け、答えの種類ごとの手順を処理の流れの後…
takemi-ohama Nov 5, 2026
e7b62a3
Docs: #2510 の設計で、締めの突き合わせが表を本文へ写すこと・前の依頼の id を判定済みにすること・置き換えた id の答えで…
takemi-ohama Nov 5, 2026
31ad676
Docs: #2510 の設計で、今の依頼への承認を当てずに問い直すときも当たらなかった答えとして 1 回知らせてから判定済みにする
takemi-ohama Nov 5, 2026
82a39ab
test: tmux を使う統括役の結合テスト 4 件を前提のコマンドの一覧で縛る(#2346)
takemi-ohama Nov 5, 2026
0c8e981
test: 擬似端末のテストの待ちが切れたら作業ディレクトリごとの区間の起動とファイルを出す(#2346)
takemi-ohama Nov 5, 2026
4f6d342
ci: テストのジョブで tmux を用意し、項目ごとの結果を JUnit XML の成果物に残す(#2346)
takemi-ohama Nov 5, 2026
76e4f99
docs: 受け入れ条件 32 の変更の範囲に scripts/tests/test_root_conftest.py を加えた写しへ更新…
takemi-ohama Nov 5, 2026
44f6856
Merge pull request #2545 from devbasex/feat/issue-2346-lflow2-8
takemi-ohama Nov 5, 2026
13a62dd
feat: 差分の棚卸しの見積の無い経路を起点より後に作られた課題に絞る(#2315)
takemi-ohama Nov 5, 2026
ed662d2
feat: 差分の棚卸しの行へプランの進行の記録の秒・ドル・言語モデルを写し、中央値を基準と比べる depth compare を足す(#…
takemi-ohama Nov 5, 2026
ea73a7d
feat: まとめのプランの深さの記録のステップへプランの進行の記録と開発ループ・周回を渡す(#2315)
takemi-ohama Nov 5, 2026
8b0333d
docs: 差分の棚卸しの見積の無い経路の絞り込みと depth compare を手順書に書く(#2315)
takemi-ohama Nov 5, 2026
2aecc5c
test: supervise の契約の固定データを、深さの記録のステップの --progress と new close の --loo…
takemi-ohama Nov 5, 2026
c3786e4
fix: 構造の検査に合わせ、upkeep_depth の数の判定を ask_policy と同じ本体の関数にせず、sprint_loop…
takemi-ohama Nov 5, 2026
bae6cd0
docs: 差分の棚卸しの見積の無い経路の絞り込み・depth record の --progress・depth compare・new…
takemi-ohama Nov 5, 2026
c17683b
docs: 開発ループの仕様の引数の表から課題番号を外す
takemi-ohama Nov 5, 2026
0369b07
Merge pull request #2546 from devbasex/feat/issue-2315-lflow2-8
takemi-ohama Nov 5, 2026
49e497a
Merge develop into release/v10.27.21-sync(ndf v10.27.21 の版数の衝突を本番の版で解く)
takemi-ohama Nov 5, 2026
54b9f43
Merge remote-tracking branch 'origin/develop' into design/issue-2510
takemi-ohama Nov 5, 2026
f22ed3b
Docs: #2510 の決定の記録に、自動で出し直す上限を人の出し直し 1 回につき 1 回とする利用者の決定を足す
takemi-ohama Nov 5, 2026
df624fe
Merge pull request #2549 from devbasex/release/v10.27.21-sync
takemi-ohama Nov 5, 2026
e8276b1
Merge pull request #2538 from devbasex/design/issue-2510
takemi-ohama Nov 5, 2026
e760a8d
Refactor: extract_method — plugins/ndf/scripts/lib/sprint_loop_gate.p…
takemi-ohama Nov 5, 2026
40ef3b3
Docs: ndf-factory-shared-code-placement.md を確定仕様にする
takemi-ohama Nov 5, 2026
a206c25
Docs: アカウントと料金プランの構成要素の表を、保存の契約と API の入口の今の置き場に合わせる(#2199)
takemi-ohama Nov 5, 2026
dcab933
Merge pull request #2551 from devbasex/spec/lfactory3-6
takemi-ohama Nov 5, 2026
45e22d4
Feat: NDF の --budget-* が default を受け、その単位をリポジトリの予算の既定へ戻す(#2406)
takemi-ohama Nov 5, 2026
02237f1
Docs: 本番のブランチを既定ブランチへ後退させる要求と受け入れ条件を書く(#2097)
takemi-ohama Nov 5, 2026
5428adc
Docs: #2516 の要求と受け入れ条件の写しを置く
takemi-ohama Nov 5, 2026
c9d80b6
Feat: Factory が空の予算の単位を default として指示に載せ、既定へ戻せない版では空にする変更を断る(#2406)
takemi-ohama Nov 5, 2026
4d31771
fix: 差分の棚卸しの rank に --since-ref を足し、起点以前に作られた見積の無い課題を excluded にせず見直し…
takemi-ohama Nov 5, 2026
98e4acf
Feat: Factory の画面が空の予算の単位をリポジトリの既定と出し、既定へ戻せない版の断りの理由を出す(#2406)
takemi-ohama Nov 5, 2026
1f7923a
Docs: 予算の既定へ戻す指示 default と、既定へ戻せない版での断りを確定仕様と NDF の手順に書く(#2406)
takemi-ohama Nov 5, 2026
fe5791f
Docs: production_branch を宣言しないリポジトリで既定ブランチを本番にしてリリースプランを組む設計を書く(#2097)
takemi-ohama Nov 5, 2026
428dbfd
Docs: #2097 の設計文書を読み手の問う順に組み直す
takemi-ohama Nov 5, 2026
bff7b98
Docs: #2516 の設計を書く(テストの関数を持たない test_*.py をプロダクションコードとして扱う)
takemi-ohama Nov 5, 2026
621da3a
Docs: #2516 の設計文書の長い文を分け、名前の形の並びの対比を表にする
takemi-ohama Nov 5, 2026
26d0665
refactor: rank の見積の入力を読む関数を upkeep_rank_inputs.py へ分け、upkeep_rank_cmd…
takemi-ohama Nov 5, 2026
e77ad3e
Docs: 本番チャネルが決まらないときに止まる経路を release --channel prod と昇格に限る(#2097)
takemi-ohama Nov 5, 2026
edbba59
Merge remote-tracking branch 'origin/develop' into sprint/lflow2-8
takemi-ohama Nov 5, 2026
b734bdf
Refactor: 予算の既定へ戻す指示の定数を sprint_loop_record へ移し、sprint_loop.py を例外リスト…
takemi-ohama Nov 5, 2026
31f597b
Docs: 本番チャネルが決まらないときに止まる経路を実装に合わせ、開発版で止めない判定の置き場を書く(#2097)
takemi-ohama Nov 5, 2026
7077334
Docs: #2516 の設計で、テスト用ディレクトリの配下の扱いを不変条件と用語集に明記し、コミットの事実を前後の版で見分ける
takemi-ohama Nov 5, 2026
8fa8370
docs(design): コミットの前後の版を 1 回だけ読んで判定する形にする (#2516)
takemi-ohama Nov 5, 2026
70b8927
Merge pull request #2547 from devbasex/sprint/lflow2-8
takemi-ohama Nov 5, 2026
4fdaee1
Release: ndf v10.27.22-dev.1
takemi-ohama Nov 5, 2026
947abe1
Merge pull request #2560 from devbasex/release/v10.27.22-dev.1
takemi-ohama Nov 5, 2026
c613cb2
design: 設計の判断の前に外部の調査を通す手順 2 と、雛形の外部の調査の節・決定の作り方と比べた候補の行を足す(#2519)
takemi-ohama Nov 5, 2026
ad222a3
design-survey: 自前で作る決定に比べた候補が無い設計文書を指摘する検査を足し、設計文書の探し方を lib/design_do…
takemi-ohama Nov 5, 2026
3be1485
docs: 予算を空にする変更の受付条件を今の決まりだけで書く
takemi-ohama Nov 5, 2026
5fa56b8
Merge pull request #2556 from devbasex/design/issue-2097
takemi-ohama Nov 5, 2026
3b68672
supervise: スプリントの設計のプランに外部の調査の検査(survey-check / fix-survey / survey-r…
takemi-ohama Nov 5, 2026
c1479bf
design-survey: 関数の名前をほかのスクリプトと重ならないようにする(#2519)
takemi-ohama Nov 5, 2026
a26562d
glossary: 外部の調査の 5 語の出所を design の参照へ移す(#2519)
takemi-ohama Nov 5, 2026
09d224d
Merge pull request #2559 from devbasex/feat/issue-2406-lfactory3-8
takemi-ohama Nov 5, 2026
1749fc8
Fix: production_branch を宣言しないリポジトリでも、まだ作っていない worktree で既定ブランチを本番にしてプ…
takemi-ohama Nov 5, 2026
63c7e0b
Test: 現状固定テストを足す — factory/api/src/runs/control.ts#RunControl.finalize
takemi-ohama Nov 5, 2026
a37638b
Refactor: extract_method — factory/api/src/runs/control.ts#RunControl…
takemi-ohama Nov 5, 2026
44f2e21
Test: 現状固定テストを足す — plugins/ndf/scripts/lib/sprint_loop_record.py#acti…
takemi-ohama Nov 5, 2026
dacb857
Docs: 既定ブランチを解く木を first_git_tree で選ぶことを入口の契約に書く(#2097)
takemi-ohama Nov 5, 2026
2a22f47
Refactor: extract_method — plugins/ndf/scripts/lib/sprint_loop_record…
takemi-ohama Nov 5, 2026
33fdd0e
Fix: 検証の失敗を直す — plugins/ndf/scripts/lib/sprint_loop_record.py#active_…
takemi-ohama Nov 5, 2026
ad9c924
Refactor: fix_dependency_direction — plugins/ndf/scripts/lib/sprint_l…
takemi-ohama Nov 5, 2026
fd18549
docs: 本番のブランチの決まりから課題番号の由来を外す
takemi-ohama Nov 5, 2026
f588483
docs: 設計の手順の繰り下げと外部の調査の検査のステップを確定仕様へ反映する(#2519)
takemi-ohama Nov 5, 2026
c209a0c
Merge remote-tracking branch 'origin/develop' into sprint/lfactory3-8
takemi-ohama Nov 5, 2026
89eff4e
Merge pull request #2562 from devbasex/feat/issue-2097-lroot3-14
takemi-ohama Nov 5, 2026
0fa98d6
docs(design): 外部調査の例の説明を今の決まりだけを書く形にする
takemi-ohama Nov 5, 2026
a935675
Merge pull request #2561 from devbasex/sprint/lfactory3-8
takemi-ohama Nov 5, 2026
d7f904e
Release: ndf v10.27.22-dev.2
takemi-ohama Nov 5, 2026
436e2d1
Merge pull request #2566 from devbasex/release/v10.27.22-dev.2
takemi-ohama Nov 5, 2026
cfb17a5
Merge pull request #2564 from devbasex/feat/issue-2519-lflow2-9
takemi-ohama Nov 5, 2026
3eb51fe
feat(pr-review): 外部の調査の確認の観点を足す(#2519)
takemi-ohama Nov 5, 2026
f9462f4
feat(cross-review): 設計 PR と実装 PR の担当へ外部の調査の確認の観点を渡す(#2519)
takemi-ohama Nov 5, 2026
fdb600b
Refactor: extract_method — plugins/ndf/scripts/supervise_lib/sprint.p…
takemi-ohama Nov 5, 2026
871bb87
Docs: #2430 の要求と受け入れ条件(取り込みの衝突の表示と承認待ちの一覧)
takemi-ohama Nov 5, 2026
2e18841
Fix: 検証の失敗を直す — plugins/ndf/scripts/supervise_lib/sprint.py#sprint_plans
takemi-ohama Nov 5, 2026
e9d7f6c
Docs: #2430 の設計(取り込みの衝突の表示と承認待ちの一覧)
takemi-ohama Nov 5, 2026
ca31252
Fix: 検証の失敗を直す — plugins/ndf/scripts/supervise_lib/sprint.py#sprint_plans
takemi-ohama Nov 5, 2026
79ce742
Docs: #2430 の設計文書を組み直す(長い文を分け、対比を表へ移す)
takemi-ohama Nov 5, 2026
e0b69f2
design(#2430): 承認待ちの一覧の経路・判定の共有・読み出しの回数を決める
takemi-ohama Nov 5, 2026
4a70081
Revert: cross-refactoring の改善を着手前の木へ戻す(確かめの開始の締め切りまでに入らない)
takemi-ohama Nov 5, 2026
6e48e3b
design(#2430): 確定仕様の更新を触るファイルに足し、承認の事象のページ数を読み出しの回数に含める
takemi-ohama Nov 5, 2026
f9c1724
Merge remote-tracking branch 'origin/develop' into sprint/lroot3-14
takemi-ohama Nov 5, 2026
1dbefd9
Update: 宣言の整形を当てる(lint-fix)
takemi-ohama Nov 5, 2026
2eb9d43
Merge pull request #2565 from devbasex/sprint/lroot3-14
takemi-ohama Nov 5, 2026
d3213b8
Release: ndf v10.27.23-dev.1
takemi-ohama Nov 5, 2026
d511591
Merge pull request #2571 from devbasex/release/v10.27.23-dev.1
takemi-ohama Nov 5, 2026
65cf323
docs(cross-review): 既定の分類を外すプロファイルでも外部の調査の確認の観点が残ることを契約と確定仕様に書く(#2519)
takemi-ohama Nov 5, 2026
f477819
Docs: #1694 の要求と受け入れ条件(継続的統合の宣言に無いジョブ 11 件を宣言へ載せる)
takemi-ohama Nov 5, 2026
65f7874
Docs: #1694 の設計(継続的統合のジョブ 9 件を静的解析の suite に、2 件を理由つきの除外にする)
takemi-ohama Nov 5, 2026
e66c144
Docs: #1694 の設計を読み手の問う順に整える(長い文を分け、紛らわしい記号と名前をそろえる)
takemi-ohama Nov 5, 2026
95dd087
Merge pull request #2572 from devbasex/feat/issue-2519-lflow2-9b
takemi-ohama Nov 5, 2026
876d965
Refactor: extract_method — plugins/ndf/scripts/design-survey.py#Doc._…
takemi-ohama Nov 5, 2026
466633e
Refactor: rename — plugins/ndf/scripts/design-match.py#_git_list
takemi-ohama Nov 5, 2026
1d522f2
Test: 現状固定テストを足す — plugins/ndf/scripts/design-match.py#judge_names
takemi-ohama Nov 5, 2026
32e47d3
Refactor: extract_method — plugins/ndf/scripts/design-match.py#judge_…
takemi-ohama Nov 5, 2026
ebed16d
Test: 現状固定テストを足す — plugins/ndf/scripts/design-survey.py#judge_group
takemi-ohama Nov 5, 2026
aeb9b60
Refactor: extract_method — plugins/ndf/scripts/design-survey.py#judge…
takemi-ohama Nov 5, 2026
2a92e9f
Refactor: remove_dead_code — plugins/ndf/scripts/design-survey.py#jud…
takemi-ohama Nov 5, 2026
86302e4
Refactor: change_signature — plugins/ndf/scripts/supervise_lib/proced…
takemi-ohama Nov 5, 2026
e586d35
fix(design,pr-review): 外部の調査の検査を worktree の文書で打ち、省く範囲をまとまり全体にする
takemi-ohama Nov 5, 2026
77ae5ea
Merge remote-tracking branch 'origin/develop' into sprint/lflow2-9
takemi-ohama Nov 5, 2026
c49b507
Merge pull request #2574 from devbasex/sprint/lflow2-9
takemi-ohama Nov 5, 2026
6dbef55
Release: ndf v10.27.23-dev.2
takemi-ohama Nov 5, 2026
c8dceba
Merge pull request #2578 from devbasex/release/v10.27.23-dev.2
takemi-ohama Nov 5, 2026
e5f3cf8
開発ループ: 止める指示を人が送った停止だけから置く(#2474)
takemi-ohama Nov 5, 2026
f8f5307
docs(development-workflow): セッションを終える依頼の行を今の決まりだけで書く
takemi-ohama Nov 5, 2026
575bf80
Merge pull request #2580 from devbasex/feat/issue-2474-lroot3-17
takemi-ohama Nov 5, 2026
273cb4d
fix(loop): 画面の文字と未送信のサジェストを停止確認・セッション終了の契機から外す
takemi-ohama Nov 5, 2026
db6a8b2
Merge pull request #2581 from devbasex/sprint/lroot3-17
takemi-ohama Nov 5, 2026
1286bb5
Release: ndf v10.27.24-dev.1
takemi-ohama Nov 5, 2026
bbbfa4a
Merge pull request #2582 from devbasex/release/v10.27.24-dev.1
takemi-ohama Nov 5, 2026
deb0d5a
Merge pull request #2558 from devbasex/design/issue-2516
takemi-ohama Nov 5, 2026
e4c57f9
Merge pull request #2573 from devbasex/design/issue-1694
takemi-ohama Nov 5, 2026
1944dc4
Merge pull request #2570 from devbasex/design/issue-2430
takemi-ohama Nov 5, 2026
3837de2
Release: ndf v10.27.24
takemi-ohama Nov 5, 2026
d5bffb2
Release: ndf v10.27.24 のトークン消費の記録
takemi-ohama Nov 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
{
"name": "ndf",
"source": "./plugins/ndf",
"description": "Claude Code plugin (v10.27.21): 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.24): 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"
Expand Down
16 changes: 15 additions & 1 deletion .github/workflows/pytest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -95,10 +95,24 @@ jobs:
#
# 前提のコマンドの確認と git の身元の設定は、根の conftest.py が行う。前提を
# ワークフローの側にも置くと、増えたときに片方だけが更新される
- run: uv run --frozen --project . --all-extras pytest . -q -n auto
# 統括役の結合テスト(test_relay_hub.py::TestWithTmux)が tmux を使う。runner のイメージは tmux を
# 載せると約束していないため、無いときだけ入れる(ある間は時間を足さない。#2346)。apt の索引が古いと
# 取得で落ちるため、入れる経路では update を install の直前に打つ。版はログに残す
- name: tmux
run: |
command -v tmux || { sudo apt-get update && sudo apt-get install -y tmux; }
tmux -V
# 項目ごとの名前と結果を JUnit XML に残す(ログは -q で件数だけ。#2346)
- run: uv run --frozen --project . --all-extras pytest . -q -n auto --junitxml=pytest-junit-${{ matrix.shard }}.xml
env:
SHARD_TOTAL: 2
SHARD_INDEX: ${{ matrix.shard }}
- uses: actions/upload-artifact@v7
if: always()
with:
name: pytest-junit-${{ matrix.shard }}
path: pytest-junit-${{ matrix.shard }}.xml
if-no-files-found: warn

# ruleset の必須のチェックは `pytest` という名前の結果を 1 つ待つ。分けたジョブの結果を
# ここで 1 つにまとめる。名前を変えると ruleset の変更が要る。
Expand Down
62 changes: 62 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,68 @@
**開発版(接尾辞の付いた版)は載せない。** `9.8.0` は `9.8.0-dev.1` までしか出ておらず、
その内容は `10.0.0` で届いている。

## [ndf 10.27.24] - 2026-11-05

- 設計の承認に「承認」と答えると、その設計の PR がマージされる(#2542)(#2543)
- 開発ループの周回の境で、承認済みの設計の PR がマージし直される(#2542)(#2543)
- 承認に答えた後、その時点の整理結果が一覧で表示される(#2542)(#2543)
- 承認の答えの `--by` 引数が契約に含まれ、検査の対象になる(#2542)(#2543)
- 差分の棚卸しで見積の無い経路に出る Issue は、起点より後に作られたものだけになる(#2546)(#2547)
- 差分の棚卸しの各行に、プランの進行の記録から写した所要秒数・費用(ドル)・言語モデルが載る(#2546)(#2547)
- `depth compare` で、所要秒数などの中央値を基準と比べられる(#2546)(#2547)
- スプリントのまとめでは、プランの深さを記録するステップが、プランの進行の記録(`--progress`)と開発ループ・周回の番号(`--loop`・`--lap`)を受け取る(#2546)(#2547)
- NDF の `--budget-*` に `default` を渡すと、その単位の予算がリポジトリの予算の既定に戻ります(#2559)(#2561)
- Factory でループの予算の単位を空にすると、次のジョブからその単位にリポジトリの既定が使われます(#2559)(#2561)
- Factory のループの画面では、空の予算の単位が「リポジトリの既定」と表示されます(#2559)(#2561)
- 既定へ戻せない版では、Factory は予算の単位を空にする変更を受け付けず、画面に理由を表示します(#2559)(#2561)
- リポジトリの設定で本番のブランチ(`production_branch`)を宣言していなくても、作業用の worktree をまだ作っていない段階で、リポジトリの既定ブランチを本番のブランチとして実行計画を組む(#2562)(#2565)
- ndf の design で、設計の判断を下す前に外部の調査を行います。これが手順 2 になり、以降の手順は番号が 1 つずつ繰り下がります(#2564)(#2574)
- 設計文書のテンプレートに「外部の調査」の節があります。自前で作ると決めた事項には、比べた既存の候補を書く行があります(#2564)(#2574)
- 自前で作ると決めた事項に比べた候補が書かれていない設計文書は、ndf の設計の検査で指摘されます(#2564)(#2574)
- スプリントの設計の工程では、外部の調査の検査、指摘の修正、修正後の再検査が順に自動で実行されます(#2564)(#2574)
- ndf の pr-review で、レビューの観点に外部の調査の確認が入る(#2572)(#2574)
- ndf の cross-review で、設計 PR と実装 PR を見る担当へ外部の調査の確認の観点が渡る(#2572)(#2574)
- ndf の cross-review で、既定の分類を外すレビューのプロファイルを選んでも、外部の調査の確認の観点は残る(#2572)(#2574)
- ndf プラグインの開発ループは、人が送った停止のときだけ止める指示を置く(#2580)(#2581)

## [ndf 10.27.23] - 2026-11-05

- 設計の承認に「承認」と答えると、その設計の PR がマージされる(#2542)(#2543)
- 開発ループの周回の境で、承認済みの設計の PR がマージし直される(#2542)(#2543)
- 承認に答えた後、その時点の整理結果が一覧で表示される(#2542)(#2543)
- 承認の答えの `--by` 引数が契約に含まれ、検査の対象になる(#2542)(#2543)
- 差分の棚卸しで見積の無い経路に出る Issue は、起点より後に作られたものだけになる(#2546)(#2547)
- 差分の棚卸しの各行に、プランの進行の記録から写した所要秒数・費用(ドル)・言語モデルが載る(#2546)(#2547)
- `depth compare` で、所要秒数などの中央値を基準と比べられる(#2546)(#2547)
- スプリントのまとめでは、プランの深さを記録するステップが、プランの進行の記録(`--progress`)と開発ループ・周回の番号(`--loop`・`--lap`)を受け取る(#2546)(#2547)
- NDF の `--budget-*` に `default` を渡すと、その単位の予算がリポジトリの予算の既定に戻ります(#2559)(#2561)
- Factory でループの予算の単位を空にすると、次のジョブからその単位にリポジトリの既定が使われます(#2559)(#2561)
- Factory のループの画面では、空の予算の単位が「リポジトリの既定」と表示されます(#2559)(#2561)
- 既定へ戻せない版では、Factory は予算の単位を空にする変更を受け付けず、画面に理由を表示します(#2559)(#2561)
- リポジトリの設定で本番のブランチ(`production_branch`)を宣言していなくても、作業用の worktree をまだ作っていない段階で、リポジトリの既定ブランチを本番のブランチとして実行計画を組む(#2562)(#2565)
- ndf の design で、設計の判断を下す前に外部の調査を行います。これが手順 2 になり、以降の手順は番号が 1 つずつ繰り下がります(#2564)(#2574)
- 設計文書のテンプレートに「外部の調査」の節があります。自前で作ると決めた事項には、比べた既存の候補を書く行があります(#2564)(#2574)
- 自前で作ると決めた事項に比べた候補が書かれていない設計文書は、ndf の設計の検査で指摘されます(#2564)(#2574)
- スプリントの設計の工程では、外部の調査の検査、指摘の修正、修正後の再検査が順に自動で実行されます(#2564)(#2574)
- ndf の pr-review で、レビューの観点に外部の調査の確認が入る(#2572)(#2574)
- ndf の cross-review で、設計 PR と実装 PR を見る担当へ外部の調査の確認の観点が渡る(#2572)(#2574)
- ndf の cross-review で、既定の分類を外すレビューのプロファイルを選んでも、外部の調査の確認の観点は残る(#2572)(#2574)

## [ndf 10.27.22] - 2026-11-05

- 設計の承認に「承認」と答えると、その設計の PR がマージされる(#2542)(#2543)
- 開発ループの周回の境で、承認済みの設計の PR がマージし直される(#2542)(#2543)
- 承認に答えた後、その時点の整理結果が一覧で表示される(#2542)(#2543)
- 承認の答えの `--by` 引数が契約に含まれ、検査の対象になる(#2542)(#2543)
- 差分の棚卸しで見積の無い経路に出る Issue は、起点より後に作られたものだけになる(#2546)(#2547)
- 差分の棚卸しの各行に、プランの進行の記録から写した所要秒数・費用(ドル)・言語モデルが載る(#2546)(#2547)
- `depth compare` で、所要秒数などの中央値を基準と比べられる(#2546)(#2547)
- スプリントのまとめでは、プランの深さを記録するステップが、プランの進行の記録(`--progress`)と開発ループ・周回の番号(`--loop`・`--lap`)を受け取る(#2546)(#2547)
- NDF の `--budget-*` に `default` を渡すと、その単位の予算がリポジトリの予算の既定に戻ります(#2559)(#2561)
- Factory でループの予算の単位を空にすると、次のジョブからその単位にリポジトリの既定が使われます(#2559)(#2561)
- Factory のループの画面では、空の予算の単位が「リポジトリの既定」と表示されます(#2559)(#2561)
- 既定へ戻せない版では、Factory は予算の単位を空にする変更を受け付けず、画面に理由を表示します(#2559)(#2561)

## [ndf 10.27.21] - 2026-11-05

- 設計の承認に「承認」と答えると、その設計の PR がマージされる(#2542)(#2543)
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ Claude Code では `/ndf:<Skill 名>` と打って呼びます。**Skill** は

| プラグイン名 | バージョン | できること | 詳細 |
| --- | --- | --- | --- |
| **ndf** | 10.27.21 | 開発の作業手順(Skill)と専門のサブエージェント。Claude Code と Codex へ同じ名前で入る | [README](./plugins/ndf/README.md) |
| **ndf** | 10.27.24 | 開発の作業手順(Skill)と専門のサブエージェント。Claude Code と Codex へ同じ名前で入る | [README](./plugins/ndf/README.md) |
| **playwright-kit** | 4.0.0 | Playwright による E2E テストの計画・スクリプト作成・証跡のレポート | [README](./plugins/playwright-kit/README.md) |

外部サービスへつなぐ MCP サーバーの設定のプラグインが 10 個あります(Claude Code / Codex 向け)。
Expand All @@ -69,7 +69,7 @@ Claude Code では `/ndf:<Skill 名>` と打って呼びます。**Skill** は

### NDF プラグインの Skill の一覧

**NDFプラグイン v10.27.21** に入る Skill の数は、AI ツールごとに違います。
**NDFプラグイン v10.27.24** に入る Skill の数は、AI ツールごとに違います。
Claude Code向け core 49個、Codex向け core 45個です。
元Skills(49個)の内訳は次のとおりです。
- Pull Request とレビュー (7): pr, pr-tests, fix, pr-review, cherry-pick-pr, deploy, merged
Expand Down
41 changes: 28 additions & 13 deletions conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,9 @@
# 増えた)。**生成物は収集の対象から外す。**
collect_ignore_glob = ["plugins/*/dev.agy"]

# 束ごとに要る外部コマンド。**束によって前提が違う**ため、一覧は 1 か所に置きつつ
# 収集した束にだけ適用する。全体へ課すと、必要のないコマンドを求めることになる。
# 束ごとに要る外部コマンド(前提のコマンドの一覧)。**束によって前提が違う**ため、一覧は
# 1 か所に置きつつ収集した束にだけ適用する。全体へ課すと、必要のないコマンドを求めることになる。
# キーはリポジトリの根からの相対パスで、ファイルの中のクラスまで絞るときは `::` でつなぐ。
REQUIRED_COMMANDS: dict[str, tuple[str, ...]] = {
"scripts/tests": ("bash", "jq", "git"),
"plugins/ndf/skills/worktree/tests": ("bash", "jq", "git"),
Expand All @@ -72,6 +73,9 @@
# スライドの生成スクリプト(pptxgenjs)を node で実行し、依存が無ければ `npm ci` で入れる(#2065)
"plugins/ndf/skills/release/tests/test_slide_template.py": ("node", "npm"),
"tests/test_presentation_decks.py": ("node", "npm"),
# 名前つきのラッパーを使い捨ての tmux サーバで動かす結合テスト(#2346)。同じファイルの
# ほかのテストは tmux を使わないため、クラスまで絞る。
"plugins/ndf/scripts/tests/test_relay_hub.py::TestWithTmux": ("tmux",),
}

# 読み飛ばしを選ぶ指定。**既定は失敗**である。読み飛ばしたい実行環境のために残すが、
Expand All @@ -83,16 +87,27 @@ def _allow_missing() -> bool:
return os.environ.get(ALLOW_MISSING_ENV, "") not in ("", "0")


def _bundle_of(path: Path) -> str | None:
"""その項目が属する束を返す。一覧に無ければ `None`。"""
try:
rel = path.resolve().relative_to(ROOT).as_posix()
except ValueError:
def _item_id(item) -> str | None:
"""項目の識別子(根からの相対パス、続けてファイルの中の位置を `::` でつないだもの)を返す。

根の外のファイルは `None`。
"""
path = Path(str(item.fspath)).resolve()
if not path.is_relative_to(ROOT):
return None
for bundle in REQUIRED_COMMANDS:
if rel == bundle or rel.startswith(bundle + "/"):
return bundle
return None
_, sep, inner = item.nodeid.partition("::")
return path.relative_to(ROOT).as_posix() + sep + inner


def _bundles_of(item_id: str | None) -> list[str]:
"""識別子が当たる一覧のキーを返す。

当たるのは、識別子がキーと一致するか、キーの直後が `/` か `::` のときだけである
(`::TestWithTmux` は `::TestWithTmuxOld` に当たらない)。
"""
if item_id is None:
return []
return [k for k in REQUIRED_COMMANDS if item_id == k or item_id.startswith((k + "/", k + "::"))]


def _missing(bundles: set[str]) -> dict[str, list[str]]:
Expand Down Expand Up @@ -213,15 +228,15 @@ def _select_shard(config, items) -> None:

def pytest_collection_modifyitems(config, items) -> None:
_select_shard(config, items)
bundles = {b for item in items if (b := _bundle_of(Path(str(item.fspath)))) is not None}
bundles = {b for item in items for b in _bundles_of(_item_id(item))}
missing = _missing(bundles)
if not missing:
return
lines = [f"{bundle}: {' '.join(commands)}" for bundle, commands in missing.items()]
if _allow_missing():
mark = pytest.mark.skip(reason=f"外部コマンドが無い({ALLOW_MISSING_ENV} の指定により読み飛ばす)")
for item in items:
if _bundle_of(Path(str(item.fspath))) in missing:
if any(b in missing for b in _bundles_of(_item_id(item))):
item.add_marker(mark)
return
raise pytest.UsageError(
Expand Down
Loading
Loading