22 lines
801 B
Python
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)
|