summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authortanaka takashi <isazaka@gmail.com>2026-07-11 19:57:02 +0900
committertanaka takashi <isazaka@gmail.com>2026-07-11 19:57:02 +0900
commite16782c208320138d77b88f2ff359e3e9e059e76 (patch)
tree5e19fde4fa841b9b3f2ddef9f5efdb342ba6e911 /doc
parentc2e5098d030fe902eff258e10d2fefc01226e4bf (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')
-rw-r--r--doc/Design_err.md19
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` に従って修正できる構造になっています。