markharness

0002: changes computeのimpacted_testcasesはhistoricalモードをデフォルトにする

ステータス

Accepted

背景

markharness changes computefrom_milestone/to_milestoneという過去の2タグを比較するが、impacted_testcases(影響を受けるTestCase集合)は常に現在の作業ツリーから生成されていた(impacted_testcases_by_featuresrc/changes.rs)。そのため、同じ過去の区間を後日再計算すると、現在のテスト構造の変化に応じて結果が変わり得た(docs/テスト知識管理のGit-nativeモデル_評価レビュー.mdのP1指摘)。

これは「過去のある区間で実際に何が影響を受けたか」という問い(履歴再現)と、「今この時点で再確認すべきテストは何か」という問い(現在候補抽出)が、明示的に分離されずに1つの実装に混在していたことが原因である。

決定内容

markharness changes computeimpacted_testcases計算に2つのモードを設け、デフォルトをhistoricalモード(to_milestoneタグが指すGitツリーから生成)にする。

markharness backfill run(第4章のバックフィルワーカー)も、過去のマイルストーン区間を再構成する処理であるため、同じくデフォルト(historical)を使うようにした。

採用理由(デフォルトをhistoricalにした理由)

影響・将来の再検討条件