@@ -19,7 +19,7 @@ SQLiteViewは現在、読み取り専用のSQLiteビューア(SELECT/WITH/PRAG
1919- [x] ` QueryResult ` に ` affected_rows: Optional[int] ` と ` is_write_operation: bool ` を追加
2020- [x] ` classify_query() ` を追加 — ` read ` /` dml ` /` ddl ` /` tcl ` /` unknown ` を返す(公開メソッド)
2121- [x] ` is_destructive_query() ` を追加 — DROP・WHERE無しDELETEを検出し ` (bool, reason) ` を返す
22- - [x] ` _strip_sql_comments ()` を追加 — ` -- ` / ` /* */ ` コメントを除去 (WHERE句バイパス防止)
22+ - [x] ` _strip_sql_noise ()` を追加 — コメント( ` -- ` , ` /* */ ` )・文字列リテラル( ` '...' ` )・ダブルクォート識別子( ` "..." ` )を除去 (WHERE句バイパス防止)
2323- [x] ` execute_query() ` を書き換え — ` _assert_read_only() ` 削除、` cursor.description is None ` で書き込み判定
2424- [x] ` _assert_read_only() ` を削除
2525- [x] docstring ` "read-only SQLite interactions" ` → ` "SQLite database interactions" ` に更新
@@ -36,7 +36,7 @@ SQLiteViewは現在、読み取り専用のSQLiteビューア(SELECT/WITH/PRAG
3636- [x] クエリ分類(` classify_query ` )のテストを追加
3737- [x] 破壊的操作検出(` is_destructive_query ` )のテストを追加
3838
39- > 10テストすべて pass 確認済み。
39+ > 16テストすべて pass 確認済み(初期10 + Multi AI Audit対応で6追加) 。
4040
4141### Step 3: sql_highlighter.py — キーワード追加(完了)
4242
@@ -69,9 +69,17 @@ uv run sqliteview test.db
6969
7070## 現状
7171
72- ** 実装完了・マージ済み。** 全ステップの実装・テストが完了しており、10テストすべて pass。
72+ ** 実装完了・マージ済み。** 全ステップの実装・テストが完了しており、16テストすべて pass。
7373SQLiteView は INSERT/UPDATE/DELETE/CREATE/DROP/BEGIN/COMMIT/ROLLBACK 等の書き込みクエリを実行可能な SQL クライアントとなった。
7474
75- PR #3 にてレビュー指摘対応・CIエラー修正を行い、main ブランチへのマージ完了(2026-02-27)。
76- - ` scripts/build_deb.sh ` のパッケージ名・バージョンを修正(CIエラー解消)
77- - WHERE句チェックのSQLコメントバイパスを修正(セキュリティ)
75+ ### マージ履歴
76+
77+ ** PR #3 : 書き込みサポート** — マージ完了(2026-02-27)
78+ - レビュー指摘対応・CIエラー修正を含む
79+
80+ ** PR #4 : Multi AI Audit コンセンサス所見の修正** — マージ完了(2026-02-28)
81+ - 12件のコンセンサス所見を修正(セキュリティ・コード品質・ビルド・テスト)
82+ - PRレビュー対応:
83+ - ` build_deb.sh ` : ` tomllib ` (Python 3.11+)→ ` grep ` /` sed ` に置換(Python 3.10互換性復元)
84+ - ` _strip_sql_noise() ` : ダブルクォート識別子の除去を追加(セキュリティ強化)
85+ - エラーパステスト6件追加(空クエリ、無効SQL、未接続操作、存在しないファイル、文字列リテラル内WHERE)
0 commit comments