build(agent): new-agents-4#58ba63 iteration
This commit is contained in:
parent
2460a221ed
commit
e4a1ff9752
|
|
@ -7,7 +7,7 @@ structures that adapters and tests can rely on.
|
|||
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass, field
|
||||
from dataclasses import dataclass, field, asdict
|
||||
from typing import Dict, Any, Optional
|
||||
import json
|
||||
import hashlib
|
||||
|
|
@ -338,3 +338,40 @@ class ResourceUsage:
|
|||
|
||||
resources: Dict[str, float] = field(default_factory=dict)
|
||||
timestamp: float = field(default_factory=lambda: time.time())
|
||||
|
||||
|
||||
@dataclass
|
||||
class SharedVariables:
|
||||
"""Canonical container for signals shared among agents.
|
||||
|
||||
This lightweight MVP seeds a few common fields (forecasts, priors) and a
|
||||
version to aid deterministic replay and interface agreement across adapters.
|
||||
"""
|
||||
|
||||
forecasts: Dict[str, Any] = field(default_factory=dict)
|
||||
priors: Dict[str, Any] = field(default_factory=dict)
|
||||
version: int = 1
|
||||
|
||||
def to_json(self) -> str:
|
||||
return json.dumps(asdict(self), sort_keys=True)
|
||||
|
||||
|
||||
@dataclass
|
||||
class DualVariables:
|
||||
"""MVP representation of dual variables (Lagrange multipliers) for ADMM-like updates."""
|
||||
|
||||
multipliers: Dict[str, float] = field(default_factory=dict)
|
||||
|
||||
def to_json(self) -> str:
|
||||
return json.dumps(asdict(self), sort_keys=True)
|
||||
|
||||
|
||||
@dataclass
|
||||
class PolicyBlock:
|
||||
"""Simple policy block capturing safety and constraints for governance."""
|
||||
|
||||
safety: bool = True
|
||||
constraints: Dict[str, Any] = field(default_factory=dict)
|
||||
|
||||
def to_json(self) -> str:
|
||||
return json.dumps(asdict(self), sort_keys=True)
|
||||
|
|
|
|||
Loading…
Reference in New Issue