## 背景 #658(PR #671)の merge 前レビュー H-29・H-30 と、リーダーの検証(L-42・L-44、2026-10-13)で見つかった後続の論点のうち、`--offline` のネットワークの隔離に関わる小さな残りをまとめます。どれも blocker ではありませんでした。 関連:#502、#658、#668(reason の文)、#669(private registry) ## 問題 1. **CLI の `--offline` の help と doctor の文が古い**:#658 で、隔離が使えるときは OS が外向きの通信を遮断するようになりましたが、help は今も「Provider/API requests and other network-capable commands are unaffected」と書いています。この文は試験で固定されています。 2. **Linux の MPTCP が未確認**:`IPPROTO_MPTCP` の socket が landlock の `ConnectTcp` の対象かを、H-29 の Docker(linuxkit kernel、MPTCP 非対応)では確かめられませんでした。 3. **Linux の pip のキャッシュ**:macOS は `~/Library/Caches/pip` を書き込みの許可に入れますが、Linux の `~/.cache/pip` は許可に入っておらず、隔離の中の pip はキャッシュなしで動きます(成功はします)。 4. **port が取れないときの文が cli-reference に無い**:dev server の port が goal からも profile からも取れないとき、Linux の `--offline` は localhost を含めてすべての TCP connect を拒否します。SECURITY.md には書きましたが、cli-reference(en・ja)には書いていません。 5. **依存の導入の stdin の試験が macOS だけ**:Linux は in-place の wrap なので今も正しいですが、退行を捕まえる試験はありません。 ## 根拠(develop `72807847`) - `src/tools/offline_policy.rs:1`:`CLI_HELP` - `src/cli.rs:711`:help の文を固定する試験 - `docs/guide/en/cli-reference.md:81`:`--offline` の表の行 - `src/tools/os_sandbox.rs:778-788`:`resolve_cache_paths`(pip は macOS のパス) ## 対処の方向 - help・doctor・cli-reference の `--offline` の文を「OS が遮断するもの(隔離が使えるとき)」と「字句検査だけのもの」に分けて書き直し、固定している試験を新しい文に合わせる(緩めない)。 - CI(Ubuntu x86_64、MPTCP が既定で有効)で MPTCP の connect を 1 回 probe し、拒否されなければ UDP と同じく文書の限界に足す。 - Linux の pip のキャッシュを既知のキャッシュに足すか決める(決定 2「既知のキャッシュだけ許可」の範囲)。 - cli-reference に port が取れないときの 1 文を足す。Linux の stdin の試験を足す。 ## 受け入れ条件 - [ ] help・doctor・cli-reference の `--offline` の文が実装と一致し、試験が新しい文を固定している - [ ] MPTCP の connect の結果を CI で確かめ、記録した(拒否されないなら文書の限界に書いた) - [ ] Linux の pip のキャッシュの扱いを決め、決定どおりに実装または文書化した - [ ] Linux の依存の導入の子の stdin が null であることを試験で確かめた - [ ] 字句検査、検証・受入・証跡のゲートを緩めていない。成長上限の baseline を上げていない ## 対象ファイル - `src/tools/offline_policy.rs` - `src/cli.rs` - `src/doctor.rs` - `src/tools/os_sandbox.rs` - `src/tools/os_sandbox/landlock.rs` - `tests/issue502_os_sandbox_network.rs` - `SECURITY.md` - `docs/guide/ja/cli-reference.md` - `docs/guide/en/cli-reference.md` ## 参照 - H-29・H-30 と L-42・L-44 の記録(ローカル):`workspace/tmp/1007/wave1/results/`
Activity