English · Español
Lab 00 — Checklist de entorno¶
Pre-requisito: lee
../theory/00-motivation.mdhasta../theory/03-dev-environment.md. Objetivo: verificar que todo lo de los capítulos de teoría está realmente presente y funciona en tu máquina. Marca cada caja al terminar.No copies de
solutions/. No hay solución para este archivo — es un ritual de verificación.
Bloque A — Sistema¶
-
uname -amuestra Linux ≥ 6.x. -
cat /etc/os-releasemuestra Fedora 43. -
fish --versionse ejecuta (solo shell interactivo — las recetas siguen usandosh). -
dnfes el gestor de paquetes (no apt / pacman / etc.).
Bloque B — Lenguajes y runtimes¶
-
python --version→ 3.11.x. -
python -c "import sys; print(sys.prefix)"apunta dentro del.venv/del proyecto trasjust setup. -
uv --version→ 0.4.x o más nuevo. -
just --versioncorre. -
git --version→ 2.x.
Bloque C — Estado del repo¶
-
git statusmuestra un working tree limpio tras el primer commit. -
git log --onelinemuestra al menos un commit. -
git remote -vmuestraoriginapuntando ahttps://github.com/borjatarraso/lynx-cortex.git. -
gh repo viewmuestra el repo en GitHub (o el repo está gitignored / es privado según tu elección).
Bloque D — Puertas¶
-
just setupcompleta (cronométralo — anota los segundos wall-clock). -
just lintsale con 0 (ruff check + ruff format --check + mypy). -
just testsale con 0 con todos los tests pasando. -
just audit-depssale con 0 (sin CVEs conocidas en las deps del lock). -
uv run bandit -r src/sale con 0.
Bloque E — Editor¶
- VS Code (o Cursor) abre el proyecto y la extensión de Python activa
.venv/. - Editar un archivo
.pymuestra diagnostics de ruff inline. - Editar un archivo
.pymuestra diagnostics de mypy inline. - Save-on-format no produce diff (el archivo ya estaba formateado).
-
.vscode/está gitignored (verifica congit statustras crear settings).
Bloque F — Claude Code¶
- Una nueva sesión de Claude Code en este directorio muestra
CLAUDE.mdcargado (mencionado en el contexto del sistema). -
/phase-checkpointes un slash command reconocido (testea tecleando/en el prompt — debería aparecer en el autocompletado). -
.claude/settings.jsonestá commiteado (sin.local.settings.jsoncommiteado). - El subagente
math-reviewerpuede invocarse vía la tool Agent y produce respuesta.
Bloque G — Sitio de docs (opcional pero recomendado)¶
-
just docs-servelanza un sitio local enhttp://127.0.0.1:8000. - Las páginas de teoría de la Fase 0 se renderizan con syntax highlighting + mates.
Bloque H — Smoke test de reproducibilidad¶
- Abre un REPL de Python dentro del venv (
uv run python). -
from utils.seeding import seed_everything, log_versions. -
seed_everything(42)corre sin error. -
import random; random.random()dos veces seguidas, ambas trasseed_everything(42), producen la misma primera llamada. -
log_versions()devuelve un dict que incluyepythony biennumpy(trasjust setup) o un placeholder"not installed".
Bloque I — Manifiesto¶
Cuando toda caja de arriba esté marcada:
- Commit:
phase: phase-00 env-checklist complete. - Añade una entrada de diario a
learners/borja/journal/YYYY-MM-DD.mdresumiendo qué falló al primer intento y cómo lo arreglaste. - Actualiza
learners/borja/phase-00/checkpoint.jsonponiendodod.env_checklist_completed: true.
Si algo falla, no marques la caja. Abre primero una entrada de diario describiendo el fallo; ese es el artefacto más útil al cierre de fase.