InvariantReinforcementLoop Skill
Overview
Recursive meta-learning that re-encodes its own metrics as input. Maintains complexity homeostasis (K ≈ constant ±10%) across RQNS iterations. Drives cumulative learning without simplification or divergence.
Use When
- Long-running autonomous learning loops
- Verifying that recursive self-improvement is bounded (AI safety)
- Kolmogorov complexity monitoring for cognitive state
- Any system that models its own state (metacognition)
Complexity Homeostasis Rule
Stable-yet-nontrivial dynamics: complexity ≈ constant.
HOMEOSTATIC— healthy invariant preservationDIVERGING— runaway complexity growth (safety alert)COLLAPSING— oversimplification, loss of nuance
Core Loop
while running:
state = get_current_state()
result = loop.step(state, external_metrics)
if not result.invariant_preserved:
trigger_clarification() # Φ < 0.7 → stop and ask
re_encode(result) # feed output back as input
Implementation
from src.rqns.invariant import InvariantReinforcementLoop
loop = InvariantReinforcementLoop(window=50)
result = loop.step(state_vector, {"phi": 0.85, "soc": 0.72})
print(loop.complexity_trend) # HOMEOSTATIC / DIVERGING / COLLAPSING
Safety Bounds
- η* = 0.03: Never attempt to close the incompleteness gap to zero
- homeostasis_tolerance = 10%: If complexity drifts > 10%, pause and verify
- meta_phi < 0.7: Always request clarification before autonomous action