-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Labels
✨ 新機能新しい機能の提案や要求に適用します。新規アイデアや機能拡張に関するイシューやプルリクエスト。新しい機能の提案や要求に適用します。新規アイデアや機能拡張に関するイシューやプルリクエスト。
Milestone
Description
ゴール
.github/copilot/plans/41-actuals-linkage-bar-priority-spec.md に記載された設計内容を一切逸脱せず実装する。
- start / end を唯一のSSOTとする
- 半開区間
[start, end)を厳守 - 0.25h round-half-up を厳守
- CI品質ゲートをすべて通過する
入力(確定plan)
-
DESIGN Issue:
[DESIGN] タスクテーブル:実績開始日/実績終了日/実績工数の連動仕様(バー優先・矛盾ゼロ) #125 -
DESIGN PR:
feat: 実績バー優先の実績連動設計(正規化/業務時間帯/シーケンス/稼働時間算出の明確化) #126 -
Plan:
.github/copilot/plans/41-actuals-linkage-bar-priority-spec.md
plan本文の章構成・制約・受入条件をそのまま実装に反映すること。
変更許容範囲
- planからの逸脱禁止
- Task公開型変更禁止
- actual系フィールド追加禁止
- 丸め単位変更禁止
- 半開区間変更禁止
- effort永続化禁止(派生値とする)
必要な仕様変更が発生した場合は DESIGN に差し戻す。
実装対象(plan準拠)
1. 正規化ロジック実装
planで定義された通り:
- SSOT = (start, end)
- effortは派生値
- 半開区間
[start, end) - 0.25h round-half-up
- 冪等 normalize
2. バー優先ポリシー
plan記載通りの優先順位を厳守:
- start / end が常に優先
- effort変更 → end再計算
- start変更 → effort再計算
- end変更 → effort再計算
優先順位の変更は禁止。
3. UI統合
planで指定された箇所にnormalizeを適用:
- gantt描画前
- task編集commit時
4. テスト実装
plan記載のGiven/When/Thenをそのままテストに落とし込む。
最低限:
- 初期表示整合
- 編集整合
- 0.25h境界
- 冪等性
- workHoursPerDay差分
受入条件(plan再掲)
-
Given: start/endと矛盾するeffort
When: normalize
Then: effortが補正される -
Given: effort変更
When: normalize
Then: endが再計算される -
Given: start変更
When: normalize
Then: effortが再計算される -
Given: normalizeを複数回実行
Then: 結果が変化しない(冪等) -
CI実行時
Then: lint/typecheck/test/security 全緑
参照ブロック(必須)
- 仕様の入口:
.github/copilot/00-index.md - 全体規範:
.github/copilot-instructions.md - 自動適用ルール:
.github/instructions/**/*.instructions.md - 仕様SSOT:
.github/copilot/10-requirements.md.github/copilot/20-architecture.md.github/copilot/30-coding-standards.md.github/copilot/40-testing-strategy.md.github/copilot/50-security.md.github/copilot/60-ci-quality-gates.md
- テンプレ:
.github/copilot/80-templates/*
Done(必須)
- plan完全準拠実装
- 受入条件をテストで担保
- CI品質ゲートが全て緑(format/lint/typecheck/test/security)
- Breaking changeなし
- 関連ドキュメント更新(最小差分)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
✨ 新機能新しい機能の提案や要求に適用します。新規アイデアや機能拡張に関するイシューやプルリクエスト。新しい機能の提案や要求に適用します。新規アイデアや機能拡張に関するイシューやプルリクエスト。