Transforma fallos en aprendizajes revisables.

Tu agente registra y propone. Tú decides qué permanece. SIL controla plazos, cambios y evidencias.

Un kit local, bajo tu control

CLI, skill y plantillas para proyectos que trabajan con agentes de código. Sin servidor, cuenta ni llamadas a APIs.

Capturar con evidencia

Separa lo ocurrido, la hipótesis de causa y la mejora propuesta. Cada aprendizaje remite a su incidente.

Decidir en lote

Adopta, experimenta, aplaza con fecha o rechaza. La frecuencia es ajustable y cada decisión queda en el historial.

Reevaluar la validez

El tiempo y los cambios señalan posibles reglas obsoletas. Una persona decide mantenerlas, revisarlas o retirarlas.

Del hecho a la regla, con etapas explícitas

El agente puede realizar la captura durante el trabajo autorizado. Convertir una regla en permanente exige una decisión explícita.

Incidente→Propuesta→Decisión→Regla→Promoción→Revisión

El framework no entrena modelos ni observa conversaciones por su cuenta. La skill orienta al agente para consultar el contexto al inicio, capturar fallos durante el trabajo y comprobar asuntos pendientes al finalizar.

Prueba antes de integrar

Python 3.10+ y Git son suficientes. La demostración usa un proyecto temporal con registros ficticios identificados y lo elimina al terminar.

1

Descarga y ejecuta la demostración

git clone https://github.com/inematds/sil-loop-r.git
cd sil-loop-r
python3 scripts/demo.py
python3 -m unittest discover -s tests -v

La demostración recorre la captura, la aprobación ficticia, la revisión y la retirada. No modifica tus otros proyectos.

2

Elige el proyecto que quieres gestionar

Sustituye la ruta por el directorio deseado. El comando solo crea el almacenamiento local .sil; no modifica instrucciones ni instala hooks.

python3 sil.py --project /caminho/do/projeto init
python3 sil.py --project /caminho/do/projeto occurrence \
  --title "La prueba accedió al servicio incorrecto" \
  --evidence "Registro local: el puerto ya estaba ocupado"
python3 sil.py --project /caminho/do/projeto lesson \
  --occurrence O0001 \
  --proposal "Abortar cuando el puerto esté ocupado" \
  --scope "Servidor de pruebas"

Usa el ID devuelto por el comando anterior. O0001 es solo el primer registro de un proyecto vacío.

3

Consulta el lote y registra una decisión

python3 sil.py --project /caminho/do/projeto status
python3 sil.py --project /caminho/do/projeto request

El agente presenta las propuestas. Ejecuta el siguiente comando solo después de una aprobación explícita para la lección indicada.

python3 sil.py --project /caminho/do/projeto decide L0001 adopt \
  --approved-by "Responsable" \
  --reason "Aprobado tras revisar la evidencia"

También existen reject, defer y trial. El aplazamiento y el experimento requieren una fecha futura; el experimento requiere un criterio verificable. Consulta decide --help.

4

Revisa las reglas a lo largo del tiempo

python3 sil.py --project /caminho/do/projeto context
python3 sil.py --project /caminho/do/projeto check
python3 sil.py --project /caminho/do/projeto review R0001 keep \
  --approved-by "Responsable" \
  --reason "Protección aún necesaria; evidencia revisada"

check devuelve 0 si no hay asuntos pendientes vencidos, 1 cuando hay una decisión o revisión pendiente y 2 en caso de error. Una salida 0 no certifica la veracidad de las reglas.

Elige cuándo hablar sobre aprendizajes

El primer límite alcanzado solicita un lote. La simulación siguiente considera propuestas nuevas, sin recordatorio previo, y no guarda datos ni modifica la configuración.

Configuración real de la CLI

python3 sil.py --project /caminho/do/projeto config \
  --approval-days 7 \
  --approval-releases 2 \
  --approval-batch 5 \
  --review-days 30 \
  --uncited-releases 5

Un recordatorio no aprueba ni cierra asuntos pendientes. Las fechas vencen el mismo día. Las frecuencias se evalúan al ejecutar la CLI; el kit no instala tareas programadas.

Antigua no significa inválida

La falta de citas es una señal para investigar. Las reglas que protegen frente a eventos poco frecuentes pueden seguir siendo necesarias.

Plazo alcanzado

Las revisiones periódicas preguntan si el problema y el alcance siguen existiendo. Citar una regla no aplaza esta revisión.

El archivo cambió

Usa --watch al proponer una lección. Un cambio de contenido o un archivo ausente señala la necesidad de una nueva evaluación.

Decisión documentada

Mantener, revisar o retirar exige una justificación. El historial se conserva y los cambios invalidan la verificación anterior cuando corresponde.

La regla llega a la próxima sesión

Una sesión nueva no consulta la base de datos por sí sola. Las reglas vinculantes van a un bloque en AGENTS.md, y check avisa cuando el bloque se queda atrás.

Pregunta de promoción

¿Romper la regla en una sesión que nunca consulta SIL causa un daño real? Si es así, márcala con enforce --binding yes.

Peldaño y fuga

Registra si la regla es solo texto, checklist, prueba, sonda, hook o regla en el servidor, y cómo puede eludirse.

Bloque vigilado

promote muestra el diff; promote --write escribe entre marcadores y conserva el resto. Un bloque ausente, antiguo o corrupto hace que check devuelva 1.

python3 sil.py --project /ruta/del/proyecto enforce R0001 --binding yes --rung hook \
  --leak "git push --no-verify" --approved-by "Responsable" --reason "Un deploy equivocado rompe la app"
python3 sil.py --project /ruta/del/proyecto promote --write

Lleva el método a tu agente

La skill se distribuye con el código y puede leerse directamente o instalarse voluntariamente en el asistente elegido. Este proyecto no la instala por ti.

Leer la skill (en portugués)

El agente captura hechos y prepara decisiones. Tú controlas las reglas permanentes. Los cambios en instrucciones, hooks y código requieren un alcance autorizado.

Qué verifica la versión 1.1

La CLI valida estados y referencias, calcula plazos y compara archivos asociados. La revisión del significado depende de una persona o de un agente que trabaje con evidencias.

El comando verify guarda resultados de pruebas ya ejecutadas. No ejecuta comandos ni certifica relatos. El nombre de quien aprueba se declara, no se autentica.

Los datos se guardan en .sil/state.sqlite3. Ignora esa carpeta en el Git del proyecto que lo utiliza y revisa las exportaciones antes de compartirlas. No hay sincronización en la nube, interfaz administrativa ni envío de notificaciones.

Lee la arquitectura y las decisiones (en portugués) · Documentación completa