feat: 実績バー優先の実績連動設計(正規化/業務時間帯/シーケンス/稼働時間算出の明確化)#126
Conversation
設計Issueの計画を整理し、実装に必要な指針を明文化する Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
バー優先の正規化ルールとテスト方針を整理し、 実装時の責務分離と品質ゲートを明確化する Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
レビュー指摘に合わせて丸め境界と 無効条件の記述を調整する Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
境界値の丸め方と期待結果を追記し、 設計計画の曖昧さを解消する Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
0.125h 境界の扱いを明示し、 設計計画の記述を明確化する Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
0.25h 刻みの端数判定を明示し、 例示と整合する記述に修正する Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
括弧前後の表記を整え、 計画書の可読性を高める Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
例示を箇条書きに整理し、 丸めルールの参照性を高める Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
0.25h 正規化の計算式を追記し、 丸め規則の曖昧さを解消する Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
四捨五入の表現を明確化し、 境界直前直後の例を追記する Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
Math.round 相当の表現に揃え、 境界条件の理解を容易にする Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
小数部の丸め条件を明示し、 0.25h 正規化の基準を整理する Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
effort/0.25 の丸めであることを明記し、 計算意図を明確化する Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
round-half-up の計算式を明記し、 丸め挙動のブレを防止する Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
上方向への閾値を追記し、 境界例の意図を明確化する Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
小数部の閾値で判定することを明確化し、 説明の混乱を避ける Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
LevelCapTech
left a comment
There was a problem hiding this comment.
@copilot 正規化ロジックがどのタイミングで・どのソースコードから、どのようにして呼ばれるのかが不透明です。このスレッドコメントを参照し、.github/copilot/plans/41-actuals-linkage-bar-priority-spec.mdファイルを修正してください。
PR本文は維持。既存本文の削除/置換は禁止。必要情報はPR本文末尾の ‘コードレビューフィードバック対応`の追記セクション’ に追記すること。
呼び出しタイミングとworkHoursPerDay設定を明記し、 実装対象ファイル一覧を更新する Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
既定値の表記と呼び出しタイミングの説明を調整し、 設計計画の一貫性を高める Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
|
@copilot apply changes based on the comments in this thread .github/copilot/plans/41-actuals-linkage-bar-priority-spec.mdファイルを修正してください。 |
ガントバー操作の主体をUserに明示し、 シーケンス図の呼び出し方向を整合させる Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
レビューコメントの指摘に従い、シーケンス図の主体をUserに修正しました。対応コミットは a4e6fbe です。 |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
@copilot apply changes based on the comments in this thread .github/copilot/plans/41-actuals-linkage-bar-priority-spec.mdファイルを修正してください。 |
actualEffortの扱いと既定算出の前提を明記し、 異常系テスト観点を追加する Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
レビューコメントの指摘に従い、actualEffortの命名整理と異常系テスト観点の追記を行いました。対応コミットは b87c2e7 です。 |
workHoursPerDayの算出式とクランプ値を追記し、 仕様の曖昧さを解消する Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
windowHours/defaultBreakHoursの定義と 警告メッセージの要件を明記する Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
windowHoursが短い場合の算出ルールと warnOnceの適用範囲を明記する Co-authored-by: LevelCapTech <99854263+LevelCapTech@users.noreply.github.com>
name: DESIGN PR
about: 設計フェーズの設計差分を共有するためのテンプレートです(実装なし)。編集対象ファイルはIssue指示を参照。
概要(Summary)
このプルリクエストは 実績開始日/実績終了日/実績工数のバー優先連動仕様 の設計を行います。
.github/copilot/plans/41-actuals-linkage-bar-priority-spec.md背景・経緯(Context / Facts)
.github/copilot/80-templates/implementation-plan.md実行区分(AIが実行したこと/人間が追加で行うこと)
.github/copilot/plans/41-actuals-linkage-bar-priority-spec.mdADR(Architectural Decision Records)
ADR変更サマリ(インデックス)
設計の要点(Decision Summary)
Task.actualEffort(hours)を前提に round-half-up で正規化する。workHoursPerDay = windowHours - defaultBreakHoursで算出する。レビュー議題(Review Agenda)
仮定・不変条件(Assumptions / Invariants)
合意境界(Decided vs Not Decided)
確定(Decided)
未確定(Not Decided)
要件・成功条件(Requirements / Success Criteria)
製造スコープ(実装時に影響する機能・契約・運用)
影響するもの(In-Scope)
影響しないもの(Out-of-Scope)
未確定(TBD)
互換性・移行(Compatibility / Migration)
代替案とトレードオフ(Trade-offs)
影響範囲(設計が示す影響と根拠)
リスクと対策(Risk / Mitigation)
実装ガイド(実装担当へ渡す情報)
サンプル実装(PR本文専用)
codingAgentが「手を動かしたい」欲をここに寄せます。サンプルコードはPR本文にのみ記載し、リポジトリにファイル追加しません。
サンプル実装の扱い(Sample Code Contract)
インターフェース / 型 / DTO(例)
疑似コード(例)
SQL / DDL(例)
設定例(例)
失敗パターン / 境界値(例)
“推論せず質問に落とす”ための質問票(ADR / Open Questions)
実装TODO(次PRのタスク分割)
レビューの観測ログ(何を見てレビューできるか)
.github/copilot/plans/41-actuals-linkage-bar-priority-spec.md補足(Notes)
コードレビューフィードバック対応(Review Feedback Response)
このセクションは「追記」で管理します。
追記(今回分)
既存ログ(前回まで)
Original prompt
This section details on the original issue you should resolve
<issue_title>[DESIGN] タスクテーブル:実績開始日/実績終了日/実績工数の連動仕様(バー優先・矛盾ゼロ)</issue_title>
<issue_description># [DESIGN] タスクテーブル:実績開始日/実績終了日/実績工数の連動仕様(バー優先・矛盾ゼロ)
依頼の要点(合意の前提)
タスクテーブルの以下3項目を「常に整合性が取れた状態」で連動させ、表示・編集のどのタイミングでも矛盾が残らない仕様に統一する。
本仕様は バー優先とし、実績バー(期間)の見た目と一致することを最優先にする。すなわち、矛盾解決・初期表示・再計算のSSOT(一次情報)は (ActualStart, ActualEnd) とする。
成果物
.github/copilot/80-templates/implementation-plan.mdに準拠した plan ドキュメントを.github/copilot/plans/41-actuals-linkage-bar-priority-spec.mdを修正する。.github/copilot/plans/41-actuals-linkage-bar-priority-spec.mdのみとする。背景 / 前提条件
利用者ロールと権限要件
実行環境
外部サービス / 依存
データ型の前提(確定)
ネットワーク要件
セキュリティ前提
スコープ定義
In Scope
Out of Scope
用語定義
仕様ブロック(最大ボリューム)
1. SSOT / 優先順位(バー優先)
2. 初期表示(ロード時)仕様
ロード/再描画の際は以下の優先順位で補完・矛盾解決を行い、表示上矛盾が残らない状態に正規化する。
(1) ActualStart と ActualEnd が両方存在する場合
(2) ActualStart と ActualEffortHours が存在し、ActualEnd が欠落/無効の場合
(3) ActualEnd と ActualEffortHours が存在し、ActualStart が欠落/無効の場合
(4) 上記いずれにも該当しない場合
3. 編集時(ユーザー操作)仕様
共通ルール:
3.1 ActualStart(実績開始日)を編集した場合
3.2 ActualEnd(実績終了日)を編集した場合
3.3 ActualEffortHours(実績工数/消化工数)を編集した場合(重要)
4. 矛盾解決(正規化)ポリシー
4.1 3項目すべてが存在し矛盾している場合
4.2 無効値の扱い
5. 計算単位・丸め・境界条件(本Issueで確定)
5.1 表現と粒度
5.2 期間境界(含む/含まない)
5.3 丸め・正規化(確定)
🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.