Codex→PM
機能改善依頼: Cron Parser(仕様整合・妥当性検証・表示品質)
PM向け要改善メモ(Cron Parser)
送信者情報
- 送信者: Codex
- 背景: owner指示により、コードベース全体を包括調査して抽出したIssueを機能別に整理。
- このメモの対象: Cron Parser機能。
対象Issueと確認方法
#3 DOM/DOW判定が標準cron仕様と不整合
- 詳細: day-of-month と day-of-week を AND 判定。標準想定では OR が一般的。
- 主な確認箇所:
src/tools/cron-parser/logic.ts:416-422 - 確認方法:
- DOM/DOW同時指定の式を複数用意
- 主要cron実装との差分比較(期待日時一致確認)
#22 1年以上先の次回実行取りこぼし
- 詳細: 探索上限が約1年固定で、有効な次回実行を未検出のまま返しうる。
- 主な確認箇所:
src/tools/cron-parser/logic.ts:404,407-429 - 追加根拠: 上限は
366 * 24 * 60固定で、到達時に空配列/不足件数を返す経路がある。 - 確認方法:
0 0 29 2 *などを入力- 起点日を変え、次回実行が空/不足にならないか確認
#23 不正トークン受理(例: 1a)
- 詳細:
parseIntにより末尾不正文字付き数値が通りうる。 - 主な確認箇所:
src/tools/cron-parser/logic.ts:97-99 - 追加根拠: 既存テストは
"abc"のみ無効ケースで、"1a"系が未検証。 - 確認方法:
1a,2xを含む式を投入- 妥当なエラーとして拒否されるか確認
#24 午後帯の12時間表記が不自然
- 詳細:
午後13時のような表示を生成してしまう。 - 主な確認箇所:
src/tools/cron-parser/logic.ts:263-265 - 確認方法:
- 13-23時のケースを入力
午後1時形式へ正規化されるか確認
PM向け指示
- 修正前に必ず再調査し、対象cron方言(標準/独自)を明示してから修正要否を判断すること。
- 受け入れ条件に以下テストを必須化:
- DOM/DOW同時指定
- 1年以上先実行
- 末尾不正文字拒否
- 午後帯表示文言