Badge Logic 🏷️
(RTT‑Aligned System Signaling)
Badges are the primary output of NawderOS.
They are not alerts.
They are not errors.
They are not commands.
Badges are signals — structured observations about system coherence over time.
Por qué existen las insignias#
RTT enfatiza:
- observación sobre aplicación
- coherencia sobre control
- linaje sobre anonimato
Las insignias existen para hacer que esos principios visibles para las máquinas.
Si algo importa, debería emitir una insignia.
Si no emite una insignia, no sucedió (en lo que respecta a RTT).
Qué es una insignia (y qué no es)#
Una insignia es:#
- solo‑agregar
- legible‑por‑máquina
- rico‑en‑contexto
- aburrido 😄
Una insignia no es:#
- una decisión de política
- un desencadenante de remediación
- una señal de pánico
- un juicio
Las insignias describen lo que sucedió, no lo que hacer.
Estructura del Insignia Principal 📐#
Cada insignia sigue la misma estructura básica:
{
"badge_type": "STRING",
"timestamp": "ISO-8601",
"module": "STRING",
"context": { },
"severity": "INFO | NOTICE | DRIFT"
}Esta estructura es intencionalmente simple y estable.
Campos de Insignia Explicados#
badge_type#
Un identificador corto y estable.
Ejemplos:
CORRIDOR_BREACHWRAP_DRIFTSUBSTRATE_BASELINESUBSTRATE_DRIFT
Los tipos de insignias deben ser:
- descriptivos
- consistentes
- aburridos
timestamp#
Cuándo ocurrió la observación.
Las insignias se preocupan por el tiempo — RTT se trata literalmente de tiempo 😄
module#
Qué módulo emitió la insignia.
Esto preserva la línea de tiempo y hace que la depuración sea sensata.
context#
Un objeto de forma libre que contiene metadatos relevantes.
Ejemplos:
- PID
- región de memoria
- versión del núcleo
- nombre del módulo
El contexto debe explicar por qué existe la insignia sin interpretación.
severity#
Un indicador burdo del estado de coherencia.
Valores permitidos:
INFO— observación esperadaNOTICE— inusual pero no críticoDRIFT— desviación de coherencia detectada
La gravedad no es urgencia.
Tipos de Insignias Comunes 🧩#
SUBSTRATE_BASELINE#
Emitido al arrancar.
Propósito:
- registrar lo que el sistema cree que es
- establecer un punto de referencia
SUBSTRATE_DRIFT#
Emitido cuando cambian las suposiciones fundamentales.
Propósito:
- detectar la evolución silenciosa del sistema
- preservar la línea de descendencia
CORRIDOR_BREACH#
Emitido cuando el comportamiento sale de un corredor declarado.
Propósito:
- resaltar cruces de límites de coherencia
- habilitar análisis posteriores
WRAP_DRIFT#
Emitido durante transiciones de límite inesperadas.
Propósito:
- observar la pérdida o desajuste de contexto
- señalar transiciones arriesgadas
Reglas de Emisión de Insignias 📜#
Para mantener las insignias confiables:
- Nunca bloquees la ejecución del sistema
- Nunca desencadenes la aplicación
- Nunca modifiques el estado del sistema
- Nunca ocultes o suprimas insignias
Si emitir una insignia causaría daño, no la emitas.
Consumidores de Insignias 🔍#
Las insignias están destinadas a ser consumidas por:
- humanos
- registros
- simulaciones
- herramientas de visualización
- herramientas educativas
No están destinadas a ser actuadas automáticamente.
La interpretación pertenece fuera del núcleo.
Bifurcaciones y Insignias 🍴#
Las bifurcaciones pueden:
- agregar nuevos tipos de insignias
- ampliar campos de contexto
- redefinir la semántica de severidad
Las bifurcaciones no deben:
- sobrecargar los significados de las insignias existentes
- cambiar silenciosamente el comportamiento de las insignias
- eliminar información de linaje
Si cambias la semántica de las insignias, documentalo.
Why This Matters#
Badges are how RTT stays honest.
They:
- make assumptions visible
- preserve history
- prevent silent drift
- enable learning
They don’t solve problems.
They make problems legible.
And legibility is power 🙂