Conversation
実装計画を整理し、正規化ロジックとUI統合の作業順を明確化する。 仕様準拠の最小差分で進めるためのチェックリストを提示する。 Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
start/end 優先の正規化と編集時の派生更新を追加し、0.25h丸めと稼働時間設定を反映する。 受入条件を満たすテストとドキュメント更新を合わせて実施する。 Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
丸め処理の説明追加とコミット時の丸めテスト更新で意図を明確化する。 無効日時の扱いを命名で補足し、レビュー指摘を解消する。 Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
実績(actualEffort)を start/end をSSOT として正規化し、0.25h 丸め・稼働時間帯・カレンダー稼働日を踏まえた派生計算を、Gantt 初期表示と TaskList 編集確定に統合するPRです。
Changes:
normalizeActuals/roundEffortToQuarterHourを追加し、start/end 優先で実績工数・期間を整合- Gantt 側で tasks 受信時に正規化を適用し、TaskList commit 時に丸め+派生 end/start 更新を適用
- 受入条件(矛盾補正・丸め境界・冪等・稼働時間差分・warnOnce)をテスト化し、README/型定義を更新
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/helpers/actuals-helper.ts | 実績正規化ロジック(稼働時間帯/稼働日/0.25h丸め/warnOnce)を追加 |
| src/components/gantt/gantt.tsx | tasks を描画前に正規化し、TaskList に actualsOptions を伝搬 |
| src/components/task-list/task-list.tsx | start/end/actualEffort の commit 時に正規化結果を適用(commit 値/派生更新) |
| src/types/public-types.ts | DisplayOption に稼働時間帯関連オプションを追加 |
| src/test/actuals-helper.test.tsx | 正規化/丸め/warnOnce の単体テストを追加 |
| src/test/task-list-commit.test.tsx | actualEffort 編集時の丸め・派生 end 更新を回帰テスト化 |
| src/test/task-model.test.tsx | 初期描画時の正規化(矛盾補正)確認を追加 |
| README.md | DisplayOption の稼働時間帯オプションを追記 |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
@copilot apply changes based on the comments in this thread PR本文は維持。既存本文の削除/置換は禁止。必要情報はPR本文末尾の |
start/end 編集時に時刻を維持し、invalid 日付比較の冪等性を改善する。 レビュー指摘に合わせてテストを追加し挙動を担保する。 Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
レビューコメントへの対応を 7b2fdc4 で反映しました。PR本文の追記はこの環境から更新できないため、必要であれば手動で追記をお願いします。UI変更はありません。 |
無効な日付同士を同一扱いする理由をコメントで補足し、不要なコメントを削除した。\nレビュー指摘への対応として読みやすさと一貫性を保つ。 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
@copilot apply changes based on the comments in this thread PR本文は維持。既存本文の削除/置換は禁止。必要情報はPR本文末尾の |
start/end 編集と正規化で同一の時刻解析を使い、比較は invalid 日付に安全化する。 レビュー指摘への対応として重複ロジックを削減する。 Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
TaskList の日付比較で invalid 日付を同一扱いしないようにし、更新判定を明確化する。 レビュー指摘に合わせて比較処理を簡潔に見直す。 Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
日付比較で valid 判定を先に行い、invalid 同士を同一扱いしないようにする。 レビュー指摘に合わせて比較順序を見直す。 Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
invalid 判定後の等値比較のみを残し、同一参照チェックを削除する。 レビュー指摘に合わせて比較処理を単純化する。 Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
invalid 日付の比較を簡潔化し、異常値でも更新判定が正しく動くよう調整する。 関連テストで invalid end のケースを含める。 Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
invalid 日付は常に異なる扱いとする旨を明記し、比較意図を分かりやすくする。 レビュー指摘への対応としてコメントを補足する。 Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
ParsedTime と parseTimeString の用途をコメントで明示し、保守性を向上する。 レビュー指摘に合わせてドキュメント補足を行う。 Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
invalid end を用いたテストの意図をコメントで補足し、比較仕様との整合を明示する。 レビュー指摘に合わせてテスト説明を追加する。 Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
ParsedTime の説明を parseTimeString の結果である点に合わせて修正する。 レビュー指摘に沿って文言を明確化する。 Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
レビュー指摘への対応を反映しました(4831082, 1acb533, 00d094e)。PR本文の追記はこの環境から更新できないため、必要であれば手動で追記をお願いします。UI変更はありません。 |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
概要(Summary)
このプルリクエストは .github/copilot/plans/41-actuals-linkage-bar-priority-spec.md に沿った実装変更です。start/end を SSOT とする実績正規化と 0.25h 丸め・半開区間の整合を UI 統合まで含めて反映しています。
背景・経緯(Context / Facts)
変更のインデックス(どのファイルをどう変えたか)
diffの目次(ファイル×変更概要)を下記のテーブルに記載します。
実装の要点(Diffから読み取りづらい“事実”)
適用後に観測できる結果(観測ログ/確認ログ)
確認ログ(何を実行/何を目視したか)
テストの実行状況(事実ログ)
エラーハンドリング・境界値の考慮事項(Error Handling / Boundary Conditions)
影響範囲(どこに影響する/しないと言える根拠)
依存関係とコストへの影響(Dependencies / Cost Impact)
マイグレーション/ロールアウト(必要な場合のみ)
スコープ境界(触っていい/ダメ、非目標)
推論せず“質問に落とす”ための質問票(ADR/確認事項)
セキュリティ自己確認(Security Self-Check)
実装と確認のログ(何を触って、何を確認したか)
実行区分(AIが実行したこと/人間が追加で行うこと)
補足(Notes)
コードレビューフィードバック対応(Review Feedback Response)
このセクションは「追記」で管理します。
追記(今回分)
既存ログ(前回まで)
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.