Determinism
Reproducible outcomes through code verification and prompt versioning.
Core Principle
"Claude can run scripts without loading either the script or the PDF into context. And because code is deterministic, this workflow is consistent and repeatable." - Anthropic Engineering
Instructions
- Replace LLM judgment with script verification
- Version prompts with semantic versioning
- Hash-validate critical prompts:
scripts/validate-prompt.sh - Use exit codes (0 = pass, 1 = fail), not text
LLM Judgment vs Code Verification
| Task | LLM (Bad) | Code (Good) |
|------|-----------|-------------|
| Tests passed? | "The tests appear to pass" | pytest; echo $? → 0 or 1 |
| Valid JSON? | "This looks like valid JSON" | python -c "json.load(f)" |
| Server running? | "The server should be up" | curl -s localhost/health |
References
| File | Load When | |------|-----------| | references/code-verification.md | Writing verification scripts | | references/prompt-versioning.md | Versioning/hashing prompts |