Skip to content

AI Issue起票を structured_output 優先+現行フォールバックで安定化する #265

@nrslib

Description

@nrslib

背景

現在の AI Issue 起票は自由文中心のため、タイトル・本文の品質が揺れています。
実際に # タスク指示書 のような無情報タイトルが混在しており、一覧の可読性・検索性が低下しています。

目的

Issue 起票品質を安定化するため、structured_output を第一優先にし、失敗時のみ現行実装へフォールバックする。

要件

  1. 起票フローは以下の順序にする
    • structured_output で Issue メタデータ生成
    • Schema 検証
    • テンプレートで Markdown 生成
    • Issue 作成
  2. structured_output が失敗した場合のみ、現行フローにフォールバックする
  3. フォールバック時も最低限の品質ガードを適用する
    • タイトル最小文字数
    • 禁止タイトル(例: # タスク指示書 単体)
  4. 実行ログに structured_output 使用可否を残す
    • 例: used_structured_output: true|false
    • 失敗理由(schema error / timeout / provider error など)

structured_output の最小Schema案

  • title (string, required)
  • type (enum: feature|bug|chore|docs, required)
  • scope (string, required)
  • summary (string, required)
  • goals (string[], required, min 1)
  • acceptance_criteria (string[], required, min 2)
  • labels (string[], optional)

受け入れ条件

  • structured_output 成功時、Issueタイトル/本文がテンプレート準拠で作成される
  • structured_output 失敗時のみ現行フローへ自動フォールバックする
  • フォールバック時でも禁止タイトルが作成されない
  • used_structured_output と失敗理由がログで確認できる
  • 既存の起票コマンドUXを破壊しない

補足

段階導入としては「既定は structured_output、失敗時フォールバック」の構成が最も安全です。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions