Repository navigation
Release: ndf v10.27.24 を main へ - #2587
Conversation
Agent の ndf:supervisor が ndf:worker の起動指示に「読む Skill」を置かない不具合の要求。 受け入れ条件 7 件・前提 4 件・未決 2 件(経路の置き場と機械の検査の要否は設計で決める)。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- まとめのプランのリリース後テストのステップを、控えを取る run のステップと比べる run のステップで挟む - worker が失敗したときも比べ、必ず止まる - verify-install の利用者の環境の比較に、Claude Code と Codex の導入済みのプラグインと取得元の登録を加える - 手順書の節を禁止の正本とし、起動指示は要点と節の名前を 1 つの定数で持つ - 用語集に「利用者の設定の控え」を足す Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
章立ては設計テンプレートの順のまま保ち、内容は足していない。 最長文 135 字 → 98 字、平均文長 38.3 字 → 36.8 字。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
正本の節が読めないとき、I6 は通す・処理の流れの判定 4 は止める、と読めて 実装が分かれるため、判定 4 の既定どおり止めることを I6 に書く。 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>
課題の本文の写しを issues/ に置き、設計の結果の列の語(扱い・取り込み先・触るファイル)を用語集へ足す。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
食い違いのメッセージに、違う項目(扱い・取り込み先・触るファイル)と先・後の値、2 本の設計文書のパスを 1 行で載せる形を決める。触るファイルは差だけを重なりを数えて出す。用語集へ「食い違い」を足す。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
内容を足さずに、目安の 100 字を超える 3 文を分け、文脈を持たない読み手が 迷った語(開発ループの呼び名・「合わせた行」・上限に読める実例の数)を言い換えた。 章の並びは設計文書のテンプレートどおりのため動かしていない。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
エントリポイントがどの終わり方でも ok / gate / stopped と決まった終了コードで 返り、worker・外部 CLI・フェーズ・課題を閉じる処理の成否を結果 JSON と 結果ファイルだけから読む設計。決定の記録は別のファイルに分けた。 用語集に 4 語を足し、2 語の意味を変えた。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
内容は足さず、次を行った。 - 決定の記録の各決定で、結論の文を段落の先頭へ移し、長い文を分けた - 図に描かない要素の列挙を表にし、処理の流れと構成要素の図に小見出しを付けた - シェルのエントリポイントを核の子として起こす語を「再実行」にし、worker の「起こし直し」と分けた Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
I3 は核が読み替えた後の結果に当て、結果 JSON を求めるのは step-result の契約だけにする。 I12 の ok の条件に、監視の状態・理由が失敗を示さないことを足す。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
直して出し直すの指摘が次の周回の設計に届くための受け入れ条件 9 件と、 用語集に 5 語(出し直しの指摘・出し直しの指摘の履歴・指摘への対応の表・ 設計のプラン・答えの種類)を足した。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
直して出し直すの指摘を、ループの記録から周回ごとに書き出す入力ファイル経由で 設計のプランの要求・設計の起動指示と MVV 判定へ渡す。課題の本文には追記だけの 履歴の節を置き、設計文書の「出し直しの指摘への対応」の表を設計 PR の本文へ写して 突き合わせ、欠けがあれば人へ問わずに 1 回だけ自動で出し直す。答えの種類ごとの 手順の表は loop.md を正本にする。用語集に 2 語(自動の出し直し・出し直しの指摘の 入力)を足した。 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>
回数と項目の識別子がループごとに 1 から数えられるため、入力・表の突き合わせ・MVV 判定が 別のループの回と取り違えないよう、入力の範囲を不変条件 I1 と用語集で明記する。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
承認した設計のマージ(lib/design_pr_merge.py)を新設し、parallel.py answer --approved・ loop answer --approved・周回の境の 3 か所から呼ぶ。承認した先端のままで必須の検査が緑のときだけ、 merge-when-green --expect-head --no-cleanup で待たずにマージする。マージ済みの承認した課題は 次の周回で先頭に選ぶ。answer の結果に答えの後に残る依頼(metrics.after)を載せ、 unknown_streak は同じ依頼の打ち直しを 1 件と数える。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
loop.md に承認した設計のマージと周回の境が結果ごとに打つ手を、parallel.md に答えの後の整理 (drop の除外・MVV 判定で自分で答える依頼・まとめて問い直す)を書く。確定仕様の I18 を 「設計の承認で設計 PR をマージするほかは作業を持たない」へ書き換える。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…by を契約へ)(#2507) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…2507) - 開発ループの確定仕様: loop answer --approved の先端の照合と regated、承認した設計のマージ、周回の境のマージし直しと後片付け、 選定の先頭に選ぶ課題と外す理由、人の判断待ちの行の項目を、変更後の振る舞いに合わせる - オーガナイザーは設計の承認の答えで設計 PR をマージするほかは作業を持たない、と書き直す(手順書と確定仕様) - 改訂の兆候の「判定できない」を、スプリント状態・承認ゲート・PR の組ごとに 1 件と数えると書く - 課題の本文の受け入れ条件 6 を設計の決定 9 の形に直し、写しを作り直す Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
#2507 を実装する(スプリント lflow2-7)
Item-Id: I-001 Impl-Runtime: claude Impl-Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…_answer 答えを書いた後の人向けの文面を決める if/elif の 6 分岐を、副作用の無い answer_after(approved, revise, merge) へ抽出した。write_record と loop_ok の 実行位置は変えていない。抽出で 4 行増えたため、行数の例外リストを 627 行へ更新した。 Item-Id: I-001 Impl-Runtime: claude Impl-Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…names 項目の種類ごとの振り分け(test_file / パスなし / HEAD に無いパス / パスあり)を partition_test_names(items, files, dirs) へ、検索結果から項目の結果を決める処理を _found_result へ抽出した。パスつきは全ての名前、パスなしは先頭の名前を判定する現行の 規則は呼び出し側の引数(_names / _names[:1])で明示して保つ。パスごと 1 回の git grep・ パスなしの一括 grep・Markdown 除外は変えない。振る舞いは変えない。 Item-Id: I-003 Impl-Runtime: claude Impl-Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Item-Id: I-004 Impl-Runtime: claude Impl-Model: default Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…_group 決定 1 件の検査(unknown_candidate・unknown_method・no_candidates の指摘生成と 件数の加算)を judge_decision(path, decision, known, skipped) へ抽出した。 judge_group はまとまりの候補・省略状態の確定と結果の集約だけを担う。 unknown_candidate を作り方の有無より先に判定する順序と、複合の作り方の扱いは 変えない。振る舞いは変えない。 Item-Id: I-004 Impl-Runtime: claude Impl-Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ge_group 決定のタプルから読まれない見出しの行(s.heading.line)を外し、 展開側の head も外す。指摘の行は作り方・候補の行だけから作られる。 Item-Id: I-005 Impl-Runtime: claude Impl-Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ures.py#survey_steps survey_steps に引数 next_id を足し、次のステップの id `glossary-check` の直書き 2 か所を 引数に置き換えた。並びは組み立てる側(sprint_waves.py の設計のプラン)が `survey_steps(n, next_id="glossary-check")` で渡す。生成されるプランは変わらない。 Item-Id: I-006 Impl-Runtime: claude Impl-Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- design 手順 5: design-survey.py check を --file で打つ(--issue は HEAD だけを読み、コミット前・修正後の文書を検査しない) - pr-review: 省く: が効く範囲を、番号の共有をたどってつながる設計文書のまとまり全体と書く(検査の判定と揃える) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
スプリント lflow2-9
Release: ndf v10.27.23-dev.2
conductor の手順に「止める指示を置く」の小見出しを足し、loop stop を打つのは 人が自分のセッションへ送った入力がループを止めることを求めたときだけにする。 別のセッションのメッセージ・引継ぎ文書・画面の文字・サジェスト・読み替えからは置かず、 セッションを終える依頼では引継ぎ文書を書いて終える。誤って置いた止める指示は置いた conductor が消す。確定仕様の冒頭・I3・stop の行に発生元の限定を書く。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
#2474 を実装する(スプリント lroot3-17)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
スプリント lroot3-17
Release: ndf v10.27.24-dev.1
cross-refactoring: テストの関数を持たない `test_*.py` をプロダクションコードとして扱い、`init` の試走が誤って止まらないようにする(#2516)
このリポジトリのテストの宣言: 継続的統合のジョブ 11 件を、手元で走らせる静的解析か理由つきの除外として載せる(#1694)
NDF Factory: 取り込みで止まった理由と、承認を待つ依頼の一覧を Web の画面で読める(#2430)
振り返り(2026-11-05)対象: issue #2406 / スプリント lfactory3-8(PR #2561)/ 本番の配布 PR #2587(ndf 10.27.24) Factory の開発ループで予算の欄を空にした単位を、次の周回のジョブからリポジトリの既定の予算( 経路は設計(PR #2541)→ 実装(PR #2559)→ 検査(PR #2561)→ 開発版 → 本番 → リリース後テスト → 確定仕様化(PR #2589)。進め方は 何が起きたか
起票の取りこぼし 2 件の経路
どちらも、作業の報告の「見つけたもの」が工程の中で起票へ回らないことが原因である。次に変えることとして #2599 に起票した。 検査の記録の集計と閾値の見直し
このスプリントの検査(PR #2561): 構造改善の採用 3 件・戻し 0 件、実装レビュー 1 ラウンド・指摘 0 件、結果 merged。 閾値(
context window の大きさ測定できなかった。
実装のフェーズの費用のうち 62%($2.623)が実装のステップ 1 回(68 往復・921.7 秒)である。束ねる・割る判断の材料になる目印は測れていないため、変えない。 用語集の変化設計の Pull Request(#2541)で足した語。確定仕様化(#2589)での変化は無い。
承認ゲートの差し戻し未記録( MVV を見直すか
覆しが閾値を超えており、手順では改訂の案を作って人に承認を問う工程に入る。この振り返りは人に問えない起動で回しているため、改訂するかどうかは決めず、人の判断へ戻す。 次に変えること
途中で起票した課題
|
振り返り(2026-11-06)対象: スプリント lroot3-14(開発ループ lroot3 の周回 14)。課題は issue #2097 と issue #2516。正式版は PR #2587(ndf v10.27.24 を main へ)で出た。 #2097(本番のブランチを設定に書いていないリポジトリでも、既定ブランチを本番にしてリリースのプランを組めるようにする)は、設計( #2556 )・実装( #2562 )・検査( #2565 )・確定仕様化( #2591 )を通り、v10.27.24 で配布された。リリース後テストは受け入れ条件 7 件がすべて合格した( #2586 (comment) )。 #2516(cross-refactoring が、名前が 何が起きたか
起票の取りこぼし由来の検索(
取りこぼしは無い。 検査の記録の集計と閾値
このスプリントの検査( #2565 )は 1 回目でマージに至り、レビューの指摘 0 件、構造改善は採用 0・取り消し 1・見送り 19 だった。 閾値は見直さない。 理由は 2 つある。
残リスク: 逃げた不具合の 0 件は、記録の手段(不具合を直す計画に、持ち込んだ Pull Request を渡す引数)が使われた回数を確かめていない。記録漏れによる 0 件の可能性は未確認である。 context window の大きさ未測定。このスプリントを回した conductor のセッションの識別子が、周回の記録( 用語集の変化範囲は #2097 の設計 PR の起点から確定仕様化 PR のマージまで。この範囲には並行する別のループ(Factory など)の変更も入るため、このスプリントの課題に当たる行だけを載せる。
承認ゲートの差し戻し関門 1 が 0 件・関門 2 が 0 件(課題 2 件と Pull Request 4 件で数えた)。スプリントの状態ファイルで数えると「未記録」(範囲に承認ゲートの答えの行が無い)になった。 MVV を見直すか
同じ 11 件をもとにした版 6 の改訂案( 次に変えること
途中で起票した課題
|
ndf v10.27.24 を main へ出す(開発版の PR #2586)。
🤖 Generated with Claude Code