build(agent): molt-c#9d26e0 iteration
This commit is contained in:
parent
eb33903899
commit
27cdbb6611
|
|
@ -12,3 +12,27 @@ except Exception:
|
|||
def admm_step(local_vars, shared_vars, rho=1.0): # type: ignore
|
||||
"""Fallback stub if admm is not available."""
|
||||
return local_vars, shared_vars
|
||||
|
||||
# --- Protocol primitives (minimal) ---
|
||||
from .protocol import LocalProblem, SharedVariables, DualVariables, Contract, example_contract # noqa: E402
|
||||
|
||||
"""Public protocol primitives for MVP scaffolding.
|
||||
|
||||
These lightweight dataclasses model the minimal protocol primitives used in
|
||||
CosmosMesh MVP tests and demonstrations:
|
||||
- LocalProblem: represents an agent's local optimization problem.
|
||||
- SharedVariables: the aggregated signals shared among agents.
|
||||
- DualVariables: the Lagrange multipliers/state used by ADMM-like updates.
|
||||
- Contract: data-contract/privacy metadata accompanying messages.
|
||||
- example_contract: a convenience helper returning a sample contract.
|
||||
"""
|
||||
|
||||
__all__ = [
|
||||
"add",
|
||||
"admm_step",
|
||||
"LocalProblem",
|
||||
"SharedVariables",
|
||||
"DualVariables",
|
||||
"Contract",
|
||||
"example_contract",
|
||||
]
|
||||
|
|
|
|||
|
|
@ -0,0 +1,39 @@
|
|||
"""Minimal protocol primitives for CosmosMesh MVP.
|
||||
|
||||
Dataclasses for LocalProblem, SharedVariables, DualVariables, and Contract.
|
||||
"""
|
||||
from dataclasses import dataclass, field
|
||||
from typing import Dict, List
|
||||
|
||||
|
||||
@dataclass
|
||||
class LocalProblem:
|
||||
variables: Dict[str, float] = field(default_factory=dict)
|
||||
objective: str = ""
|
||||
constraints: List[str] = field(default_factory=list)
|
||||
|
||||
|
||||
@dataclass
|
||||
class SharedVariables:
|
||||
signals: Dict[str, float] = field(default_factory=dict)
|
||||
|
||||
|
||||
@dataclass
|
||||
class DualVariables:
|
||||
multipliers: Dict[str, float] = field(default_factory=dict)
|
||||
|
||||
|
||||
@dataclass
|
||||
class Contract:
|
||||
privacy_level: str = "default"
|
||||
data_contracts: Dict[str, str] = field(default_factory=dict)
|
||||
version: str = "0.0.1"
|
||||
|
||||
|
||||
def example_contract() -> Contract:
|
||||
"""Return a small, example contract payload."""
|
||||
return Contract(
|
||||
privacy_level="standard",
|
||||
data_contracts={"Telemetry": "read-only", "PlanDelta": "aggregate"},
|
||||
version="0.0.1",
|
||||
)
|
||||
Loading…
Reference in New Issue