Use the model only for judgment calls
Karpathy's rules are silent on this. The model decides things that should be deterministic code — whether to retry an API call, how to route a message, when to escalate. Different decisions every week. Flaky if-else at $0.003 per token.
SPEC · Rule 5
USE Claude for: classification, drafting, summarization, extraction from unstructured text.
DO NOT use Claude for: routing, retries, status-code handling, deterministic transforms.
If a status code already answers the question, plain code answers the question.
The moment. Code that called Claude to "decide if we should retry on 503" worked beautifully for two weeks, then started flaking because the model started reading the request body as context for the decision. The retry policy was random because the prompt was random.