From 8e588cec8c5da9ab627325c9a8ae9a5d64128971 Mon Sep 17 00:00:00 2001 From: mateo Date: Sat, 15 Aug 2026 21:47:29 +0000 Subject: [PATCH] docs(claude): correct which gate entrypoints are slot-aware Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- CLAUDE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CLAUDE.md b/CLAUDE.md index 079331890ba..e6eea912cd5 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -53,7 +53,7 @@ When you fix violations gated by `ruff-strict-budget.json`, `type-discipline-bud `make check` (f.k.a. `make pre-commit`, which still works identically as an alias) saves its complete output to a log file in .git (overwriting previous logs) and prints that path as its first and last output lines. To inspect a run, read or grep that log instead of re-running the multi-minute checks just to see a different slice -`make check`, `make lint`, `make bootstrap`, `scripts/pre_commit_lint.sh`, and the standalone budget gates each hold one of `LITELLM_GATE_SLOTS` machine-wide slots (default 2, see `scripts/gate_slot_lock.py`), so when other sessions or worktrees on the same box are already running heavy work, yours prints "all N machine-wide slots are busy; queueing" and then stays quiet until a slot frees. Queueing is expected, so give the command a long timeout and let it wait instead of killing it, retrying it, or assuming it hung. Don't skip the queue by setting `LITELLM_GATE_SLOTS=0`, raising the slot count, or calling `check-inner` / `lint-inner` / the gate scripts directly, and don't fan heavy targets out into parallel background shells since they'd only queue behind each other +`make check`, `make lint`, `make bootstrap`, `scripts/pre_commit_lint.sh`, and the standalone budget gates (`scripts/ruff_strict_gate.py`, `scripts/type_discipline_gate.py`, `scripts/type_check_gate.py`) each hold one of `LITELLM_GATE_SLOTS` machine-wide slots (default 2, see `scripts/gate_slot_lock.py`), so when other sessions or worktrees on the same box are already running heavy work, yours prints "all N machine-wide slots are busy; queueing" and then stays quiet until a slot frees. Queueing is expected, so give the command a long timeout and let it wait rather than killing it, retrying it, or assuming it hung. Don't defeat the queue by setting `LITELLM_GATE_SLOTS=0` or raising the slot count, and don't fan heavy targets out into parallel shells, since they'd only queue behind each other anyway. Prefer top-level `make check` / `make lint` over `check-inner` / `lint-inner`: the inner targets are still slot-aware, but they take a slot per nested gate over the run instead of one slot for the whole thing If you're trying to create a new function that relies on untyped stuff, instead of adding more Any's and pushing `reportAny` / `reportExplicitAny` closer to their basedpyright ceilings, just validate it in the caller with Pydantic (a model or `TypeAdapter` that returns the typed thing or raises will do) and then pass the now typed variable in