Skip to content

Release: ndf v10.27.18 を main へ - #2522

Merged
takemi-ohama merged 91 commits into
mainfrom
release/v10.27.18
Nov 5, 2026
Merged

takemi-ohama merged 91 commits into
mainfrom
release/v10.27.18

Conversation

@takemi-ohama

Copy link
Copy Markdown
Contributor

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

🤖 Generated with Claude Code

takemi-ohama and others added 30 commits November 4, 2026 08:08
用語集へ「再開のジョブ」を足した。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
持ち主の記録・後片付け・並行の排他・再開の入口(柱 P3)の受け入れ条件を、
課題の本文から spec-copy.py で写した。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
上限と再試行の方針を 1 つの宣言に集める柱(P4)の要求を課題の本文に書き、
spec-copy.py で写しを作った。本文で使う語(方針の名前・原因の鍵・再試行・
ステップの打ち直し)を用語集へ足した。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
設計のプランで cross-review が上限到達で終わったときの行き先を、未解決の件数と駆動の失敗で分ける要求。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
NDF に予算だけを反映する副命令 loop budget を足し、ランナーが再開のジョブで
conductor を起こす前に打つ。サービスは再開のジョブにも LOOP_BUDGET を載せる。
用語集へ「予算の反映」を足した。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
設計のプランのレビューのステップで終了コード 6 を新しい review-settled のステップへ回し、
実行の記録の未解決の件数が 0 件なら通常の経路へ、残るか読めなければ承認ゲート 1 の判断へ進める。
実行器と cross-review の終了コードの契約は変えない。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 章の順を設計のテンプレートに合わせ、入出力の契約を処理の流れの前へ移した
- 結果 JSON の項目を表へ移し、100 字を超える文を分けた
- 決定の根拠の Value 番号に題を添えた

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 不変条件 I1 を I1a・I1b、I4 を I4a・I4b・I4c に分け、テスト設計の行と 1 対 1 で対応させる
- ループの記録が持つ語として「予算の履歴」と「人の判断待ちの行」を開発ワークフローのコンテキストへ足す。
  着手の前の状態を指す「人の判断待ち」と分けるため、設計ではループの記録の行を「人の判断待ちの行」と呼ぶ

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
柱 P3 の設計文書を、本体・データ構造と入出力の契約・決定の記録の 3 本で足した。
持ち主の単位(実行・セッション)、前提 3 の入口の鍵と使用中のときの扱い、
打ち切りで止めるプロセスの範囲、再開の入口と旧い形の寄せ方、状態の一覧に足す行、
子の課題 18 件の判定を決めた。新しい語 5 つと「持ち主の記録」の意味の変更を用語集へ反映した。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
上限と再試行の方針を 1 つの宣言(plugins/ndf/contracts/limits.json)に集め、
同じ原因の打ち直しを宣言の回数で止め、待ちが上限の時刻に最後の照会を打つ
設計を書いた。構造チェックに limit-literal と sleep-loop を足し、移す数字
104 か所を 3 本の Pull Request で移す。要求の未決 1〜5 の答えは決定の記録に
置いた。設計で使う語(眠りのループ・最後の照会)を用語集へ足した。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
normal で --state が無いプランは mvv を流さず、助言の mvv は判定の結果によらず
mvv-note から承認ゲート 1 の判断へ戻ることを、不変条件 I1 とイベント E6 に書く。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
内容は足さず、文の区切りと表・コードブロックへの置き換えだけを行った。
平均文長: 本体 38.1→30.6 字、契約 37.4→33.5 字、決定の記録 49.4→39.8 字。
最長文: 162→90 字、115→87 字、125→90 字。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- あるべき姿の根拠の「数え方」の 1 文(242 字)を表へ移した
- 構成要素と構造に小見出しを入れ、Waited に足す値を箇条書きへ分けた
- 決定の記録の 100 字を超える文を分け、3 本の Pull Request の中身を表へ移した
- 決定の根拠の Value 番号に MVV の題を添えた

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
I9・最後の照会・seconds の意味・retry_call / wait_until の止まる条件と
受け入れ条件 6 の検査を、眠りの合計ではなく開始の単調時計の値 + seconds の
期限から残りの秒を計算する契約にそろえる。時計を差し替える clock 引数を足す。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 継承(inherited)を実行の識別子の一致ではなく、持ち主のプロセスが祖先かどうかで決める。再開した実行が生きた前の実行と同時に持たないようにする
- 返せるのは記録の持ち主のプロセスと同じ実行(session では同じランタイムのセッション)にし、子が新しく取った鍵は子が返す
- 結び付いた状態は、結び付く鍵の記録がすべて終わっているときだけ、鍵の排他の中で外す
- 30 日を過ぎた持ち主の記録の削除を持ち主の部品の lease.prune に置く
- 集約名を「持ち主の契約」に改め、寿命の窓の意味と置き場(window_seconds)を用語集と契約に書く

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 死んだ持ち主を取り直す経路で、自分の鍵の排他を外してから結び付く鍵すべてを名前の順に取り直す
- release と touch は実行の識別子でなく持ち主のプロセスで照合する
- 配置の図を祖先のプロセスによる継承に揃える
- 見直しの持ち主の寿命の窓を契約の 900 秒に固定し、同じホストで窓を使わない振る舞いを決定 15 に書く

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 契約の前提 3 で upkeep.py owner release に release: true を付け、決定 15 を合わせる
- 止まったときの案内から kill を外し、pid を添えて人へ戻す形にする
- depths.owner.ttl を設定・確定仕様から外す移行と、apply の判定を持ち主の部品へ移すことを書く
- 取得の図の reclaimed を分岐に分け、排他の順序の規則を両立する文に直す

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 題を 64 字から 54 字にした(目安 60 字)
- 「normal と --state」を「--state 付きの normal」へ。新しい副命令の引数 --state と取り違えないため
- 決定 3 の normal の変化を、不変条件 I1 と経路の表にそろえた(直しの取り込みから用語チェックまでが流れる)
- 契約テストの見本のパスを、設計の結果の「触るファイル」と同じ起点から書いた

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
承認ゲート 1 の答え(直して出し直す)に従い、旧い置き場の記録を読む互換・
再開の入口と旧い再開の形の別名・待つ形・配布の承認資料の後片付け・
一時の置き場の一覧・子のプロセスの停止を範囲から外した。外した子の課題は
残す理由を表に書いた。実装の開始は #2337 のマージ後と明記した。
課題の本文の要求を同じ範囲へ直し、要求のコピーを作り直した。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 176 字・111 字・98 字の文を分け、図に描かない要素の列挙を表へ移した
- 決定の記録で連鎖した 5 文を分けた
- 「前提 3 の入口」を「持ち主の鍵を宣言する入口」へ置き換えた
- 内容は足していない

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 決定 1・決定 3 の 85 字の文を 2 文に分けた
- 構成要素の図を表の直後へ移し、確定仕様の書き直しの注記を章の末尾へ置いた
- コンテキストの関係の文から重なった括弧書きを外した

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
設計のプラン: 上限で終わった cross-review も、未解決 0 件なら MVV 判定へ進める(#2388)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- 30 日後の削除は記録の .json だけにし、錠の .lock は locks.py の規則どおり残す
- 単位 session でランタイムのセッションが見つからないときは no_session・stopped 1 で止める
- 生きた持ち主がいるときは例外でなく refused の戻り値で返し、持ち主の 3 項目を核が結果 JSON へ写す
- acquire は毎回 psutil を読む(自分の開始時刻を書き、祖先をたどるため)。69 の時点と性能の見積もりを揃える

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 鍵を取る副命令だけを no_session で止め、loop stop・loop finish は本体を走らせ、読むだけの副命令は持ち主の段を通らない
- NDF_RUNTIME_SESSION と NDF_STATE_DIR を自動の fixture で与え、サブプロセスのテストが CI で no_session にならないことをテスト設計に足す

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
takemi-ohama and others added 26 commits November 5, 2026 06:57
NDF Factory: 画面で行える操作を、委任を受けたエージェントが API と MCP から同じ認可と記録のもとで行える(#2384)
NDF のスクリプト: 見送ったリファクタリングの提案 24 件を判定し、長い関数と重複を減らす(#2422)
Update: ループの予算の周回と時間を実質無制限にする(#2505 までのつなぎ)
Fix: 中継の下のシェルの環境変数をテストが受け継がないようにする
画面の地図: 予定の画面ごとに、その画面を作る課題が分かる(#2431)
docs/glossary/glossary.json の衝突は base-sync で両側の追加項目を残して解いた。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KYHP82YBP3K8vVBou7sEBN
- 使用量の行の組み立てを context_decisions.usage_call へ寄せ、read_calls と ledger_calls から使う(行 1・15)
- read_calls から自動圧縮・最初の発言・呼び出しの登録を抜き出す(行 16)
- 時刻の読み取りを clock.epoch へ寄せる(行 6)。正の整数の判定を context_policy.positive_int にする(行 17)
- session_parts と report_work から区間・サブエージェント・帳簿・合算・数え上げを抜き出す(行 2・3)
- 記録の行の組み立てを context_decisions.record_row へ寄せ、cmd_record と record_restart で共有する(行 21)
- token_guard の試行方式の句を既存の定数で比べ、計画の案内の git の根を context_decisions.toplevel で取る(行 5・10)
- 作業の報告・呼び出し・記録の行の現状固定テストを足す

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- upkeep_research: 時刻の読み取りを clock.epoch へ寄せ、run_research から持ち主の印と空きの待ちを抜き出す(行 6・7)
- upkeep_depth: 「その深さを実行した」行の判定と最後の位置を 1 か所にし、diffs_since と _due_overhaul から使う(行 11)
- upkeep_overhaul: count_types を型・部品・月ごとの数え上げに分ける。戻す辞書のキーと順は保つ(行 19)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- run_selection から、選べる課題が無いときの止まり方と、周回の行を作って記録する部分を抜き出す(行 18)
- 直しの周回の印の現状固定テストを足す

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
NDF のスクリプト: 呼び手の無い関数を片付け、子の課題 17 件の解消を確かめて閉じる(#2369)
- aggregate_by_project から、利用者の発言 1 件のトリガーとヒットの数え上げを抜き出す(行 4。深さ 5 → 3)
- 一緒に渡る 6 つの値を AgentReport にまとめ、emit_json と emit_markdown が受ける(行 14)
- 数え上げと結果 JSON のキーの順の現状固定テストを足す

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
read_codex から、記録 1 本を 1 行ずつ読む部分と、呼び出しごとの値から使用量を組む部分を抜き出す(行 12)。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- clock.epoch を clock.epoch_seconds にする(lib/claude_usage.py の epoch と名前が衝突した)
- context_policy.positive_int を is_positive_int にする(supervise_lib/new_args.py と名前が衝突した)
- context_decisions.parse_ts を clock.epoch_seconds の別名にし、upkeep_research の _iso_epoch を消す(本体が同じだった)
- read_calls と usage_call・record_row を詰め、context_decisions.py を 500 行に収める

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
#2422 を実装する(スプリント lflow2-5)
…resolve_policy

方針名の重ね合わせ(既定 < config < env < CLI と無視した環境変数)を _resolve_policy_name へ、
判断開始・運用上限・余白とその出所の重ね合わせを _resolve_thresholds へ抜き出す。
resolve_policy には環境変数と設定の読込み、sources の結合、AppliedPolicy の生成だけを残す。
sources のキーの順序・設定が空でないときの config の記録・current 時の margin・無効値の無視は変えない。

Item-Id: I-001
Impl-Runtime: claude
Impl-Model: claude-opus-5-5
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…pts/upkeep_research.py#research_items

needs.usage の行を使える行と飛ばした側面に分ける部分を _usage_rows へ、
宣言の無い側面を補う末尾のループを _undeclared へ抜き出した。
research_items は抽出した 2 つと項目の追加だけを並べる形になる。項目と飛ばした側面の順は変えていない。

Item-Id: I-002
Impl-Runtime: claude
Impl-Model: claude-opus-5-5
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…kill-stats.py#agent_report

agent_report が argparse の Namespace に args.limit_meta を書き込み、emit_json がそれを読んでいた隠れた依存をなくす。
AgentReport に limit_meta を加えて上限のメタデータを戻り値で返し(--agents 無効時は空の dict)、emit_json は report.limit_meta を使う。

Item-Id: I-003
Impl-Runtime: claude
Impl-Model: claude-opus-5-5
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…pts/upkeep_research.py#research_one

上限内か・出典があるかの合否の式を accepted として 1 回だけ計算し、
log_call へ渡す値と、記録を書かずに戻る分岐の両方でそれを使う。
否定形の式は元の式のド・モルガン変形で、振る舞いは変わらない。

Item-Id: I-004
Impl-Runtime: claude
Impl-Model: claude-opus-5-5
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…#calibrate

較正の節(_median_of・_mark_times・_restore_sample・_handoff_sample・_stage_segments・
calibrate・calibrate_repo と CACHE_1H)を lib/context_calibrate.py へ移した。
会話の記録の全体を読む較正と、hook が使う記録の追記・小さな JSON の読み書きを別の
モジュールに分ける。record_restart は循環を避けて関数の中で context_calibrate を読む。
context-policy.py の cmd_calibrate とテストの参照先を新しいモジュールへ変えた。

Item-Id: I-005
Impl-Runtime: claude
Impl-Model: claude-opus-5-5
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@takemi-ohama
takemi-ohama merged commit 6d1429b into main Nov 5, 2026
46 checks passed
@takemi-ohama
takemi-ohama deleted the release/v10.27.18 branch November 5, 2026 01:12
@takemi-ohama

Copy link
Copy Markdown
Contributor Author

振り返り(2026-11-05)

対象: issue #2422 / 設計 PR #2499 / 実装 PR #2511 / スプリント PR #2513 / 配布 PR #2521・PR #2522(ndf v10.27.18)

開発ループ lflow2 の周回 5(スプリント lflow2-5)は、#2422 を 1 件だけ進めた。#2422 は、前のスプリント lflow-1 の検査でクロスリファクタリングが時間の予算に入れず見送った改善の提案 24 件を、改修するか採らないかに分け、改修する行で長い関数と重複を減らす課題である。

判定は改修 17 件・採らない 7 件で、採らない 7 件にはすべて理由がある。公開インタフェース(コマンドの引数・終了コード・結果 JSON・契約)は変えていない。2026-11-05 10:12 JST に v10.27.18 として本番へ配布した。

何が起きたか

観点 事実
受け入れ条件 途中で変えた条件は無い。承認ゲート 1 で、24 行すべてを対象にすると利用者が決めた(要求の未決 1)
手戻り 実装の Pull Request は 1 回でマージした($6.266、3,670 秒)。検査ではリファクタリングが 6 件を出し、5 件を採り 1 件を取り消した。修正のラウンドは 6 回。コードレビューは 2 ラウンドで指摘 1 件を直し、未解決 0 件で承認になった($0.695、5,850 秒)
見落とし リリース後テストは 14 行のうち合格 11・不合格 2・保留 1 だった。不合格の 2 行(受け入れ条件 1・4)は「24 行の判定表と前後の行数を Pull Request の本文に書く」という条件である。判定表は設計文書にあったが、PR #2511・#2513・#2499 の本文には無かった。記録を投稿した 2 分後(2026-11-05 11:54 JST)に PR #2513 の本文へ判定表と前後の行数が足され、今は条件を満たす
見落とし 設計文書に書いたテストのパス(tests/test_hook_deadline.py)が実体(plugins/ndf/scripts/tests/test_hook_deadline.py)と違い、実装の工程の照合(design-tests)が終了コード 1 を返した。この照合は工程を止めない作りで、後続の突き合わせへ進んだ。確定仕様 docs/specifications/ndf-script-shared-helpers.md では正しいパスになっている
範囲 範囲は広げていない。スプリントの検査のリファクタリングも 28 件を時間の予算で見送り、起票はしなかった(Value 3: 残りを新しい Issue へ送ることを既定にしない)
工程 飛ばした工程は無い。配布の依頼のステップが承認ゲート 2 で止まり、別の並列の配布(v10.27.18)にまとめて本番へ出た
起票の取りこぼし 無し。issue-file.py by-origin(issue #2422・PR #2499・#2511・#2513。上流リポジトリも検索)の結果は #2422 自身の 1 件だけだった。実装と検査の報告に範囲外の項目は無く、スプリントの PR の「採らない」7 行は判定の結果であって範囲外の課題ではない

リリース後テストが保留にした 1 行(追加した現状固定テスト 3 件が、既存のテストと同じことを二重に確かめているか)は、テストを減らさない。3 件は改修の前のコードで通ることを確かめた現状固定テストで、改修の前後の振る舞いをそろえる根拠になっている。重なりを減らす効果は測っておらず、Value 4(測らずに良くなったとは言わない)に照らして、今は手を入れない。

検査のトリガーと閾値

検査のトリガーの集計(check-trigger.py stats --root /work/ai-plugins、2026-11-05 実行)は次のとおりである。

項目 値
トリガーの評価(eval)の回数 0
トリガーが立った回数 0
検査の回数(すべて Pull Request を指す検査) 58
 うち落ちた検査 37
 うちマージした検査 21
検査の後に逃げた不具合(流出不具合) 0(結び付いた 0・結び付かない 0)

このスプリントの検査(PR #2513)は 1 回目でマージし、件数はリファクタリングの採用 5・取り消し 1・見送り 28、コードレビューの指摘 1・修正 1・未解決 0 だった。

閾値は見直さない。 理由は 2 つある。

  • トリガーの閾値(点数 15・変更量 5,000 行・流出不具合・24 時間)は、進め方 fast だけが使う。このリポジトリの開発ループは進め方 auto で動いており、auto は検査をスプリントごとに必ず通すため、トリガーの評価を呼ばない(development-workflow の references/pace.md)。評価が 0 回なので、閾値が高すぎるか低すぎるかを判断する材料が無い
  • 流出不具合が 0 件で、検査をすり抜けて利用者へ届いた不具合は記録されていない

落ちた検査 37 件はトリガーの閾値ではなく検査の工程そのものの結果で、同じ Pull Request を指す検査が落ちてから再び流してマージに至った行を含む。どの段で落ちたかの内訳は集計に無く、未確認である。

context window の大きさ

測定は skill-stats.py --agents に、#2422 の作業場所(設計・実装・スプリント)のセッションを渡して取った。取れたのは設計の段階の 3 セッションだけである。実装と検査は claude -p の worker で動いており、その transcript はこの 3 つの作業場所の記録に無かった(未確認・残リスク: 実装と検査の層の固定費は測れていない)。

層 フェーズ モデル 件数 固定費の中央値 実作業の中央値 実作業 < 固定費 最大充填の最大 目印
conductor - claude-opus-5-5 3 67675 45826 2 174466
supervisor その他 claude-opus-5-5 3 25546 51964 0 103369
層 件数 固定費の合計 実作業の合計 総消費
conductor 3 202850 191847 394697
supervisor 4 101524 177878 279402
合計 7 304374 369725 674099
フェーズ supervisor supervisor の実作業 worker の件数 supervisor と worker の固定費の合計 目印

目印(束ねる候補・割る候補・worker を使いすぎ)の付いた行は無い。そのままにする。

用語集の変化

コンテキスト 足した語 廃止した語 意味を変えた語
ndf-workflow 現状固定テスト(構造を変える前の出力をそのまま期待値にしたテスト) 無し 無し

設計 PR #2499 のマージの前後で取った。スプリントの PR #2513 の前後では変化は無い。

承認ゲートの差し戻し

gate-rejections.py count(issue #2422・PR #2499・#2513・#2521)の結果は、関門 1 が 0 件・関門 2 が 0 件である。スプリントの状態ファイルだけを渡した集計は「未記録」(範囲に承認ゲートの答えの行が無い)を返した。#2422 の関門 1 の答えは開発ループの周回 4 の記録にあり、利用者は承認している。

MVV を見直すか

project-mvv.py signals の集計(プロジェクト MVV 版 5)は次のとおりである。

兆候 件数 閾値 閾値に届いたか
覆し(人が AI の判断と食い違う答えをした回数) 6 3 届いた
 うち「従う」と判定したものを人が退けた 0 — —
 うち「判定できない」か「反する疑い」と判定したものを人が通した 6 — —
判定できない(MVV 判定が結論を出せなかった回数) 0 5 届かない
判定できないが続いた回数 0 3 届かない
流出不具合 0 3 届かない

覆しが閾値に届いたため、AI はこの判断を自分で決めず、利用者へ戻す。 MVV の改訂は利用者の承認で成立する(共通原則 C7)。

判断の材料として、6 件の中身を記録(~/.local/state/ndf/project-mvv-signals.jsonl)から読んだ。

材料から読めることは次のとおりである。5 件では、AI は「決められないときは人へ戻す」(Value 2)に従って止まり、人が決めた。AI の判断が MVV の向きと食い違ったのではない。この読みが正しければ、直す対象は MVV の文面ではなく、覆しの数え方(未決を人へ戻したうえでの承認も覆しに数えている点)になる。ただしこれは AI の読みであり、改訂するかは利用者が決める。

選択肢 何が変わるか
MVV を改訂する references/project-mvv.md の「改訂」の手順へ入り、版 6 の案を作る
MVV を改訂せず、覆しの数え方を見直す MVV の文面は版 5 のまま。「判定できない」を人が通した記録を覆しに数えるかを、NDF の側で決め直す
何もしない 次の振り返りでも同じ兆候が閾値を超えたまま出る

推奨は「MVV を改訂せず、覆しの数え方を見直す」である。理由は、6 件のうち 5 件は MVV が人へ戻すと定める場面で、AI がそのとおりに止まった記録だからである。

次に変えること

変えること 落とし先 状態
MVV を見直すかを利用者が決める(上の「MVV を見直すか」) プロジェクトの取り決めの変更(.ndf/mvv.md。改訂するときだけ) 利用者の判断待ち
検査のトリガーの閾値は変えない。進め方 auto ではトリガーの評価が 0 回で、見直す材料が無いため。fast で評価が溜まったら、次の振り返りで同じ集計から判断する 変えない —
受け入れ条件が「Pull Request の本文に書く」と置き場を指定した記録が、設計文書にだけあった。このスプリントではリリース後テストの後に本文へ足して満たした。1 回目の発生で利用者への影響は無いため、手順は変えない。2 度目が起きたら、実装の工程の完了判定でこの種の条件を確かめるかを考える(Value 5) 変えない —

途中で起票した課題

無し。

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