docs(comments): rewrite comments across all crates to the guidelines

Sweep every first-party crate source (1956 .rs files) to the project comment
guidelines: delete redundant restatements, decorative banners, change
narration, and end-of-line comments; keep and tighten the crucial ones
(invariants, bug rationale, SAFETY blocks, ported-source attribution).

No functional code changed. Every edit is proven comment-only against the
prior tree by a comment-stripping lexer (string/char/raw-string aware) plus a
separate doctest-fence check. Where removing a comment made rustfmt or clippy
want to re-lay-out adjacent code, the minimal triggering comment is restored so
code tokens stay byte-identical.

Gates green: cargo fmt --all --check (0 diffs), cargo check and cargo clippy
--workspace --all-targets (0 warnings).

Adds scripts/check_codegen_comment_guidelines.py — the enforcement gate for
these guidelines (flags banners, end-of-line comments, change narration, and
commented-out code).
This commit is contained in:
2026-07-23 16:55:39 -04:00
parent ff0fb56c67
commit a02b555e66
1458 changed files with 10729 additions and 21750 deletions
@@ -1,16 +1,15 @@
//! Validation of [`ToolConfigEntry`](crate::ToolConfigEntry) fields,
//! shared so the backend's save-time check cannot drift from what the
//! tools server enforces at finalize/bind. Errors carry the offending input
//! so callers can render gRPC violations without re-parsing.
//! Validation of [`ToolConfigEntry`](crate::ToolConfigEntry) fields, shared so
//! the backend's save-time check cannot drift from what the tools server
//! enforces at finalize/bind. Errors carry the offending input so callers can
//! render gRPC violations without re-parsing.
use kigi_tool_protocol::ToolId;
use serde_json::{Map, Value};
/// Why a [`ToolConfigEntry`](crate::ToolConfigEntry) is invalid.
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum ToolConfigEntryErrorKind {
/// Not valid JSON. Includes an explicitly-set empty string: proto3
/// `optional` tracks presence, so `Some("")` is rejected, not unset.
/// An explicitly-set empty string lands here rather than being treated as
/// unset: proto3 `optional` tracks presence, so `Some("")` is a real value.
ParamsJsonParse { error: String, raw: String },
/// Valid JSON but not an object.
ParamsJsonNotObject { value: Value },
@@ -18,7 +17,6 @@ pub enum ToolConfigEntryErrorKind {
NameOverrideInvalid { name: String, error: String },
}
/// Validation error for one entry in a tool-config list.
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct ToolConfigEntryError {
pub index: usize,
@@ -27,7 +25,7 @@ pub struct ToolConfigEntryError {
}
impl ToolConfigEntryError {
/// Request field path of the failing field, e.g. `tools[3].params_json`.
/// gRPC request field path of the failing field, e.g. `tools[3].params_json`.
pub fn field_path(&self) -> String {
match self.kind {
ToolConfigEntryErrorKind::ParamsJsonParse { .. }
@@ -68,8 +66,7 @@ impl std::fmt::Display for ToolConfigEntryError {
impl std::error::Error for ToolConfigEntryError {}
/// Parse and validate a `params_json`, returning the decoded object (or
/// `None` when unset). `index`/`tool_id` are only used for error reporting.
/// `index` and `tool_id` are used only for error reporting.
pub fn parse_params_json(
index: usize,
tool_id: &str,
@@ -96,8 +93,7 @@ pub fn parse_params_json(
}
}
/// Validates a `name_override` against the `ToolId` charset/length contract,
/// mirroring [`parse_params_json`] as the shared source of truth.
/// Enforces the `ToolId` charset/length contract on a `name_override`.
pub fn validate_name_override(
index: usize,
tool_id: &str,
@@ -118,9 +114,7 @@ pub fn validate_name_override(
}
/// Returns the first entry whose `id` is not in `allowed_ids`, as
/// `(index, id)`, or `None` when all ids are allowed.
///
/// Pure so backend save-time validation and any future consumer share one rule.
/// `(index, id)`.
pub fn first_unknown_tool_id<'a>(
entries: &'a [crate::ToolConfigEntry],
allowed_ids: &std::collections::HashSet<String>,
+17 -80
View File
@@ -6,7 +6,6 @@
#![allow(clippy::derive_partial_eq_without_eq)]
/// Generated protobuf types.
pub mod pb {
include!(concat!(env!("OUT_DIR"), "/kigi.tools.v1.rs"));
}
@@ -14,84 +13,24 @@ pub mod pb {
pub mod config_validation;
pub mod slash_commands;
// Re-export commonly used types at the crate root for convenience
pub use pb::{
// Agent types
AgentCompletionRequirement,
AgentToolExecConfig,
AgentToolRetryConfig,
// Request/response types
ClearToolOverrideRequest,
ClearToolOverrideResponse,
DisableToolRequest,
DisableToolResponse,
EnableToolRequest,
EnableToolResponse,
// Enums
ErrorCode,
ExecuteToolRequest,
ExecuteToolResponse,
ExecutionMetadata,
ExecutionOptions,
FinalizeAgentRequest,
FinalizeAgentResponse,
FinalizeConfigValidationDetails,
FinalizeConfigViolation,
// Tool server config (finalize-time)
FinalizeToolServerConfigRequest,
FinalizeToolServerConfigResponse,
GetAgentInfoRequest,
GetAgentInfoResponse,
GetCompletionStateRequest,
GetCompletionStateResponse,
GetSystemPromptRequest,
GetSystemPromptResponse,
GetSystemRemindersRequest,
GetSystemRemindersResponse,
GetToolInfoRequest,
GetToolOptionsRequest,
GetToolOptionsResponse,
// Tool state
GetToolStateRequest,
GetToolStateResponse,
// Truncation config
GetTruncationConfigRequest,
GetTruncationConfigResponse,
ListToolsRequest,
ListToolsResponse,
// Output format specs
OutputFieldSpec,
OutputFormat,
OutputFormatSpec,
ResetCompletionStateRequest,
ResetCompletionStateResponse,
ResetToolOptionsRequest,
ResetToolOptionsResponse,
SetSystemRemindersRequest,
SetSystemRemindersResponse,
SetToolOptionsRequest,
SetToolOptionsResponse,
SetToolOverrideRequest,
SetToolOverrideResponse,
SetTruncationConfigRequest,
SetTruncationConfigResponse,
// Streaming types
StreamDataChunk,
StreamDataKind,
StreamFinalResult,
// Capability/metadata types
ToolCapabilities,
ToolCategory,
// Per-tool config entry
ToolConfigEntry,
ToolError,
ToolInfo,
ToolSource,
ToolStreamChunk,
ToolSuccess,
TruncationConfig,
// Version lifecycle warnings
VersionWarning,
AgentCompletionRequirement, AgentToolExecConfig, AgentToolRetryConfig,
ClearToolOverrideRequest, ClearToolOverrideResponse, DisableToolRequest, DisableToolResponse,
EnableToolRequest, EnableToolResponse, ErrorCode, ExecuteToolRequest, ExecuteToolResponse,
ExecutionMetadata, ExecutionOptions, FinalizeAgentRequest, FinalizeAgentResponse,
FinalizeConfigValidationDetails, FinalizeConfigViolation, FinalizeToolServerConfigRequest,
FinalizeToolServerConfigResponse, GetAgentInfoRequest, GetAgentInfoResponse,
GetCompletionStateRequest, GetCompletionStateResponse, GetSystemPromptRequest,
GetSystemPromptResponse, GetSystemRemindersRequest, GetSystemRemindersResponse,
GetToolInfoRequest, GetToolOptionsRequest, GetToolOptionsResponse, GetToolStateRequest,
GetToolStateResponse, GetTruncationConfigRequest, GetTruncationConfigResponse,
ListToolsRequest, ListToolsResponse, OutputFieldSpec, OutputFormat, OutputFormatSpec,
ResetCompletionStateRequest, ResetCompletionStateResponse, ResetToolOptionsRequest,
ResetToolOptionsResponse, SetSystemRemindersRequest, SetSystemRemindersResponse,
SetToolOptionsRequest, SetToolOptionsResponse, SetToolOverrideRequest, SetToolOverrideResponse,
SetTruncationConfigRequest, SetTruncationConfigResponse, StreamDataChunk, StreamDataKind,
StreamFinalResult, ToolCapabilities, ToolCategory, ToolConfigEntry, ToolError, ToolInfo,
ToolSource, ToolStreamChunk, ToolSuccess, TruncationConfig, VersionWarning,
};
/// Default client-facing tool name derived from a namespaced tool id.
@@ -109,9 +48,7 @@ pub fn default_client_name(id: &str) -> &str {
id.split(':').nth(1).unwrap_or(id)
}
/// Convert ToolCategory enum to a string representation.
impl ToolCategory {
/// Get the string representation of the category.
pub fn as_str(&self) -> &'static str {
match self {
Self::Unspecified => "unspecified",
@@ -6,7 +6,6 @@
/// keys `/loop` availability on this name.
pub const SCHEDULER_CREATE_TOOL_NAME: &str = "scheduler_create";
/// Usage hint shown when `/loop` is invoked with no arguments.
pub fn loop_usage_message() -> &'static str {
"Usage: /loop [interval] <prompt>\n\
Example: /loop 30m check deploy status\n\
@@ -14,11 +13,9 @@ pub fn loop_usage_message() -> &'static str {
Tell me how often it should run (e.g. 30m, 1 hour, every 2 days)."
}
/// Build the model instruction that `/loop` expands into for `args`.
///
/// The model, not brittle host parsing, turns the request into the
/// `scheduler_create` interval, accepting every natural phrasing and erroring
/// on bad input rather than silently defaulting. See [`loop_usage_message`].
/// on bad input rather than silently defaulting.
pub fn loop_schedule_instruction(args: &str) -> String {
format!(
"# /loop -- schedule a recurring prompt\n\n\