§9 acceptance: grep-zero sweep — every internal x.ai/grok identifier renamed

The PRD's first acceptance gate now holds: grep -RinE '\bx\.ai\b|grok'
crates/ --include='*.rs' → 0 matches (exempt: NOTICE and third-party
license archives, README provenance, and the required 'Based on Grok
Build Open Source' attribution, now sourced from version_attribution.txt).

Wire-visible renames (both sides in this repo, changed in lockstep):
- Auth method id 'grok.com' → 'kimi-code' (AuthMethodKind::KimiCode).
- Every x.ai/* and _x.ai/* ACP ext method and meta key → kigi/* /
  _kigi/* (~200 names; grokShell → kigiShell). Session-file replay keeps
  a read-side alias for the legacy '_x.ai/session/update' method so
  existing updates.jsonl histories load; writes emit only the new name
  (both directions test-pinned).
- Agent types grok-build* → kigi* with a documented legacy-prefix alias
  at resolution time so persisted sessions keep resolving.
- ToolNamespace/BuiltinAgentName GrokBuild* → Kigi* (wire snake_case
  kigi/kigi_concise/kigi_hashline; schema regenerated); grok_build
  implementation dirs renamed to kigi*.
- x-grok-* headers → x-kigi-*, __GROK_* sentinels → __KIGI_*, themes
  grokday/groknight → kigiday/kiginight (old persisted values fall back
  to the default theme), web_fetch allowlist xAI hosts → kimi.com +
  moonshot platforms, changelog CDN → this repo, grok-build changelog
  archives deleted.
- BYOK default endpoint removed: [endpoints] api_base_url is now truly
  optional with NO default — consumers fail fast with the flag name when
  unset (no silent x.ai egress). Mock harnesses inject it explicitly.
- System-prompt identity fixed: 'released by xAI' → 'an unofficial
  community CLI for Kimi' (template + regenerated encrypted form).

Also repaired pre-existing grok-era test debt found by the sweep: the
stale trace_classify default-model pin, the grok-pager UA label test,
pty-harness stale-binary reuse and non-hermetic moonshot routing (a PTY
test could previously reach the real api.moonshot.cn), and the outdated
oauth fixture scope key.

Gates: §9 grep 0; fmt clean; workspace check/clippy 0/0 (-D warnings);
FULL cargo test --workspace: 234 suites, 21,961 passed, 0 failed;
deny advisories ok.
This commit is contained in:
2026-07-18 02:48:46 -04:00
parent 86e3724310
commit 6f31415ed6
1056 changed files with 8410 additions and 18307 deletions
@@ -6,9 +6,9 @@ package kigi.tools.v1;
// MAIN SERVICE
// ============================================================================
/// GrokToolsService provides a gRPC interface to the Grok tools runtime.
/// KigiToolsService provides a gRPC interface to the Kigi tools runtime.
/// It supports tool execution, discovery, configuration, and lifecycle management.
service GrokToolsService {
service KigiToolsService {
// ========== TOOL EXECUTION ==========
/// Execute a single tool call
@@ -213,7 +213,7 @@ message FinalizeToolServerConfigRequest {
/// Maps to `ToolConfig` in the tools library.
message ToolConfigEntry {
/// Fully qualified tool ID: colon-separated `Namespace:tool`
/// (e.g., "GrokBuild:bash", "GrokBuild:read_file").
/// (e.g., "Kigi:bash", "Kigi:read_file").
///
/// The whole selection path keys on this format: the default
/// client-facing name is the segment after the FIRST colon (see
@@ -270,7 +270,7 @@ message FinalizeConfigViolation {
/// Structured deprecation/lifecycle warning for a specific tool version
/// or bundle. Informational only — does not affect control flow.
message VersionWarning {
/// Fully-qualified tool ID (e.g. "GrokBuild:run_terminal_cmd").
/// Fully-qualified tool ID (e.g. "Kigi:run_terminal_cmd").
/// Empty for bundle-level warnings.
string fq_tool_id = 1;
/// The deprecated version (e.g. "legacy-0.4.10").
@@ -637,9 +637,9 @@ message ToolInfo {
/// "legacy-0.4.10"). Empty for unmanaged tools.
string contract_version = 18;
/// Tool namespace (e.g. "GrokBuild", "Codex", "OpenCode").
/// Tool namespace (e.g. "Kigi", "Codex", "OpenCode").
/// Populated by ListTools pre-finalization from the fully-qualified
/// registry key (e.g. "GrokBuild:grep" → namespace="GrokBuild").
/// registry key (e.g. "Kigi:grep" → namespace="Kigi").
string namespace = 19;
}