Skip to content

usage-report.py の閉じた課題の数が UTC の日付で数えられ、使用量の集計(JST の日付)と期間がずれる → JST の両端で数える #1978

Open

Description

@takemi-ohama

何が起きるか

usage-report.py の「閉じた課題」の数が、使用量の集計と違う期間で数えられる。使用量は JST の日付で両端を含む期間で集計するが、閉じた課題の数は同じ日付の文字列をそのまま GitHub の検索(closed:<since>..<until>)へ渡しており、GitHub はこれを UTC の日付として解釈する。両端が 9 時間ずれる。

再現(10.17.74、2026-10-13 のリリース後テスト)

python3 plugins/ndf/scripts/usage-report.py --ledger claude --since 2026-09-26 --until 2026-10-09 --format json
  • 出力の closed_issues: 290
  • gh api -X GET search/issues -f q='repo:devbasex/ai-plugins is:issue closed:2026-09-26..2026-10-09': 290(UTC の日付)
  • gh api -X GET search/issues -f q='repo:devbasex/ai-plugins is:issue closed:2026-09-25T15:00:00Z..2026-10-09T14:59:59Z': 298(JST の両端)

原因

plugins/ndf/scripts/lib/usage_aggregate.py の closed_issues が、since / until を時刻を付けずに closed:{lo}..{hi} へ入れている。確定仕様(docs/specifications/ndf-context-window-metrics.md の「集計」)は「期間は JST の日付で両端を含む」「同じ期間の閉じた課題の数」と定める。

受け入れ条件

  • 1. --since / --until を渡した集計の閉じた課題の数が、JST の日付の両端(<since>T00:00:00+09:00 から <until>T23:59:59+09:00)で数えた値と一致する
  • 2. 期間の境界をまたぐ課題(JST と UTC で日付が変わる時刻に閉じたもの)で 1 の違いを見分けるテストがある

関連

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: ndf-skillNDF の Skill 本体bugSomething isn't workingpriority: medium保守性・設計一貫性など、計画的に対応する

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions