Synced from monorepo Changes: - Release a shell session's resources in one drop - Make the tools blocking-wait cap client-configurable and self-describing - Recognize API "exceeds budget" errors as context overflow - Retry /btw on model overload - Carry running background tasks and subagents across compaction - Require round-trip time for SDK liveness checks - Background-subagent completion reminders with a selectable delivery surface - Make a PTY shell reap itself until it reaches the registry - Recover the OS error code from a TLS-phase connection reset - Consume the attached-client signal and report why idle is withheld - Treat `.grok/sandbox.toml` edits as protected so auto mode prompts before writing - Surface history/search in the Ctrl+. cheatsheet and keep it working in history view - Delete sessions from the dashboard and welcome list - Release a session's activity record when the session ends - Stop charging auth-retry budget for fail-closed 401s; reset it across suspends - Scope skills watches on project vendor roots - Make [stop] cancel in-flight compaction - Make the leader soak measure the leader, not its harness Source-Revision: 8d69c91f02bcacf01e98d5aebbf2f92547c45738
28 lines
1.8 KiB
TOML
28 lines
1.8 KiB
TOML
# Clippy config for crates/codegen/**.
|
|
#
|
|
# NOTE: clippy uses the NEAREST clippy.toml (no merging), so this file must
|
|
# duplicate any settings from the repo-root //clippy.toml.
|
|
|
|
# TODO: remove after https://github.com/hyperium/tonic/issues/2253 fixed.
|
|
large-error-threshold = 256
|
|
|
|
# Ban raw canonicalize: on Windows it returns verbatim `\\?\C:\...` paths that
|
|
# break external tools, leak into prompts, and poison path-equality keys.
|
|
# `dunce::canonicalize` keeps the verbatim form for paths it cannot simplify
|
|
# (over 260 chars, device names), so containment checks there fail closed.
|
|
#
|
|
# Ban raw child-process spawning: an unenrolled child outlives the session that
|
|
# started it, while an enrolled one dies with its scope. Allow with a reason
|
|
# where a child is waited on or deliberately detached.
|
|
#
|
|
# Enforced by `cargo clippy` and `just lint-rs`. The Bazel lint aspect pins the
|
|
# repo-root config instead, so crates this file does not reach carry a
|
|
# crate-level allow.
|
|
disallowed-methods = [
|
|
{ path = "std::fs::canonicalize", reason = "returns \\\\?\\ verbatim paths on Windows; use dunce::canonicalize" },
|
|
{ path = "std::path::Path::canonicalize", reason = "returns \\\\?\\ verbatim paths on Windows; use dunce::canonicalize" },
|
|
{ path = "tokio::fs::canonicalize", reason = "returns \\\\?\\ verbatim paths on Windows; use xai_grok_tools::util::fs helpers or spawn_blocking + dunce::canonicalize" },
|
|
{ path = "std::process::Command::spawn", reason = "an unenrolled child outlives its session; use xai_tty_utils::ProcessScope::enroll" },
|
|
{ path = "tokio::process::Command::spawn", reason = "an unenrolled child outlives its session; use xai_tty_utils::ProcessScope::enroll" },
|
|
{ path = "portable_pty::SlavePty::spawn_command", reason = "an unenrolled pty child outlives its session; enroll the shell with xai_tty_utils::ProcessScope::enroll_terminal_pid" },
|
|
]
|