deltaforge-real-time-cross-.../deltaforge_mvp/coordination.py

22 lines
801 B
Python

from __future__ import annotations
import time
from typing import List
from deltaforge_mvp.core import StrategyDelta, PlanDelta
class LocalRiskSolver:
def __init__(self, venue: str):
self.venue = venue
def propose(self, deltas: List[StrategyDelta]) -> PlanDelta:
return PlanDelta(deltas=deltas, venue=self.venue, author="LocalRiskSolver", timestamp=time.time())
class CentralCurator:
def enforce(self, plans: List[PlanDelta]) -> PlanDelta:
# Very simple merge: just return the first plan, preserving its deltas
if not plans:
return PlanDelta(deltas=[], venue=None, author="CentralCurator", timestamp=time.time())
return PlanDelta(deltas=plans[0].deltas, venue=plans[0].venue, author="CentralCurator", timestamp=plans[0].timestamp)