tawasuyu

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 1572Shell 203Rust 109Markdown 993728 Definiciones

simi: pin al REPL y la nota re-medida contra su artefacto

Sube el pin a 6dcaff42 (editor de línea) y mide contra lo que eso sella,
b3:53f26620 — en el MISMO commit, que es la lección que ya pagué dos veces hoy:
una medición con su hash al lado caduca cuando el hash avanza, y nada avisa.

  529 808 bytes stripped · 0 NEEDED
  13/13 pruebas de PTY contra el artefacto SELLADO, no contra el build del hub
  banco POSIX: los MISMOS 2 fallos preexistentes
  banco diferencial: DIVERGE=0, 1339 casos, 1,5 ms/caso

La progresión del día queda escrita para que se vea qué cuesta cada cosa:
  498 736 (base) → 508 992 (+10 KB, las cuatro expansiones) → 529 808 (+21 KB,
  el editor de línea). Sigue siendo la MITAD del busybox entero (0,92 MB) y una
  fracción de brush (6,9 MB).

1dd06422d3fa75e2ba402008ddc8fbf04aecf0be · por Sergio · (hace 18 h) · padre 6dcaff428 · ver el árbol en este commit

Delta semántico

Ninguna definición cambió: el cambio es de texto, documentación o datos.

1 archivos · +17 −4

diff --git a/recipes/simi.toml b/recipes/simi.toml
index 8100d17b..4fb8af2d 100644
--- a/recipes/simi.toml
+++ b/recipes/simi.toml
@@ -9,13 +9,16 @@
 # divergencias POSIX medidas (reubeno/brush#1394 y #1396, las dos reportadas por nosotros). simi son
 # 4448 líneas con CERO divergencias contra el ash de busybox en los 159 casos del banco diferencial.
 #
-# ══ MEDICIÓN VIGENTE — 2026-10-22, contra `b3:fba52bb0…` ══════════════════════════════════════
+# ══ MEDICIÓN VIGENTE — 2026-10-22, contra `b3:53f26620…` ══════════════════════════════════════
 # ⚠ Esta nota citaba `b3:46ff6fcf…` y «159 casos», y las dos cifras habían CADUCADO: la receta
 # avanzó (hash vigente `b3:327b31b72d8051e0d86693d16090fb393b774622d120c5c140ad8673986fcc2d`) y el
 # banco creció. Re-medido contra el artefacto vigente, traído del worker al hub:
 #
 #   · ELF x86-64 **estático** de verdad: `readelf -d` ⇒ **0 NEEDED**
-#   · **508 992 bytes** stripped (eran 498 736; +10 KB por las cuatro expansiones no-POSIX)
+#   · **529 808 bytes** stripped. La progresión del día, para que se vea qué cuesta cada cosa:
+#     498 736 (base) → 508 992 (+10 KB, las cuatro expansiones no-POSIX) → 529 808 (+21 KB, el
+#     editor de línea con historial y Tab). Sigue siendo **la mitad** del busybox entero (0,92 MB)
+#     y una fracción de brush (6,9 MB).
 #   · banco diferencial vs el ash de busybox: **1339 casos** —1329 de ellos **fases REALES de
 #     recetas del corpus**, no escritas a mano— ⇒ **DIVERGE=0, avisos(stderr)=0**, 1,5 ms/caso
 #     contra los 1,5 del ash. (bash: 8 divergencias; brush: 35)
@@ -23,7 +26,17 @@
 #     ash — 1,03×**. (Una corrida anterior dio 1,18×: la cifra es ruidosa, el propio banco avisa de
 #     que incluye el fork+exec de Python y sirve para COMPARAR, no como absoluto.) brush: 3,5×.
 #
-# ⚠ **Y desde el 2026-10-22 implementa también cuatro expansiones de BASH**, a pedido explícito del
+# ⚠ **Y desde el 2026-10-22 es TAMBIÉN un shell interactivo** (`src/linea.rs`, a pedido del
+# usuario): historial en memoria y en `~/.simi_historial`, Tab que completa órdenes (builtins +
+# PATH) o rutas según la posición, flechas, Inicio/Fin/Supr, los controles de estilo emacs, y `PS1`
+# con `\u \h \w \$`. Escrito con termios + ANSI y sólo `libc`, por lo mismo que el resto: cada dep
+# de este binario entra en la raíz de confianza del arranque.
+#   · **13/13** pruebas con un PTY real, y la TERMINAL queda idéntica al salir (`lflag` byte a
+#     byte) — el `Drop` del modo crudo es lo que evita dejar la consola muda tras un panic
+#   · lo que NO cubre, dicho en vez de fingido: control de trabajos, `Ctrl-R`, y líneas más largas
+#     que el ancho de la terminal se redibujan feas (el contenido es correcto)
+#
+# ⚠ **Y cuatro expansiones de BASH**, a pedido explícito del
 # usuario: `${x/pat/rep}` `${x//pat/rep}` (con anclajes `#`/`%`), `${x:desde:largo}` y
 # `${x^} ${x^^} ${x,} ${x,,}`. Son añadidos PUROS —POSIX deja esa sintaxis sin definir— y está
 # verificado con control, no supuesto: el banco POSIX da los **MISMOS 2 fallos** preexistentes
@@ -44,7 +57,7 @@ license = "MIT"
 [source]
 # El propio takana. El commit es el identificador inmutable; subirlo cuando simi avance.
 repo   = "https://git.gioser.net/sergio/takana.git"
-commit = "5ab371db31aeae5141eb16a90dcbf825c0df8536"
+commit = "6dcaff42842f8e26575fbe3bd26a466bc6b9c754"
 
 [build]
 compiler = "zig-cc"