目的
Extension Host を言語系拡張用の隔離プロセスに分割する基盤を追加する(EH 完全分離の第一歩)。
背景
Phase 0-5(PR #240-244)で Rust + tree-sitter ベースの Language Host を実装済み(documentSymbol/foldingRange/hover/definition/references/documentHighlights)。これは技術検証として位置づけ、本来の目的(EH プロセス分割)へ舵を切る。
スコープ
新 ExtensionHostKind.LocalIsolatedProcess = 4 の shell 追加(デフォルト無効、reversible)。10ファイル、~600行。
ブループリット
extensionHostKind.ts: LocalIsolatedProcess=4 + toString case
extensionRunningLocation.ts: LocalIsolatedProcessRunningLocation class + union
extensionRunningLocationTracker.ts: _maxLocalIsolatedProcessAffinity + _doComputeRunningLocation に第三 bucket
abstractExtensionService.ts: _startExtensionHostsIfNecessary location loop + _onExtensionHostCrashed に isolated kind branch
nativeExtensionService.ts: factory switch + kind picker(coderm.languageHost.isolatedExtensions ルックアップ)
localIsolatedProcessExtensionHost.ts 新規: localProcessExtensionHost.ts の clone(~600行)
extensionHostStarter.ts (common): IExtensionHostProcessOptions に kind フィールド
extensionHostStarter.ts (main): start() で kind branch(name/correlationId)
languageHostConfiguration.ts: coderm.languageHost.isolatedEnabled + isolatedExtensions 設定登録
README.md / README.ja.md
受入基準
- isolatedEnabled=false(デフォルト)で挙動不変
- isolatedEnabled=true + isolatedExtensions=["test-ext"] で、その拡張が isolated-extension-host プロセスで動く(Process Explorer で確認)
進捗
基盤3ファイル完了(extensionHostKind, extensionRunningLocation, tracker の _maxLocalIsolatedProcessAffinity)。残り8ファイル。worktree .worktrees/eh-isolated-shell で作業中。
依存
Phase 0-5(Language Host、PR #240-244)
目的
Extension Host を言語系拡張用の隔離プロセスに分割する基盤を追加する(EH 完全分離の第一歩)。
背景
Phase 0-5(PR #240-244)で Rust + tree-sitter ベースの Language Host を実装済み(documentSymbol/foldingRange/hover/definition/references/documentHighlights)。これは技術検証として位置づけ、本来の目的(EH プロセス分割)へ舵を切る。
スコープ
新
ExtensionHostKind.LocalIsolatedProcess = 4の shell 追加(デフォルト無効、reversible)。10ファイル、~600行。ブループリット
extensionHostKind.ts: LocalIsolatedProcess=4 + toString caseextensionRunningLocation.ts: LocalIsolatedProcessRunningLocation class + unionextensionRunningLocationTracker.ts: _maxLocalIsolatedProcessAffinity + _doComputeRunningLocation に第三 bucketabstractExtensionService.ts: _startExtensionHostsIfNecessary location loop + _onExtensionHostCrashed に isolated kind branchnativeExtensionService.ts: factory switch + kind picker(coderm.languageHost.isolatedExtensions ルックアップ)localIsolatedProcessExtensionHost.ts新規: localProcessExtensionHost.ts の clone(~600行)extensionHostStarter.ts(common): IExtensionHostProcessOptions に kind フィールドextensionHostStarter.ts(main): start() で kind branch(name/correlationId)languageHostConfiguration.ts: coderm.languageHost.isolatedEnabled + isolatedExtensions 設定登録README.md/README.ja.md受入基準
進捗
基盤3ファイル完了(extensionHostKind, extensionRunningLocation, tracker の _maxLocalIsolatedProcessAffinity)。残り8ファイル。worktree
.worktrees/eh-isolated-shellで作業中。依存
Phase 0-5(Language Host、PR #240-244)