Esto no es una página de marketing. Es la salida de la máquina que comprueba el manual, servida tal cual. Se ejecuta contra el binario instalado y se publica salga como salga.
95 de 95 afirmaciones comprobables por máquina pasan y ninguna falla, verificadas contra Claude Code 2.1.258 el 2 de septiembre de 2026. Otras 43 se revisan a mano y 6 se omiten porque gastan tokens.
claude --versionDevolvió
2.1.258 (Claude Code)
comprobado
claude doctorDevolvió
Claude Code doctor Running: native (2.1.258) Commit: b3cd543a1f6f Platform: linux-x64 Path: /home/runner/.local/share/claude/versions/2.1.258 Config install met
comprobado
claude --helpDevolvió
Usage: claude [options] [command] [prompt] Claude Code - starts an interactive session by default, use -p/--print for non-interactive output Arguments: prompt Y
comprobado
claude doctorDevolvió
Claude Code doctor Running: native (2.1.258) Commit: b3cd543a1f6f Platform: linux-x64 Path: /home/runner/.local/share/claude/versions/2.1.258 Config install met
comprobado
claude install --helpDevolvió
Usage: claude install [options] [target] Install Claude Code native build. Use [target] to specify version (stable, latest, or specific version) Options: --forc
comprobado
claude auth --helpDevolvió
Usage: claude auth [options] [command] Manage authentication Options: -h, --help Display help for command Commands: help [command] display help for command logi
comprobado
bash -c L="$HOME/.local/bin/claude"; if [ -L "$L" ]; then readlink "$L" | grep -q "/.local/share/claude/versions/" && echo LANZADOR-ES-ENLACE-A-VERSIONS || echo ENLACE-A-OTRO-SITIO; else echo NO-APLICDevolvió
LANZADOR-ES-ENLACE-A-VERSIONS
comprobado
bash -c d=$(mktemp -d); mkdir -p "$d/.claude"; echo "{" > "$d/.claude/settings.json"; cd "$d"; claude doctor > out.txt 2>&1; c=$?; grep -q "Invalid settings" out.txt && [ "$c" = "0" ] && echo AJUSTES-DevolvióAJUSTES-INVALIDOS-Y-SALIDA-CERO
comprobado
bash -c D=$(curl -fsS --max-time 25 https://code.claude.com/docs/en/authentication.md 2>/dev/null) || { echo SIN-RED; exit 0; }; printf "%s" "$D" | grep -oE "v2[.]1[.][0-9]+" | sort -u | wc -lDevolvió8
comprobado
Sin comando: esta se revisa a mano.
Comprobado el 17-ago-2026 con la 2.1.233. Poniendo un autoUpdatesChannel inválido en un settings.json, claude doctor con
Sin comando: esta se revisa a mano.
Eran cuatro en el material propio del 12-ago-2026 y son siete en authentication.md del 17-ago-2026. Es una lista que cre
test -f .claude/settings.json
comprobado
grep -qE [0-9]+[.][0-9]+[.][0-9]+ ENTORNO.md
comprobado
claude --helpDevolvió
Usage: claude [options] [command] [prompt] Claude Code - starts an interactive session by default, use -p/--print for non-interactive output Arguments: prompt Y
comprobado
claude --helpDevolvió
Usage: claude [options] [command] [prompt] Claude Code - starts an interactive session by default, use -p/--print for non-interactive output Arguments: prompt Y
comprobado
claude --helpDevolvió
Usage: claude [options] [command] [prompt] Claude Code - starts an interactive session by default, use -p/--print for non-interactive output Arguments: prompt Y
comprobado
claude --helpDevolvió
Usage: claude [options] [command] [prompt] Claude Code - starts an interactive session by default, use -p/--print for non-interactive output Arguments: prompt Y
comprobado
test -f CLAUDE.md
comprobado
grep -q Manda `config.py`, y `app.py` lo importa de verdad CLAUDE.md
comprobado
bash -c n=$(grep -rlE "^(import|from) utils" --include=*.py . | wc -l); [ "$n" = "0" ] && echo NADIE-IMPORTA-UTILS || echo ALGUIEN-LO-IMPORTADevolvió
NADIE-IMPORTA-UTILS
comprobado
grep -q pedidos_2019 app.py
comprobado
bash -c d=$(mktemp -d); mkdir -p "$d/.claude"; printf "%b" "{\0042claudeMdExcludes\0042: 5, \0042autoMemoryEnabled\0042: 7, \0042autoMemoryDirectory\0042: 9}" > "$d/.claude/settings.json"; cd "$d"; clDevolvióCLAVES-RECONOCIDAS=3
comprobado
bash -c D=$(curl -fsS --max-time 25 https://code.claude.com/docs/en/memory.md 2>/dev/null) || { echo SIN-RED; exit 0; }; printf "%s" "$D" | grep -c "under 200 lines"Devolvió1
comprobado
bash -c D=$(curl -fsS --max-time 25 https://code.claude.com/docs/en/context-window.md 2>/dev/null) || { echo SIN-RED; exit 0; }; printf "%s" "$D" | grep -c "Re-injected from disk"Devolvió3
comprobado
Sin comando: esta se revisa a mano.
Medido el 18-ago-2026 con la 2.1.234 sobre D6-repo-feo/gestor-pedidos. Método: misma petición trivial, mismo repo, varia
Sin comando: esta se revisa a mano.
Comprobado el 18-ago-2026 con la 2.1.234. claude -p con --bare devuelve: Authentication error, This may be a temporary n
claude --helpDevolvió
Usage: claude [options] [command] [prompt] Claude Code - starts an interactive session by default, use -p/--print for non-interactive output Arguments: prompt Y
comprobado
claude --helpDevolvió
Usage: claude [options] [command] [prompt] Claude Code - starts an interactive session by default, use -p/--print for non-interactive output Arguments: prompt Y
comprobado
test -e /home/runner/.claude
existe
claude --permission-mode zzz -p xDevolvió
error: option '--permission-mode <mode>' argument 'zzz' is invalid. Allowed choices are acceptEdits, auto, bypassPermissions, manual, dontAsk, plan.
comprobado
claude doctorDevolvió
Claude Code doctor Running: native (2.1.258) Commit: b3cd543a1f6f Platform: linux-x64 Path: /home/runner/.local/share/claude/versions/2.1.258 Config install met
comprobado
claude doctorDevolvió
Claude Code doctor Running: native (2.1.258) Commit: b3cd543a1f6f Platform: linux-x64 Path: /home/runner/.local/share/claude/versions/2.1.258 Config install met
comprobado
claude auto-mode defaultsDevolvió
{ "allow": [ "Security Discussion: Reading, discussing, reviewing, or writing security-related code, docs, configs, or threat models as part of the user's task comprobado
Sin comando: esta se revisa a mano.
Medido el 19-ago-2026 con la 2.1.235 sobre D6-repo-feo/gestor-pedidos. Misma petición (crear un archivo vacío con touch)
Sin comando: esta se revisa a mano.
Medido el 19-ago-2026 con la 2.1.235 sobre D6-repo-feo/gestor-pedidos, con deny Read(./secretos/**) puesto en el setting
Sin comando: esta se revisa a mano.
Medido el 19-ago-2026 con la 2.1.235 sobre D6-repo-feo/gestor-pedidos. Misma petición trivial (Responde solo con la pala
Sin comando: esta se revisa a mano.
Comprobado el 19-ago-2026 con la 2.1.235 en el sandbox de la nube, que corre como root: el mensaje es --dangerously-skip
test -e /home/runner/work/manual-claude-code/manual-claude-code/entregables/plantillas/permisos
existe
test -e /home/runner/work/manual-claude-code/manual-claude-code/entregables/plantillas/devcontainer/devcontainer.json
existe
python3 -c import json,sys; d=json.load(open(".claude/settings.json")); sys.exit(0 if "Read(./secretos/**)" in d["permissions"]["deny"] else 1)comprobado
test -e /home/runner/work/manual-claude-code/manual-claude-code/D6-repo-feo/gestor-pedidos/PERMISOS.md
existe
git check-ignore D6-repo-feo/gestor-pedidos/secretos/pasarela.envDevolvió
D6-repo-feo/gestor-pedidos/secretos/pasarela.env
comprobado
Sin comando: esta se revisa a mano.
Comprobar contra la documentación oficial en cada revisión trimestral.
bash -c hooks/veto-secretos.sh < hooks/ejemplos/lectura-de-secreto.jsonDevolvió
{ "hookSpecificOutput": { "hookEventName": "PreToolUse", "permissionDecision": "deny", "permissionDecisionReason": "Bloqueado por el hook veto-secretos: /repo/scomprobado
bash -c hooks/veto-secretos.sh < hooks/ejemplos/lectura-inocua.json | grep -q deny
comprobado
bash -c hooks/veto-credenciales.sh < hooks/ejemplos/escritura-con-credencial.jsonDevolvió
{ "hookSpecificOutput": { "hookEventName": "PreToolUse", "permissionDecision": "deny", "permissionDecisionReason": "Bloqueado por el hook veto-credenciales: lo comprobado
bash -c hooks/veto-credenciales.sh < hooks/ejemplos/escritura-inocua.json | grep -q deny
comprobado
bash -c hooks/formatear.sh < hooks/ejemplos/edicion-no-python.json
comprobado
bash -c test -x hooks/veto-secretos.sh -a -x hooks/veto-credenciales.sh -a -x hooks/formatear.sh -a ! -d .claude/hooks
comprobado
bash -c grep -q hooks/veto-secretos.sh .claude/settings.json && grep -q CLAUDE_PROJECT_DIR .claude/settings.json && grep -q args .claude/settings.json
comprobado
claude doctorDevolvió
Claude Code doctor Running: native (2.1.258) Commit: b3cd543a1f6f Platform: linux-x64 Path: /home/runner/.local/share/claude/versions/2.1.258 Config install met
comprobado
claude --helpDevolvió
Usage: claude [options] [command] [prompt] Claude Code - starts an interactive session by default, use -p/--print for non-interactive output Arguments: prompt Y
comprobado
Sin comando: esta se revisa a mano.
Medido el 24-ago-2026 con la 2.1.241 sobre D6-repo-feo/gestor-pedidos. Petición idéntica en las catorce ejecuciones: cre
Sin comando: esta se revisa a mano.
Medido el 24-ago-2026 con la 2.1.241, dos repeticiones. Un solo .claude/settings.json con permissions.allow Bash(touch *
Sin comando: esta se revisa a mano.
Medido el 24-ago-2026 con la 2.1.241, dos repeticiones por caso, sobre el laboratorio con veto-secretos.sh puesto y func
Sin comando: esta se revisa a mano.
Medido el 24-ago-2026 con la 2.1.241. Misma petición trivial (responder solo con la palabra OK), mismo repositorio, dos
Sin comando: esta se revisa a mano.
Medido el 24-ago-2026 con la 2.1.241 sobre D6-repo-feo/gestor-pedidos, tres repeticiones por fila. Misma petición: cambi
claude mcp --helpDevolvió
Usage: claude mcp [options] [command] Configure and manage MCP servers Options: -h, --help Display help for command Commands: add [options] <name> <commandOrUrl
comprobado
Sin comando: esta se revisa a mano.
Corrige material propio erróneo (12-ago-2026). Depende de ENABLE_TOOL_SEARCH: auto carga esquemas si caben en el 10 por
bash -c CLAUDE_PROJECT_DIR=$PWD python3 mcp/servidor-pedidos.py < mcp/ejemplos/handshake.jsonlDevolvió
{"jsonrpc": "2.0", "id": 1, "result": {"protocolVersion": "2024-11-05", "capabilities": {"tools": {}}, "serverInfo": {"name": "pedidos-solo-lectura", "version":comprobado
bash -c CLAUDE_PROJECT_DIR=$PWD python3 mcp/servidor-pedidos.py < mcp/ejemplos/escritura-directa.jsonlDevolvió
{"jsonrpc": "2.0", "id": 1, "result": {"content": [{"type": "text", "text": "Solo se admiten consultas SELECT o WITH. Esta base de datos es de solo lectura."}],comprobado
bash -c CLAUDE_PROJECT_DIR=$PWD python3 mcp/servidor-pedidos.py < mcp/ejemplos/segunda-sentencia.jsonlDevolvió
{"jsonrpc": "2.0", "id": 1, "result": {"content": [{"type": "text", "text": "Solo se admite una sentencia. Quita el punto y coma."}], "isError": true}}comprobado
bash -c export CLAUDE_PROJECT_DIR=$PWD && python3 mcp/preparar-bd.py > /dev/null && python3 mcp/servidor-pedidos.py < mcp/ejemplos/consulta-valida.jsonlDevolvió
{"jsonrpc": "2.0", "id": 1, "result": {"content": [{"type": "text", "text": "pedidos_totales\n14"}]}}comprobado
bash -c export CLAUDE_PROJECT_DIR=$PWD && python3 mcp/preparar-bd.py > /dev/null && python3 mcp/servidor-pedidos.py < mcp/ejemplos/tabla-inventada.jsonlDevolvió
{"jsonrpc": "2.0", "id": 1, "result": {"content": [{"type": "text", "text": "No existe la tabla no_existe."}], "isError": true}}comprobado
bash -c grep -q CLAUDE_PROJECT_DIR:- .mcp.json && ! grep -qi -e token -e api_key -e secret -e password -e PSP-LIVE .mcp.json
comprobado
Sin comando: esta se revisa a mano.
Medido el 24-ago-2026 con la 2.1.241 sobre D6-repo-feo/gestor-pedidos. Misma petición trivial (responder solo con la pal
Sin comando: esta se revisa a mano.
Medido el 24-ago-2026 con la 2.1.241, dos repeticiones idénticas. Misma petición trivial, mismo repositorio, sin ningún
Sin comando: esta se revisa a mano.
Medido el 24-ago-2026 con la 2.1.241, dos repeticiones. Con el .mcp.json del laboratorio sin aprobar nunca, claude mcp l
Sin comando: esta se revisa a mano.
CADUCÓ Y SE REESCRIBIÓ EL 31-AGO-2026. La entrada anterior afirmaba que la inyección se detecta y se reporta, con el pat
claude plugin --helpDevolvió
Usage: claude plugin|plugins [options] [command] Manage Claude Code plugins Options: -h, --help Display help for command Commands: details [options] <name> Show
comprobado
claude --helpDevolvió
Usage: claude [options] [command] [prompt] Claude Code - starts an interactive session by default, use -p/--print for non-interactive output Arguments: prompt Y
comprobado
python3 -c import sys; t=open('.claude/skills/auditar-endpoint/SKILL.md').read(); sys.exit(0 if 'when_to_use' in t and 'apóstrofe' in t else 1)comprobado
test -e /home/runner/work/manual-claude-code/manual-claude-code/D6-repo-feo/gestor-pedidos/SKILLS.md
existe
Sin comando: esta se revisa a mano.
Medido el 25-ago-2026 con la 2.1.245 sobre D6-repo-feo/gestor-pedidos, veinticuatro ejecuciones, contando el disparo en
Sin comando: esta se revisa a mano.
Medido el 25-ago-2026 con la 2.1.245 sobre D6-repo-feo/gestor-pedidos, dos repeticiones por fila e idénticas al token. M
Sin comando: esta se revisa a mano.
Medido el 25-ago-2026 con la 2.1.245 sobre D6-repo-feo/gestor-pedidos, dos repeticiones por fila e idénticas al token. M
Sin comando: esta se revisa a mano.
Medido el 25-ago-2026 con la 2.1.245 sobre D6-repo-feo/gestor-pedidos. Con la descripción que daba 8 de 8 y disable-mode
Sin comando: esta se revisa a mano.
Comprobado el 25-ago-2026 con la 2.1.245: un .claude/commands/ping-lab.md de cinco líneas responde a /ping-lab en claude
python3 -c import sys; c=['revisar-cambio','preparar-release','postmortem','poner-al-dia']; ok=all('disable-model-invocation: true' in open(f'entregables/plantillas/skills/{n}/SKILL.md').read() for n comprobado
test -e /home/runner/work/manual-claude-code/manual-claude-code/entregables/plantillas/skills/LEEME.md
existe
python3 -c import os,sys; d=os.listdir('entregables/plantillas/plugin/.claude-plugin'); sys.exit(0 if d==['plugin.json'] else 1)comprobado
claude --helpDevolvió
Usage: claude [options] [command] [prompt] Claude Code - starts an interactive session by default, use -p/--print for non-interactive output Arguments: prompt Y
comprobado
claude agents --helpDevolvió
Usage: claude agents [options] Manage background agents Options: --add-dir <directory> Additional directory to allow tool access to in dispatched sessions (repe
comprobado
claude --helpDevolvió
Usage: claude [options] [command] [prompt] Claude Code - starts an interactive session by default, use -p/--print for non-interactive output Arguments: prompt Y
comprobado
claude --helpDevolvió
Usage: claude [options] [command] [prompt] Claude Code - starts an interactive session by default, use -p/--print for non-interactive output Arguments: prompt Y
comprobado
claude plugin validate entregables/plantillas/agentsDevolvió
Validating components in: /home/runner/work/manual-claude-code/manual-claude-code/entregables/plantillas/agents ✔ Validation passed
comprobado
test -e /home/runner/work/manual-claude-code/manual-claude-code/entregables/plantillas/agents
existe
python3 -c import pathlib,sys,re; ts=[p.read_text(encoding='utf-8') for p in pathlib.Path('entregables/plantillas/agents').glob('*.md')]; con=[t for t in ts if re.search('^name:', t, re.M)]; ok=[t forcomprobado
python3 -c import pathlib,sys; t=pathlib.Path('entregables/plantillas/agents/revisor.md').read_text(encoding='utf-8'); sys.exit(0 if ('Criterio de aceptacion' in t or 'Criterio de aceptación' in t) ancomprobado
test -e /home/runner/work/manual-claude-code/manual-claude-code/D6-repo-feo/gestor-pedidos/AGENTES.md
existe
Sin comando: esta se revisa a mano.
Medido el 26-ago-2026 con la 2.1.246 y Sonnet 5, quitando del CLAUDE.md del laboratorio el último párrafo y solo ese, 30
Sin comando: esta se revisa a mano.
gasta tokens, se ejecuta solo con --con-coste
claude --helpDevolvió
Usage: claude [options] [command] [prompt] Claude Code - starts an interactive session by default, use -p/--print for non-interactive output Arguments: prompt Y
comprobado
claude --helpDevolvió
Usage: claude [options] [command] [prompt] Claude Code - starts an interactive session by default, use -p/--print for non-interactive output Arguments: prompt Y
comprobado
claude --helpDevolvió
Usage: claude [options] [command] [prompt] Claude Code - starts an interactive session by default, use -p/--print for non-interactive output Arguments: prompt Y
comprobado
claude --helpDevolvió
Usage: claude [options] [command] [prompt] Claude Code - starts an interactive session by default, use -p/--print for non-interactive output Arguments: prompt Y
comprobado
claude --helpDevolvió
Usage: claude [options] [command] [prompt] Claude Code - starts an interactive session by default, use -p/--print for non-interactive output Arguments: prompt Y
comprobado
claude --helpDevolvió
Usage: claude [options] [command] [prompt] Claude Code - starts an interactive session by default, use -p/--print for non-interactive output Arguments: prompt Y
comprobado
claude --helpDevolvió
Usage: claude [options] [command] [prompt] Claude Code - starts an interactive session by default, use -p/--print for non-interactive output Arguments: prompt Y
comprobado
claude ultrareview --helpDevolvió
Usage: claude ultrareview [options] [target] Run a cloud-hosted multi-agent code review of the current branch (or a PR number / base branch) and print the findi
comprobado
python3 -c import re,sys,pathlib; t=pathlib.Path('D6-repo-feo/gestor-pedidos/.github/workflows/ci.yml').read_text(encoding='utf-8').split('jobs:')[-1]; j=re.findall('^ ([a-z]+):$', t, re.M); sys.exitcomprobado
python3 -c import sys,pathlib; ls=[l.strip() for l in pathlib.Path('D6-repo-feo/gestor-pedidos/requirements.txt').read_text(encoding='utf-8').splitlines()]; ls=[l for l in ls if l and not l.startswithcomprobado
python3 -c import re,sys,pathlib; t=pathlib.Path('D6-repo-feo/gestor-pedidos/tests/test_caracterizacion.py').read_text(encoding='utf-8'); sys.exit(0 if len(re.findall('^def test_', t, re.M))==11 and lcomprobado
Sin comando: esta se revisa a mano.
Medido el 27-ago-2026 con la 2.1.247 en el sandbox de la rutina, autenticado por token de suscripción y sin ANTHROPIC_AP
Sin comando: esta se revisa a mano.
gasta tokens, se ejecuta solo con --con-coste
test -e /home/runner/work/manual-claude-code/manual-claude-code/D6-repo-feo/gestor-pedidos/CI.md
existe
Sin comando: esta se revisa a mano.
Medido el 27-ago-2026 con la 2.1.247 sobre D6-repo-feo/gestor-pedidos, dos ejecuciones idénticas: con --output-format st
Sin comando: esta se revisa a mano.
gasta tokens, se ejecuta solo con --con-coste
Sin comando: esta se revisa a mano.
Medido el 31-ago-2026 con la 2.1.251, dos repeticiones, sobre una copia de gestor-pedidos fuera del repositorio. Se mont
Sin comando: esta se revisa a mano.
gasta tokens, se ejecuta solo con --con-coste
Sin comando: esta se revisa a mano.
Medido el 31-ago-2026 al cerrar el laboratorio del módulo 10. La clave de pasarela sembrada en app.py aparecía 35 veces
curl -sS --max-time 25 https://code.claude.com/docs/en/data-usage.mdDevolvió
> ## Documentation Index > Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt > Use this file to discover all available pages befo
comprobado
Sin comando: esta se revisa a mano.
gasta tokens, se ejecuta solo con --con-coste
Sin comando: esta se revisa a mano.
Medido el 31-ago-2026 con la 2.1.251 sumando las 21 ejecuciones del laboratorio del módulo 10, todas con --output-format
Sin comando: esta se revisa a mano.
Medido el 31-ago-2026 con la 2.1.251. Ocho repeticiones de la misma pregunta neutra sobre gestor-pedidos con herramienta
claude --helpDevolvió
Usage: claude [options] [command] [prompt] Claude Code - starts an interactive session by default, use -p/--print for non-interactive output Arguments: prompt Y
comprobado
Sin comando: esta se revisa a mano.
Requiere una máquina limpia. Se comprueba en la revisión trimestral.
claude --helpDevolvió
Usage: claude [options] [command] [prompt] Claude Code - starts an interactive session by default, use -p/--print for non-interactive output Arguments: prompt Y
comprobado
Sin comando: esta se revisa a mano.
Medido el 1-sep-2026 con la 2.1.252 sobre D6-repo-feo/gestor-pedidos, dos repeticiones por fila. La misma petición trivi
Sin comando: esta se revisa a mano.
Medido el 1-sep-2026 con la 2.1.252 sobre una copia del laboratorio en /tmp, dos repeticiones por fila, con un hook de t
Sin comando: esta se revisa a mano.
Medido el 1-sep-2026 con la 2.1.252, dos repeticiones por valor, leyendo el archivo de --debug-file. Con OTEL_LOGS_EXPOR
Sin comando: esta se revisa a mano.
Medido el 1-sep-2026 con la 2.1.252, dos repeticiones. La salida termina en 3 warnings found, con el método de instalaci
bash -c D=$(curl -fsS --max-time 25 https://code.claude.com/docs/en/errors.md 2>/dev/null) || { echo SIN-RED; exit 0; }; printf "%s" "$D" | grep -c "^### "Devolvió107
comprobado
bash -c grep -nE "except:\s*($|#)" app.py; test $? -eq 1
comprobado
test -e /home/runner/work/manual-claude-code/manual-claude-code/D6-repo-feo/gestor-pedidos/tests/test_diagnostico.py
existe
Sin comando: esta se revisa a mano.
Medido el 1-sep-2026 con la 2.1.252 sobre el laboratorio, cinco repeticiones. El JSON de --output-format json trae 26 ca
Sin comando: esta se revisa a mano.
Medido el 1-sep-2026 con la 2.1.252 sobre el laboratorio, dos repeticiones por fila, con la misma petición trivial. Sin
bash -c D=$(curl -fsS --max-time 25 https://code.claude.com/docs/en/errors.md 2>/dev/null) || { echo SIN-RED; exit 0; }; printf "%s" "$D" | grep -c "retries transient failures up to 10 times"Devolvió1
comprobado
curl -sS --max-time 25 -o /dev/null -w %{http_code} https://github.com/julian-najas/manual-claude-codeDevolvió200
comprobado
curl -sS --max-time 25 -o /dev/null -w %{http_code} https://github.com/julian-najas/claude-code-companionDevolvió200
comprobado
curl -sS --max-time 25 https://julian-najas.github.io/claude-code-companion/Devolvió
<!doctype html><html lang="es"><head><meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Índice por síntoma · Clau
comprobado
Sin comando: esta se revisa a mano.
prueba destructiva, documentada pero nunca ejecutada
bash -c grep -c "^def \(validar\|subtotal_lineas\|aplicar_iva\|descuento_cliente_antiguo\|guardar\|notificar\|facturar\)(" app.pyDevolvió7
comprobado
bash -c grep -q "IVA_POR_PAIS" config.py && grep -q "raise PaisSinTipoDeIVA" app.py && echo OKDevolvió
OK
comprobado
test -e /home/runner/work/manual-claude-code/manual-claude-code/D6-repo-feo/gestor-pedidos/DECISIONES.md
existe
Sin comando: esta se revisa a mano.
Medido el 2-sep-2026 con la 2.1.258 sobre copias del laboratorio en /tmp, con herramientas Read, Glob, Grep, Edit y Writ
Sin comando: esta se revisa a mano.
Medido el 2-sep-2026 con la 2.1.258 sobre copias del laboratorio, dos repeticiones por fila, misma petición y mismas her
Sin comando: esta se revisa a mano.
Medido el 2-sep-2026 con la 2.1.258, dos repeticiones por tarea sobre copias limpias del laboratorio. Desmontar procesar
Sin comando: esta se revisa a mano.
Medido el 2-sep-2026 con la 2.1.258. Misma petición dos veces, unificar config.py y settings.py, sobre copias limpias. L
bash -c test ! -e settings.py && grep -q "^import config" app.py && echo OKDevolvió
OK
comprobado
bash -c grep -c "^def test_" tests/test_caracterizacion.pyDevolvió
11
comprobado
bash -c grep -q "DESCUENTO_MAS_DE_100" config.py && grep -q "^def test_los_dos_descuentos_de_cantidad_se_acumulan_a_proposito" tests/test_caracterizacion.py && echo OKDevolvió
OK
comprobado
bash -c D=$(curl -fsS --max-time 25 https://code.claude.com/docs/en/common-workflows.md 2>/dev/null) || { echo SIN-RED; exit 0; }; printf "%s" "$D" | grep -c "maintaining the same behavior"Devolvió1
comprobado
Sin comando: esta se revisa a mano.
Medido el 2-sep-2026 con la 2.1.258 sobre el laboratorio, dos repeticiones por fila con la misma petición trivial y las
Las 43 de revisión manual no se cuentan como verificadas. Son juicios y recomendaciones: cosas que ninguna máquina puede comprobar. Se dicen aquí en gris y se revisan a mano en cada edición.
Las 6 omitidas gastan dinero. Ejecutan llamadas que consumen tokens, así que solo se lanzan cuando se piden a mano.
Si el libro y tu máquina se contradicen, gana tu máquina. Y es un fallo del libro. El mismo registro viaja dentro del producto: un comando y sabes qué ha dejado de cumplirse en tu instalación.