CIE-Unified

git clone 

CIE-Unified / cie
codex@macbookpro  ·  2026-03-31

state.py

 1from __future__ import annotations
 2
 3from dataclasses import dataclass, field
 4from typing import Any, Dict, List, Tuple
 5
 6from .graph import Graph
 7
 8
 9@dataclass
10class PendingSignal:
11    source: str
12    tokens: List[str]
13    context_tokens: List[str] = field(default_factory=list)
14    anchor_tokens: List[str] = field(default_factory=list)
15    strength: float = 1.0
16    polarity: int = 1
17    metadata: Dict[str, Any] = field(default_factory=dict)
18
19
20@dataclass
21class SedimentationProfile:
22    stage: str = "memory"
23    activation_hits: int = 0
24    stable_steps: int = 0
25    dormant_steps: int = 0
26    resonance: float = 0.0
27    candidate_score: float = 0.0
28    last_active_step: int = -1
29    last_transition_step: int = 0
30    merged_into: str | None = None
31
32
33@dataclass
34class RuntimeState:
35    phi: Dict[str, float] = field(default_factory=dict)
36    mu: Dict[str, float] = field(default_factory=dict)
37    J: Dict[Tuple[str, str], float] = field(default_factory=dict)
38    graph: Graph = field(default_factory=Graph)
39    anchor_nodes: Dict[str, float] = field(default_factory=dict)
40    strata: Dict[str, str] = field(default_factory=dict)
41    sedimentation: Dict[str, SedimentationProfile] = field(default_factory=dict)
42    touch_count: Dict[str, int] = field(default_factory=dict)
43    node_last_touched: Dict[str, int] = field(default_factory=dict)
44    edge_last_touched: Dict[Tuple[str, str], int] = field(default_factory=dict)
45    pending_signals: List[PendingSignal] = field(default_factory=list)
46    sedimentation_trace: List[dict] = field(default_factory=list)
47    merge_events: List[dict] = field(default_factory=list)
48    decay_events: List[dict] = field(default_factory=list)
49    feedback_effect: dict = field(default_factory=dict)
50    active_region: List[str] = field(default_factory=list)
51    output_mode: str = "minimal"
52    last_output: str = ""
53    step_index: int = 0
54    bound_ability_core: str | None = None
55    drift_score: float = 0.0
56    anchor_pull: float = 0.0
57    free_capacity: float = 1.0
58    confidence_proxy: float = 0.0