Preserve sanitized upstream provider classification in fatal records
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 48/100
調査の方向性
Start at the schema-v2 fatal-record handling for the ACP openai-subscription retry-exhaustion path, then trace how the sanitized provider type and code are available before the fatal record is written. Add coverage for preserving both classifications, bounded sanitization, and exclusion of raw bodies or sensitive text; verify compatibility with existing fatal records.
索引モデルが issue の本文から書いたものです。
説明
Summary
When an openai-subscription retry budget is exhausted, the parent-visible error can retain a sanitized upstream classification such as service_unavailable_error/server_is_overloaded, but the schema-v2 fatal record collapses it to a generic retry_exhausted or response_failed classification.
Split from #35 after the underlying overload retry behavior was fixed by #32.
Current behavior
Fatal classification prioritizes the local exhaustion category and stores a generic message. The sanitized upstream type/code that explains why retries occurred is not retained as structured fatal data. This makes the on-disk diagnostic less useful than the transient provider classification already available earlier in the error path.
Desired behavior
Preserve both layers in fatal diagnostics:
- local terminal category, for example
retry_exhausted; and - sanitized upstream provider type/code, for example
service_unavailable_error/server_is_overloaded.
Do not store the raw provider response, provider message text, prompts, headers, credentials, or other sensitive payload data. Keep field lengths bounded and classifications canonical.
Suggested coverage
- Exhaust retries after
service_unavailable_error/server_is_overloadedand assert both local and upstream classifications. - Assert unknown transient spellings remain bounded and sanitized.
- Assert raw provider bodies and sensitive message text never enter schema-v2 fatal JSON.
- Preserve compatibility for readers of existing fatal records when the persistent schema changes.
Environment
- Originally observed with Kit
0.1.96onDarwin 25.6.0 arm64. - Confirmed as a remaining gap on Kit
0.1.105onDarwin 25.5.0 arm64. - Surface: ACP; provider route:
openai-subscription.
Related work
- #35
- #32
- 主要言語
- Rust
- スター
- 40
- フォーク
- 4
- 平均マージ
- 4時間 29分
- マージ済み PR(30日)
- 153
環境構築
このプロジェクトの環境構築ファイルはまだ確認していません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
speakeasy-api/kit のほかの issue
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
speakeasy-api/kit#175 ·
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
speakeasy-api/kit#165 ·
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
speakeasy-api/kit#151 ·
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
speakeasy-api/kit#149 ·
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 1/5 1時間未満 初心者へのやさしさ 84/100
speakeasy-api/kit#148 ·
メンテナーはふだん 1 日以内に返信
speakeasy-api/kit の issue をすべて見る
似ている issue
-
`categorize_command` has no `uv` arm, so every `rtk uv …` row counts as `other` in the ecosystem mixオープンarea:api bug good first issue priority:low
難易度 1/5 1時間未満 初心者へのやさしさ 92/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 92/100
メンテナーはふだん 1 日以内に返信
-
area/cli kind/bug
難易度 2/5 1〜3時間 初心者へのやさしさ 90/100
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
-
good first issue open-endedness: low type: new feature
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100