§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:
@@ -12,7 +12,7 @@ use crate::appearance::TextSelection;
|
||||
use crate::appearance::permission_cursor::DefaultSelectedPermission;
|
||||
|
||||
use kigi_shell::agent::config::UiConfig;
|
||||
use kigi_tools::implementations::grok_build::ask_user_question;
|
||||
use kigi_tools::implementations::kigi::ask_user_question;
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Int bounds for `max_thoughts_width`.
|
||||
@@ -45,12 +45,12 @@ const THEME_CHOICES: &[EnumChoice] = &[
|
||||
description: "Follow system dark/light appearance.",
|
||||
},
|
||||
EnumChoice {
|
||||
canonical: "groknight",
|
||||
canonical: "kiginight",
|
||||
display: "Kigi Night",
|
||||
description: "Neutral dark with magenta accent.",
|
||||
},
|
||||
EnumChoice {
|
||||
canonical: "grokday",
|
||||
canonical: "kigiday",
|
||||
display: "Kigi Day",
|
||||
description: "Light theme for bright environments.",
|
||||
},
|
||||
@@ -280,12 +280,12 @@ const SCREEN_MODE_CHOICES: &[EnumChoice] = &[
|
||||
EnumChoice {
|
||||
canonical: "fullscreen",
|
||||
display: "Fullscreen",
|
||||
description: "Open plain grok in the standard fullscreen TUI. Default when unset.",
|
||||
description: "Open plain kigi in the standard fullscreen TUI. Default when unset.",
|
||||
},
|
||||
EnumChoice {
|
||||
canonical: "minimal",
|
||||
display: "Minimal",
|
||||
description: "Open plain grok in scrollback-native (minimal) mode.",
|
||||
description: "Open plain kigi in scrollback-native (minimal) mode.",
|
||||
},
|
||||
];
|
||||
|
||||
@@ -294,12 +294,12 @@ const SCREEN_MODE_CHOICES: &[EnumChoice] = &[
|
||||
/// the user can pair any theme with any system-appearance bucket.
|
||||
const CONCRETE_THEME_CHOICES: &[EnumChoice] = &[
|
||||
EnumChoice {
|
||||
canonical: "groknight",
|
||||
canonical: "kiginight",
|
||||
display: "Kigi Night",
|
||||
description: "Neutral dark with magenta accent.",
|
||||
},
|
||||
EnumChoice {
|
||||
canonical: "grokday",
|
||||
canonical: "kigiday",
|
||||
display: "Kigi Day",
|
||||
description: "Light theme for bright environments.",
|
||||
},
|
||||
@@ -362,7 +362,7 @@ pub fn default_settings() -> Vec<SettingMeta> {
|
||||
category: SettingCategory::Appearance,
|
||||
owner: SettingOwner::Shell,
|
||||
label: "Default screen mode",
|
||||
description: "How plain grok opens next time: Fullscreen (default when unset) or \
|
||||
description: "How plain kigi opens next time: Fullscreen (default when unset) or \
|
||||
Minimal. Writes [ui] screen_mode in config.toml. Restart required. \
|
||||
Switch this session only with /minimal or /fullscreen.",
|
||||
keywords: &[
|
||||
@@ -485,8 +485,8 @@ pub fn default_settings() -> Vec<SettingMeta> {
|
||||
"light",
|
||||
],
|
||||
kind: SettingKind::Enum {
|
||||
// `Option<String>` — `None` resolved to "groknight".
|
||||
default: "groknight",
|
||||
// `Option<String>` — `None` resolved to "kiginight".
|
||||
default: "kiginight",
|
||||
choices: THEME_CHOICES,
|
||||
supports_preview: true,
|
||||
},
|
||||
@@ -501,8 +501,8 @@ pub fn default_settings() -> Vec<SettingMeta> {
|
||||
description: "Theme to use when the system is in dark mode (only with theme=auto).",
|
||||
keywords: &["auto", "dark", "theme", "system", "appearance", "night"],
|
||||
kind: SettingKind::Enum {
|
||||
// `Option<String>` — `None` falls back to "groknight".
|
||||
default: "groknight",
|
||||
// `Option<String>` — `None` falls back to "kiginight".
|
||||
default: "kiginight",
|
||||
choices: CONCRETE_THEME_CHOICES,
|
||||
supports_preview: true,
|
||||
},
|
||||
@@ -517,8 +517,8 @@ pub fn default_settings() -> Vec<SettingMeta> {
|
||||
description: "Theme to use when the system is in light mode (only with theme=auto).",
|
||||
keywords: &["auto", "light", "theme", "system", "appearance", "day"],
|
||||
kind: SettingKind::Enum {
|
||||
// `Option<String>` — `None` falls back to "grokday".
|
||||
default: "grokday",
|
||||
// `Option<String>` — `None` falls back to "kigiday".
|
||||
default: "kigiday",
|
||||
choices: CONCRETE_THEME_CHOICES,
|
||||
supports_preview: true,
|
||||
},
|
||||
@@ -636,7 +636,7 @@ pub fn default_settings() -> Vec<SettingMeta> {
|
||||
owner: SettingOwner::Shell,
|
||||
label: "Default model",
|
||||
description: "Model used for new sessions. Changing this also switches the active session. Pick `(no override)` to clear.",
|
||||
keywords: &["model", "default", "agent", "llm", "grok", "switch"],
|
||||
keywords: &["model", "default", "agent", "llm", "kigi", "switch"],
|
||||
kind: SettingKind::DynamicEnum {
|
||||
default: "",
|
||||
source: DynamicEnumSource::ActiveModelCatalog,
|
||||
|
||||
Reference in New Issue
Block a user