Skip to content

fix: search_issues returns empty due to incorrect Workers AI embedding type cast #30

Closed

Description

@liplus-lin-lay

目的

search_issues が全リポジトリで 0 件を返すバグを修正する。

原因(確定・3段階)

1. リトライなし(修正済み PR #31)

エンベディング失敗時に bodyHash が保存され、以降リトライされなかった。
→ 失敗時は空 bodyHash を保存して次回リトライする修正済み。

2. Workers AI レート制限(修正済み PR #32)

1回の cron で Workers AI 呼び出しが多すぎてレート制限。
→ MAX_EMBEDDINGS_PER_RUN = 50 で制限済み。

3. CPU 時間制限(未修正)

wrangler tail で確認:

"*/5 * * * *" @ 2026/4/5 22:45:16 - Exceeded CPU Limit
Polling Liplus-Project/liplus-language (initial sync)

liplus-language (900+ issue) の初回同期で GitHub API 全件取得 + IssueStore upsert だけで CPU 制限超過。エンベディング生成以前の段階で失敗。
DO リセット(デプロイ)で watermark が消えるため、毎デプロイで初回同期に戻る。

修正方針

GitHub API からの取得件数を1回の cron あたりで制限する:

  • fetchAllIssues にページ上限を追加(例: MAX_PAGES_PER_RUN = 5 → 500件/回)
  • 上限到達時は取得済み分だけ処理し、watermark を最後に処理した issue の updated_at に更新
  • 次回 cron で since パラメータにより続きから取得

target files

  • src/poller.ts (fetchAllIssues と pollRepo の取得件数制限)

Activity

  1. added this to the v0.2.0 milestone on Apr 5, 2026
  2. added
    bug動いていない、壊れている
    in-progress着手中、実装または検証が進行中
    ready本文が実装開始できる形まで収束している状態。ただし更新は継続可能
    on Apr 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bug動いていない、壊れているready本文が実装開始できる形まで収束している状態。ただし更新は継続可能

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions