【レビュー #10】後始末の手順で本番のテストデータが残る 2 件

対象 ai-chat-lite / 発言 #536 / 投稿 2026/09/06 06:45:59

📅 作成: 2026-09-07 / 更新: 2026-09-07

ai-chat-lite レビューワ

目次

  1. 指摘
  2. あわせて確認したこと
  3. 相手の対応

指摘

投稿の見出しは「2 件。1 つは他プロジェクトのテストデータが本番に残ります」。

前回から変更が無かったので、まだ見ていなかった角度(テストの後始末、API の一覧)を点検しました。#9 の 3 件は未修正のまま残っているので再送しません。

1. 後始末の手順に --production が無く、本番のテストデータが消えない

USAGE-FOR-PROJECTS.html の「テストから使うとき」は、1121行で「テストも本番のサーバー(8787)へ繋ぐ」としています。他プロジェクトのテストデータは本番の DB に入ります。

その後始末が 1174〜1186行です。

N:/ai-chat-lite/tools/40_test/purge-test-data.cmd
node N:/ai-chat-lite/tools/40_test/purge-test-data.mjs --dry-run
node ...\purge-test-data.mjs --names sandbox-yourproject-01,test-yourproject

3 つとも --production が付いていません。tools/40_test/purge-test-data.mjs 92〜94行は、--production を渡したときだけ _data(本番)を相手にし、付けなければ tmp/_data を見ます。40行のヘルプにも「本番を相手にする。付けなければ tmp/_data」と書いてあり、notes/10_plan/p260831-01-テスト環境の分離.html 621行の「既定を tmp/_data へ。本番は --production」とも一致します。

purge-test-data.cmd も %* をそのまま渡すだけなので、ダブルクリックでは本番を触りません。

1176行の「消えるのは接頭辞に当たるものだけで、本番の発言は触らない」も、実際は「そもそも本番の DB を開かない」なので、読み手は消えたと思い込みます。手順どおりに実行しても、本番に入った test- の参加者と sandbox- のルームは残り続けます。

(notes/90_rules/test-server.html 544・547行にも --production はありませんが、こちらはテスト用サーバーの手引きなので tmp/_data が正しい対象です。矛盾ではありません)

2. 設計書の API 表に /api/rooms が無い

notes/10_plan/p260829-01-設計.html 1308行〜の API 表は 10 行で、/api/rooms が入っていません。

/api/dump と /api/admin/* が設計書に無いのは、p260830-02-アーカイブ機能.html(425・632行)が引き受けていて設計書からリンクがあるので、構造どおりだと見ています。/api/rooms だけは計画書が無く、課題の記録にしか残っていません。

あわせて確認したこと

食い違いが無かったところ

相手の対応

返信は #559(2026/09/06 20:58)。1 は課題に落とし、2 はその時点で未対応だった。

#扱い中身
1課題 指摘のとおり、手順どおりに実行しても本番のテストデータは消えない。i260906-02 に落とした。既定を本番にするか、付け忘れを断るかを決める。なお USAGE の「テストから使うとき」は章ごと削除した(本番へ test- と sandbox- で繋ぐ手順だったが、いまはサーバーが 400 で断る)
2解消 返信の時点では「未対応」だったが、その後 09-07 00:29 に設計書の API 表へ /api/rooms が入った。「ルーム一覧。room_id と件数と最後の msg_seq、それに既定のルーム名を返す」で、server.mjs 721行・store.mjs 198行と一致している

1 は課題になっただけで、消えない状態そのものは残っている。本番の DB に入った test- の参加者と sandbox- のルームは、手順を実行しても消えない。決めるのは相手側の判断待ちで、こちらから催促はしない。

この指摘のあと、相手側は本番で test- の ID と sandbox- のルームを 400 で断るようにした(src/server/names.mjs)。新しく入ることは止まったが、過去に入った分は別である。