diff options
| author | tanaka takashi <isazaka@gmail.com> | 2026-07-11 19:57:02 +0900 |
|---|---|---|
| committer | tanaka takashi <isazaka@gmail.com> | 2026-07-11 19:57:02 +0900 |
| commit | e16782c208320138d77b88f2ff359e3e9e059e76 (patch) | |
| tree | 5e19fde4fa841b9b3f2ddef9f5efdb342ba6e911 /doc/Design_err.md | |
| parent | c2e5098d030fe902eff258e10d2fefc01226e4bf (diff) | |
fix: レビュー指摘事項の修正(エラー戻り値統一、タイ延長、ネストリピート、専用エラーコード)
High severity:
- compose action エラー戻り値の validation キー統一(server.py)
- ppmck/pyxel タイ & の duration 延長修正(_tie_pending フラグ導入)
- pyxel ネストリピート対応(RepeatFrame + イベントスナップショット方式)
Medium severity:
- 専用エラーコード追加: VALIDATION_MISSING_PARAMETER, VALIDATION_INVALID_MODE, VALIDATION_INVALID_ACTION
- SYSTEM_INTERNAL_ERROR キャッチ範囲拡大(compose/validate全体をtry/except)
Low severity:
- 設計書 line/column を1始まりに明記、APIレベルエラーコード追記
テスト: 129 passed, ruff: All checks passed
Diffstat (limited to 'doc/Design_err.md')
| -rw-r--r-- | doc/Design_err.md | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/doc/Design_err.md b/doc/Design_err.md index 3718023..d74f3a8 100644 --- a/doc/Design_err.md +++ b/doc/Design_err.md @@ -7,8 +7,8 @@ ErrorDetail に `code`(機械処理用のエラーコード)を追加してã ``` { code: string, # エラーコード(機械処理用、LLMがパターン認識可能) - line: int, # 行番号 - column: int, # 列番号 + line: int, # 行番号(1始まり) + column: int, # 列番号(1始まり) message: string, # エラーメッセージ(プレースホルダ展開済み) severity: "error" | "warning", hint: string, # LLM向けの修正ヒント @@ -17,6 +17,7 @@ ErrorDetail に `code`(機械処理用のエラーコード)を追加してã ``` > `code` を追加しました。LLMは `code` を見てエラーパターンを分類し、`hint` に従って修正できます。`context` は該当行のテキスト前後を切り出したもので、LLMが位置を特定しやすくなります。 +> **注意**: `line` と `column` は **1始まり** です(最初の行・最初の列が1)。システムエラーやAPIレベルエラーなどで位置情報がない場合は `0` を使用します。 --- @@ -78,6 +79,18 @@ LLMの修正対象外。内部処理の失敗。`hint` は空または「再試è --- +### APIレベルエラー(VALIDATION_*) + +MML構文ではなく、APIパラメータのバリデーションエラー。`line` / `column` は `0` となります。 + +| code | trigger | message テンプレート | hint | severity | +|---|---|---|---|---| +| `VALIDATION_MISSING_PARAMETER` | compose/validateで必須パラメータ(mml, mode)が欠落 | `mml と mode は compose/validate の必須パラメータです。` | `mml に MML 文字列、mode に 'ppmck' または 'pyxel' を指定してください。` | error | +| `VALIDATION_INVALID_MODE` | 未知のmodeが指定された | `未知のモード '{mode}' です。` | `mode は 'ppmck' または 'pyxel' を指定してください。` | error | +| `VALIDATION_INVALID_ACTION` | 未知のactionが指定された | `未知の action '{action}' です。` | `action は 'compose', 'validate', 'template' のいずれかを指定してください。` | error | + +--- + ### エラーレスポンスの実例 #### 構文エラーの例(LLMが修正可能) @@ -147,4 +160,4 @@ compose action で ERROR がある場合: --- -これで、エラーまわりの仕様を規定しました。構文エラーは14種類、システムエラーは3種類。LLMが `code` を見てパターン認識し、`hint` に従って修正できる構造になっています。 +これで、エラーまわりの仕様を規定しました。構文エラーは14種類、システムエラーは3種類、APIレベルエラーは3種類。LLMが `code` を見てパターン認識し、`hint` に従って修正できる構造になっています。 |
