Attendance Rules & Calculation Skill
目的
勤怠の「ルール」を曖昧なまま実装しないために、仕様(ルール表)→ 入出力 → 例外 → テストケースまで落とし込む。
必須アウトプット
- •ルール一覧(表)
- •計算の入出力(TypeScriptの型イメージ)
- •代表ケースの期待値(最低10ケース)
- •“未確定”の論点リスト(決めないと実装できない点を明確化)
進め方
- •時間の正規化
- •保存は ISO 8601 / UTC(またはタイムゾーン付き)で統一
- •表示・集計は Asia/Tokyo(JST)
- •日次集計の基本式
- •総拘束 = 退勤 - 出勤
- •休憩合計 = Σ(休憩終了 - 休憩開始)
- •実働 = 総拘束 - 休憩合計
- •端数処理
- •切り捨て/切り上げ/四捨五入
- •単位(1分/5分/15分)
- •“出勤時刻の丸め”と“実働の丸め”は別物。混同しない
- •月次集計
- •Σ(日次実働), Σ(残業), Σ(深夜), Σ(欠勤) など
- •締め日(例:月末)と対象期間を明示
- •例外
- •日またぎ勤務(夜勤)
- •休憩の重複/欠落
- •手入力修正(監査ログ必要か)
- •テスト
- •“仕様例”をそのままユニットテストにする(スナップショットも可)
- •境界値:00:00跨ぎ、月跨ぎ、1分差、休憩無し、複数休憩
依頼例
- •「丸めルールを 15分単位にしたい。仕様とテストケース作って」
- •「日またぎ勤務をどう扱うべき?実装方針も含めて整理して」