Repository navigation
Release: ndf v10.22.0 を main へ - #2139
Merged
Merged
Conversation
雛形の経路で本番のブランチがあれば、配布の後に「関門 2」(gate)と「本番」(release-prod、
then_of なし)を置く。本番のプランは plan_sprint_release にチャネルと版を渡して組み、
出す PR は {queue_pr:check}、MVV 判定は置かない。承認ゲート 2 の文は関門 2 の gate へ移し、
本番のブランチが無いときは今のまま配布で終えて next に理由を書く。
sprint.py の 500 行の上限のため、利用者の承認の文の関数を sprint_waves.py へ移した。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
waiting.md の手順 8・9、agent-layers.md の仕上げ・リリースの行、relay.md の例を、 new sprint が書き出す「関門 2」と「本番」のステージに合わせた。本番のプランを new release --channel prod で手で作る記述は、単発のリリースの説明だけに残す。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
merged-steps.py promote に --expect-head-from <導入の確認の承認資料> を足し、資料の確かめたコミットを merge-when-green の --expect-head と同じ照合に使う。読めなければ gh を呼ばずに 2 で止まる。 昇格のプランの fast / auto の promote は、mvv と同じ VERIFY_MATERIAL を渡し、落ちたら handoff で承認ゲート 2 へ戻る。 確かめたコミットの行の形と読み取りは lib/approved_commit.py の verified_line / verified_sha に置き、verify_markdown もそれで書く。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
着手前のテストの後に、scope_command を持つテストの suite ごとにテストのファイルを最大 2 本入れて 1 回走らせる。判定が ok でなければ、当たった suite・今のテンプレート・入れたパス・直す箇所を出し、 状態ファイルを作らずに終了コード 4 で止まる。記録は <tmp_dir>/template-check.json と状態ファイルの template_checks に残す。 - test_strategy: probe_paths / template_verdict / ProbeVerdict(選び方と判定の純粋な関数) - refactor_lib/template_check.py: 候補の収集・実行・記録(新設) - commands/setup.py: _verify_init から呼び、記録を状態へそのまま置く - 既存の init のテストは試走を対象なしとして通し、試走は test_template_check.py で見る Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…に書く(#1630) - project_lib/model.py の Suite の説明に、改修の範囲テスト・CI に任せる戦略の着手前のテスト・静的解析ごとの {paths} に入るパスと、init の試走で止まることを書き、project.schema.json を作り直した - project-analysis.md の test の行に、unittest を例にファイルを受ける scope_command の書き方と、手元で確かめた終了コードを書いた - cross-refactoring の SKILL.md の終了コード 4 の理由に、テンプレートの試走で止まる場合を足した Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- verify_commands は種別・雛形の誤りを先に当て、strategy を書かずどの suite も command と
scope_command を持たない宣言({"suites": []} を含む)では None を返す
- 最終スイープの指示を組めないときの Stop の理由文に止めた所を名指しする
- 駆動の件数へ最後のラウンドの継続的統合の判定 ci と理由 ci_reason を足す
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
結果 JSON が stopped で metrics.exit が整数のとき、止まった理由の要約の後ろへ 「(元の終了コード N)」を添える。abort へ回したときの直前のステップの要約にも当てる。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
drive.py の先頭で review_lib を読むと、scripts/ を sys.path に持たない呼び出し元 (supervise のテストなど)で読み込みが失敗する。review_paths と同じく counts の中で読む。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
check-script-structure の same-name 違反(_candidates / run / summary)を解く。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
promote の --expect-head-from の説明を詰め、script-structure の行数の上限を超えないようにする。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…#1529) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
#1914 を実装する(スプリント m1914)
#1630 を実装する(スプリント m1914)
#1529 を実装する(スプリント m1914)
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> Claude-Session: https://claude.ai/code/session_01Uxj56bKEJGJk8GS7BwYXp2
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Uxj56bKEJGJk8GS7BwYXp2
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Docs: 開発ループ(--loop)の確定仕様を docs/specifications へ置く(#2089)
#1593 を実装する(スプリント m1914)
手順 0 の check が「古い」(解析器の版 1 < 2・ワークフローと指示書の変更)を返したため、 measure → 答え → write を通した。手の値(test・delivery・issues・ndf_policies)は引き継いだ。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MVV 版 3 の Value 10 を棚卸しの順位で効かせるため、quality 節を既定の値 (label quality・ratio 0.2・min 1)で置く。ラベル quality は作成済みで #2121 に付けた。 Closes #2131 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Uxj56bKEJGJk8GS7BwYXp2
supervise の中で全体テストを走らせると、NDF_USAGE_SOURCE / NDF_USAGE_KIND が入ったまま test_runtime_specific_usage_shapes が「名乗りが無い」ことを確かめて落ちる。fixture の fake_clis で 4 つの NDF_USAGE_* を外す。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Update: 棚卸しの品質の枠を宣言する(#2131)
Fix: test_usage_capture の偽の CLI に呼び出し元の環境変数を持ち込まない
…#compare_approved 段 3(配布の PR の外のコミット I3)を _outside_of_prs、段 4(先端までの外のコミット I9)を _outside_to_tip として抽出した。読めないときは None を返し、compare_approved は undecidable を返す。 Item-Id: I-001 Impl-Runtime: claude Impl-Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rge_when_green マージの実行部(pin の組み立て・gh pr merge・競合の判定・失敗の emit・merged の記録)を _merge_pr として抽出し、merge_when_green から呼ぶ形にした。 Item-Id: I-002 Impl-Runtime: claude Impl-Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ts/refactor_lib/template_check.py#_check_one 試走の起動部(残り時間の判定・run_within・launch.stop)を _run_probe として抽出し、 (結果, 走らせなかった理由) を返す形にした。記録の辞書の組み立ては _check_one の末尾に残した。 Item-Id: I-003 Impl-Runtime: claude Impl-Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…commit.py#verified_sha 確かめたコミットの行の前後の文言を _VERIFIED_HEAD / _VERIFIED_MID / _VERIFIED_TAIL に置き、 書く側の verified_line と読む側の _VERIFIED_RE をこの定数から組み立てるようにした。 Item-Id: I-004 Impl-Runtime: claude Impl-Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…y#no_prod_stage 本番のブランチの有無の判定を has_prod_branch として抽出し、sprint_plans の分岐と no_prod_stage の両方から呼ぶ形にした(評価の順序は変えていない)。 Item-Id: I-005 Impl-Runtime: claude Impl-Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…/sprint_waves.py#user_gate_cmd sprint_state_path を sprint.py から sprint_waves.py へ移し、sprint_waves.py の str(Path(a.state).resolve()) の 4 か所をこれに置き換えた。sprint.py は sprint_waves から読み込む。 Item-Id: I-006 Impl-Runtime: claude Impl-Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ring/scripts/refactor_lib/template_check.py#_reference 試走の基準の値を test_strategy.py の REFERENCE_GREEN / REFERENCE_RED / REFERENCE_NONE に置き、 template_verdict の比較と _reference の戻り値・比較をこの定数へ置き換えた。値は変えていない。 Item-Id: I-007 Impl-Runtime: claude Impl-Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…robe_roots paths の要素の正規化を _root_of、全体を指すかの判定を _is_whole_root として抽出し、 _declares_whole と probe_roots の両方から使う形にした。 Item-Id: I-008 Impl-Runtime: claude Impl-Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ine.py#_result_summary
metrics を先に 1 度だけ読み、isinstance の判定と重なっていた `or {}` を外した。
Item-Id: I-009
Impl-Runtime: claude
Impl-Model: claude-opus-5-5
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…toring/scripts/refactor_lib/template_check.py#check_templates check_templates が _check_one へ渡す文字列キーの dict を、frozen の dataclass _ProbeContext に 置き換え、_check_one の ctx["..."] を属性参照にした。 Item-Id: I-010 Impl-Runtime: claude Impl-Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
_VERIFIED_RE の組み立てを ruff format の形(1 行)へ整えた。中身の式は変えていない。 Item-Id: I-004 Impl-Runtime: claude Impl-Model: default
…proved lint の違反は approved_commit.py の _VERIFIED_RE(I-004 の行)の整形だけで、I-004 の修正で解消した。 compare_approved の抽出(I-001)には直す箇所が無いため、変更の無いコミットで記録する。 Item-Id: I-001 Impl-Runtime: claude Impl-Model: default
…r_gate_cmd sprint_state_path を足した sprint_waves.py が 503 行になり、行数の上限(500 行)を超えた。 sprint_state_path を新しいモジュール supervise_lib/state_path.py へ移し、sprint_waves.py と sprint.py はそこから読み込む。本体は変えていない(500 行に収まる)。 Item-Id: I-006 Impl-Runtime: claude Impl-Model: default
…r_gate_cmd 前回の修正で足した supervise_lib/state_path.py が、パッケージのモジュール一覧の設計 (test_supervise_layout の test_package_has_the_designed_modules)に無いため落ちた。 sprint_state_path を既存の supervise_lib/plan.py(supervise_lib を何も import しないので 循環しない)へ移し、state_path.py を消す。sprint.py と sprint_waves.py は plan から読み込む。 本体は変えていない。 Item-Id: I-006 Impl-Runtime: claude Impl-Model: default
本番のプランの release --channel prod --approval は承認資料に承認の記録が無いと gate(10)で止まるため、 承認されたら approve で記録してから「本番」のステージの command を打つ形にする(PR #2133 のレビュー指摘)。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
develop の design_read で sprint_waves.py が 505 行になり(上限 500)、sprint.py の HERE が使われなくなった。 関門の文の関数(user_gate_cmd・normal_gate_1・normal_gate_2・normal_gate_2_stage)を sprint_routes.py へ移し、 sprint.py の使われない import を外す。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
normal_gate_2_stage が承認資料を相対パスで approve へ渡していたため、worktree で打つと 作業場所の git の根から解かれ、開発版の配布が書いた資料を見つけられなかった。 本番の release と同じ material_path で絶対パスにする。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
スプリント m1914
Release: ndf v10.22.0-dev.1
Release: ndf v10.22.0
13 of 25 tasks
Contributor
Author
振り返り(2026-10-25)対象: issue #1914 / issue #1529 / issue #1630 / issue #1593 / スプリント PR #2133 / リリース PR #2138・PR #2139 スプリント m1914 では、マイルストーン「23 汎用性の回復」の 4 課題を ndf v10.22.0 として出した。#1914 で 何が起きたか
context window の大きさ
測ったのは最後の conductor のセッション 1 本だけで、スプリントの前半のセッションは含まない。
承認ゲートの差し戻し
MVV を見直すか
改訂の提案は無い。supervisor からは「改訂しない」を推す(兆候が 0 件のため)。利用者の答えは conductor が取る。 用語集の変化
次に変えること
途中で起票した課題
|
This was referenced Oct 25, 2026
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
ndf v10.22.0 を main へ出す(開発版の PR #2138)。
🤖 Generated with Claude Code