背景
#1 と同じ downstream 提案 (Phase 2 相当) から。元提案は intent に「Considered candidates」section を新設し、chosen / rejected 全候補と rejection reason を列挙することを求めていた。
レビューの結果、新 section は作らず、既存の Why not optional field への追補に縮退させる。理由: 全候補列挙の必須化は、quality_assurance.md の既存ガード「Why not は実際に検討した非自明な代替案がある場合だけ書き、架空の選択肢を水増ししない」と正面衝突する。
元提案の実質的な新規性
Rejection freshness — 却下理由が「当時の前提に依存する却下」なのか「設計原理由来の不変な却下」なのかを区別し、前者には再検討条件を添えること。これが無いと、前提が変わっても却下が生き残り続け、逆に前提を確認せず rejected 案が re-invent される。
例:
- **Why not**: 連続 60fps rAF — GPU 消費、scroll と光反応の因果崩壊。
GPU 消費理由は mobile GPU 前提の却下であり、desktop 専用配信になれば再検討可
- **Why not**: time uniform 経由の ambient drift — 入力と像の対応が消える。
shader intent の根本原理由来なので不変
実装スコープ
非スコープ
- 「Considered candidates」section の新設 (却下)
- 既存 DEC への retrospective 補完 (既存ルール「既存文書を一斉移行のためだけに書き換えない」に従い、しない)
背景
#1 と同じ downstream 提案 (Phase 2 相当) から。元提案は intent に「Considered candidates」section を新設し、chosen / rejected 全候補と rejection reason を列挙することを求めていた。
レビューの結果、新 section は作らず、既存の
Why notoptional field への追補に縮退させる。理由: 全候補列挙の必須化は、quality_assurance.mdの既存ガード「Why notは実際に検討した非自明な代替案がある場合だけ書き、架空の選択肢を水増ししない」と正面衝突する。元提案の実質的な新規性
Rejection freshness — 却下理由が「当時の前提に依存する却下」なのか「設計原理由来の不変な却下」なのかを区別し、前者には再検討条件を添えること。これが無いと、前提が変わっても却下が生き残り続け、逆に前提を確認せず rejected 案が re-invent される。
例:
実装スコープ
_docs/standards/quality_assurance.mdの intent decision record 節に、Why notへ「却下の前提が時限的な場合は再検討条件を添えてよい」旨を 1–2 文追記_docs/standards/templates/intent.mdのWhy notコメント行を同様に更新非スコープ