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