Jesús Erro
Explorar conexiones
Contrato Serena por proyecto junto a un puente localhost WSL/Docker hacia validación Playwright.

Dotfiles v0.5: semántica por proyecto y localhost sin fricción

Fuente primaria: notas de release v0.5.0 del repositorio Dotfiles (jesuserro/dotfiles/releases/v0.5.0.md, 2026-09-20).

Tesis:

El harness compartido diagnostica readiness, pero no posee en silencio la configuración semántica de cada proyecto; la complejidad de infraestructura de browser pertenece a la facade, no a cada handoff de producto.

Playwright: URLs naturales, networking oculto

El contrato de usuario permanece deliberadamente simple:

devx playwright run --url http://localhost:PORT

Humanos y agentes siguen razonando en localhost. devx posee:

puente temporal de loopback
direccionamiento WSL/Docker
PLAYWRIGHT_BASE_URL orientada a Docker
cleanup

El arreglo de routing usa la IPv4 de salida de WSL para el alias interno del puente temporal, evitando fallos intermitentes del host-gateway de Docker Desktop en esos puertos. Otros hosts conservan la ruta host-gateway.

Los diagnósticos separan fallos distintos:

¿el servicio host/local es alcanzable?
¿funciona la ruta del contenedor?
¿funciona el browser/runtime?

Confundirlos produce «Playwright está roto» cuando en realidad falló el bridging — o al revés. R4.4-AG ya pedía que la facade absorbiera networking; v0.5 endurece esa promesa en el harness compartido.

Serena: ownership del proyecto

devx project doctor compara fuentes detectadas de Python y TypeScript/JavaScript (y hints de proyecto) con la configuración efectiva de language servers de Serena. Puede avisar de cobertura semántica faltante.

No hace esto:

habilitar Python universalmente
demostrar que los language servers están running
mutar project.yml

Lee:

.serena/project.yml
project.local.yml   (override opcional)

sin mutar ninguno.

Dotfiles versiona su propio .serena/project.yml con:

Python
Bash
TOML
YAML
Markdown

Eso son elecciones del proyecto Dotfiles. No son defaults globales impuestos a repositorios consumidores. El resto del estado Serena (overrides locales, caches, memories) permanece ignorado en el versionado.

PowerShell se omite porque Serena exige PowerShell Core (pwsh) en WSL, y ese binario no estaba disponible en el entorno validado. Habilitarlo solo tiene sentido tras verificar el prerequisito y una activación real — no como afirmación universal sobre PowerShell.

Límite explícito del doctor:

cobertura semántica evaluada hoy:
  Python + TypeScript/JavaScript

otros lenguajes configurados:
  verificación directa en Serena todavía requerida

Activación

Para la preparación de este release no se requiere activación Chezmoi. Hay que recargar el proyecto/sesión de Serena para recoger el contrato versionado.

Verificación de versión del checkout:

uv run --locked --project tools/devx devx --version

Un devx instalado de forma independiente puede necesitar su refresh habitual; no confundir el binario del PATH con el del repositorio.

Encadenamiento de la serie

Dotfiles Project

v0.3  capacidades + releases gobernadas

v0.4  inventory + diagnostics + riesgo con evidencia

v0.5  semántica por proyecto + localhost sin fricción

Futuras minors sustanciales (v0.6, v0.7, …) pueden extender la cadena sin rediseñar el concepto: cada artículo una tesis, el Project como mapa durable, no como changelog.