M2 audit: excise the Computer Hub stack — Kigi's last remote-cloud surface

Removed root-and-branch for the zero-egress guarantee (the hub was xAI's
remote-workspace/cloud-sandbox service):

- Crates deleted: kigi-computer-hub-core, kigi-computer-hub-sdk,
  kigi-computer-hub-mcp-adapter, kigi-workspace-client (hub-proxied
  workspace RPC client), and kigi-tracing (its sole network path was the
  OTLP gRPC exporter; zero consumers remained). kigi-tracing-macros
  (purely local) stays.
- kigi-workspace: every hub surface deleted — hub server/channel/auth,
  HITL-over-hub permissions, donation/metrics pumps, file upload RPCs,
  hub tool-snapshot merge (resolve pipeline is MCP-only now),
  WorkspaceOps::Proxy. Local worktrees, sessions, leader IPC, MCP, and
  the ACP permission prompt path are untouched; LocalRegistry re-homed
  into kigi-tool-runtime on the existing ToolDyn types so in-process
  tool dispatch is unchanged.
- kigi-shell: leader workspace-exposure control surface (incl. the
  wss://computer-hub... URL), [hub] config, ObservabilityBridge, hub
  WebSocket proxy, dead OTLP config knobs. ClientMode::Headless (never
  constructed) removed.
- kigi-tui/bin: hidden `kigi workspace` command removed (`kigi
  worktree` stays).
- Renames: --xai-api-base-url → --api-base-url / KIGI_API_BASE_URL /
  [endpoints] api_base_url (serde alias keeps old configs working; the
  flag feeds BYOK/custom-endpoint routing, not main inference);
  grok_version → kigi_version in inspect/models-cache/trace metadata
  (old caches self-heal via version-mismatch refetch).
- Dependency tree: dropped fastrace*, opentelemetry-otlp/http/proto,
  tokio-tungstenite from the workspace; fixed the 4 real useless_format
  violations the fastrace lint allowance was masking and removed the
  allowance.
- marketplaceAllowlist kept: it gates the LOCAL plugin-marketplace
  feature, not an xAI service.

Known §9 leftover (deliberate, for the M3 sweep): the BYOK default base
URL string. Gates: workspace check/clippy 0/0, fmt, deny ok; suites
green (workspace 1042, shell 4918, tui 6634, tools 2608, tool-runtime
47, mcp 154).
This commit is contained in:
2026-07-17 22:34:10 -04:00
parent 5919526e91
commit fa75eb139a
90 changed files with 452 additions and 9702 deletions
-20
View File
@@ -52,7 +52,6 @@ members = [
"crates/codegen/kigi-update",
"crates/codegen/kigi-version",
"crates/codegen/kigi-workspace",
"crates/codegen/kigi-workspace-client",
"crates/codegen/kigi-workspace-types",
"crates/codegen/kigi-hooks-plugins-types",
"crates/codegen/kigi-hunk-tracker",
@@ -65,16 +64,12 @@ members = [
"crates/codegen/kigi-token-estimation",
"crates/codegen/kigi-tracing-macros",
"crates/codegen/kigi-tty-utils",
"crates/common/kigi-computer-hub-core",
"crates/common/kigi-computer-hub-mcp-adapter",
"crates/common/kigi-computer-hub-sdk",
"crates/common/kigi-compaction",
"crates/common/kigi-interjection-core",
"crates/common/kigi-test-utils",
"crates/common/kigi-tool-protocol",
"crates/common/kigi-tool-runtime",
"crates/common/kigi-tool-types",
"crates/common/kigi-tracing",
"third_party/dagre_rust",
"third_party/graphlib_rust",
"third_party/mermaid-to-svg",
@@ -130,10 +125,6 @@ educe = "0.6.0"
enum_delegate = "0.2"
env_logger = "0.11"
eventsource-stream = "0.2"
fastrace = { version = "0.7" }
fastrace-opentelemetry = { version = "0.18" }
fastrace-reqwest = { version = "0.2" }
fastrace-tonic = { version = "0.1" }
fastrand = "2"
filetime = "0.2.25"
flate2 = { version = "1", default-features = false, features = ["zlib-rs"] }
@@ -178,9 +169,6 @@ oauth2 = "5"
obfstr = "0.4"
once_cell = "1"
opentelemetry = "0.32"
opentelemetry-http = { version = "0.32", features = ["reqwest-blocking"] }
opentelemetry-otlp = { version = "0.32", features = ["grpc-tonic", "reqwest-blocking-client", "tls-roots"] }
opentelemetry-proto = { version = "0.32", features = ["gen-tonic"] }
opentelemetry_sdk = { version = "0.32.1", features = ["spec_unstable_metrics_views"] }
parking_lot = "0.12.4"
pbjson-build = "0.9"
@@ -239,7 +227,6 @@ tiny-skia = "0.12"
tokio = { version = "1", features = ["full"] }
tokio-retry = "0.3"
tokio-stream = "0.1"
tokio-tungstenite = "0.27"
tokio-util = { version = "0.7", features = ["rt"] }
toml = "0.9"
toml_edit = "0.22"
@@ -269,8 +256,6 @@ wiremock = "0.6"
wl-clipboard-rs = "0.9"
kigi-acp-lib = { path = "crates/codegen/kigi-acp-lib" }
kigi-agent-lifecycle = { path = "crates/codegen/kigi-agent-lifecycle" }
kigi-computer-hub-core = { path = "crates/common/kigi-computer-hub-core" }
kigi-computer-hub-sdk = { path = "crates/common/kigi-computer-hub-sdk" }
kigi-gix-status = { path = "crates/codegen/kigi-gix-status" }
kigi-agent = { path = "crates/codegen/kigi-agent" }
kigi-auth = { path = "crates/codegen/kigi-auth" }
@@ -310,7 +295,6 @@ kigi-token-estimation = { path = "crates/codegen/kigi-token-estimation" }
kigi-tool-protocol = { path = "crates/common/kigi-tool-protocol" }
kigi-tool-runtime = { path = "crates/common/kigi-tool-runtime" }
kigi-tool-types = { path = "crates/common/kigi-tool-types" }
kigi-tracing = { path = "crates/common/kigi-tracing" }
kigi-tty-utils = { path = "crates/codegen/kigi-tty-utils" }
zbus = { version = "5" }
zstd = "0.13"
@@ -388,7 +372,3 @@ too_many_arguments = "allow"
# TODO: -> "deny" once/if merge queue enabled
uninlined_format_args = "allow"
# The `fastrace::trace(properties = { … })` proc-macro expands `"{param}"`
# into `format!("{}", param)`, which clippy flags as useless_format.
# Suppressed until the upstream crate fixes its codegen (fixed in 0.7.16+).
useless_format = "allow"