Skip to content

DIR #1

Description

@Treceav0

class DIRSystem:
def init(self, state=None):
self.state = state if state is not None else {}
self.history = []
self.weights = {} # nueva capa de importancia
self.step_count = 0

# -------------------------
# REFLEXIÓN DINÁMICA
# -------------------------
def reflect(self):
    """
    Ahora la reflexión detecta estructura, no solo cantidad
    """

    keys = list(self.state.keys())

    nulls = sum(1 for v in self.state.values() if v is None)
    filled = len(self.state) - nulls

    # densidad relacional (si hay estructura)
    relation_density = filled / (len(keys) + 1)

    # estabilidad histórica (cambio entre estados)
    if len(self.history) > 1:
        last = self.history[-1]
        change_rate = sum(
            1 for k in self.state
            if k in last and last[k] != self.state[k]
        ) / (len(self.state) + 1)
    else:
        change_rate = 0

    return {
        "density": relation_density,
        "instability": change_rate,
        "null_pressure": nulls
    }

# -------------------------
# PRODUCCIÓN DINÁMICA
# -------------------------
def produce(self, input_signal=None):
    """
    El sistema ahora modifica su propia estructura de prioridad
    """

    self.history.append(self.state.copy())
    self.step_count += 1

    # integración de input
    if input_signal:
        for k, v in input_signal.items():
            self.state[k] = v
            self.weights[k] = self.weights.get(k, 1) + 1

    # auto-reconfiguración estructural
    for k in list(self.state.keys()):
        if self.state[k] is None:
            # ahora no es fijo: depende del contexto del sistema
            self.state[k] = f"resolved_t{self.step_count}"

    # decaimiento de memoria (olvido controlado)
    for k in self.weights:
        self.weights[k] *= 0.95

    return self.state

# -------------------------
# LOOP DIR COMPLETO
# -------------------------
def loop(self, input_signal=None):
    reflection = self.reflect()
    production = self.produce(input_signal)

    # meta-feedback: reflexión modifica el futuro
    if reflection["instability"] > 0.5:
        self.state["_mode"] = "stabilization"
    else:
        self.state["_mode"] = "expansion"

    return {
        "reflection": reflection,
        "production": production,
        "mode": self.state["_mode"]
    }

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    Status
    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions