RFTSystems commited on
Commit
e41cd5c
·
verified ·
1 Parent(s): 592aae5

Update codex/formulas.py

Browse files
Files changed (1) hide show
  1. codex/formulas.py +16 -5
codex/formulas.py CHANGED
@@ -8,16 +8,17 @@ class Formula:
8
  self.expression = expression
9
 
10
  def evaluate(self, agent: dict) -> float:
11
- overlay = agent.get("collapse_overlay", {})
12
  tau_eff = overlay.get("tau_eff", 1.0)
13
  beta = overlay.get("beta_band", 0.5)
14
- weights = overlay.get("operator_weights", {})
15
  tier = agent.get("tier", "Tier_1")
16
  tier_level = int(tier.split("_")[1]) if "_" in tier else 1
17
  resonance = 1.2 if agent.get("emotional_resonance") else 1.0
18
 
19
- coupling_sum = sum(weights.values())
20
- coupling = coupling_sum / (1.0 + 0.25 * max(1, len(weights)))
 
21
 
22
  drift_penalty = 0.18 * tier_level
23
  drift_resilience = 1.0 + 0.05 * (tier_level - 1)
@@ -34,6 +35,16 @@ GVU_FORMULAS = {
34
  }
35
 
36
  def rft_invariants(agent: dict) -> dict:
37
- overlay = agent.get("collapse_overlay", {})
 
 
 
38
  tier = agent.get("tier", "Tier_1")
39
  tier_level = int(tier.split("_")[1]) if "_" in tier else 1
 
 
 
 
 
 
 
 
8
  self.expression = expression
9
 
10
  def evaluate(self, agent: dict) -> float:
11
+ overlay = agent.get("collapse_overlay", {}) or {}
12
  tau_eff = overlay.get("tau_eff", 1.0)
13
  beta = overlay.get("beta_band", 0.5)
14
+ weights = overlay.get("operator_weights", {}) or {}
15
  tier = agent.get("tier", "Tier_1")
16
  tier_level = int(tier.split("_")[1]) if "_" in tier else 1
17
  resonance = 1.2 if agent.get("emotional_resonance") else 1.0
18
 
19
+ coupling_sum = sum(v for v in weights.values() if isinstance(v, (int, float)))
20
+ weight_count = max(1, len(weights))
21
+ coupling = coupling_sum / (1.0 + 0.25 * weight_count)
22
 
23
  drift_penalty = 0.18 * tier_level
24
  drift_resilience = 1.0 + 0.05 * (tier_level - 1)
 
35
  }
36
 
37
  def rft_invariants(agent: dict) -> dict:
38
+ """
39
+ Always returns a dict; never None. Uses safe defaults if data is missing.
40
+ """
41
+ overlay = agent.get("collapse_overlay", {}) or {}
42
  tier = agent.get("tier", "Tier_1")
43
  tier_level = int(tier.split("_")[1]) if "_" in tier else 1
44
+ operators = agent.get("symbolic_operators", []) or []
45
+ return {
46
+ "tau_eff": overlay.get("tau_eff", 1.0),
47
+ "beta_band": overlay.get("beta_band", 0.5),
48
+ "operator_count": len(operators),
49
+ "tier_level": tier_level,
50
+ }