build(agent): new-agents-2#7e3bbc iteration
This commit is contained in:
parent
c4abc41553
commit
91e8c6459a
|
|
@ -0,0 +1,38 @@
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
import datetime
|
||||||
|
from mercurymesh.contracts import MarketSignal, AggregatedSignal
|
||||||
|
from mercurymesh.adapters.venue_a import VenueAAdapter
|
||||||
|
from mercurymesh.adapters.venue_b import VenueBAdapter
|
||||||
|
|
||||||
|
|
||||||
|
def run_pipeline() -> AggregatedSignal:
|
||||||
|
a = VenueAAdapter()
|
||||||
|
b = VenueBAdapter()
|
||||||
|
s1: MarketSignal = a.extract_signal()
|
||||||
|
s2: MarketSignal = b.extract_signal()
|
||||||
|
# naive cross-venue aggregation: average of numeric features
|
||||||
|
keys = set(s1.features.keys()) | set(s2.features.keys())
|
||||||
|
avg: dict = {}
|
||||||
|
for k in keys:
|
||||||
|
v1 = s1.features.get(k, 0.0)
|
||||||
|
v2 = s2.features.get(k, 0.0)
|
||||||
|
avg[k] = float((v1 + v2) / 2.0)
|
||||||
|
agg = AggregatedSignal(
|
||||||
|
venues=[s1.venue_id, s2.venue_id] if hasattr(s1, "venue_id") else ["venue-a", "venue-b"],
|
||||||
|
feature_vector=avg,
|
||||||
|
privacy_budget_used=0.0,
|
||||||
|
nonce="pipeline-run-" + datetime.datetime.utcnow().strftime("%Y%m%d%H%M%S"),
|
||||||
|
merkle_proof=None,
|
||||||
|
)
|
||||||
|
print("Local signals:")
|
||||||
|
print(" -", s1)
|
||||||
|
print(" -", s2)
|
||||||
|
print("AggregatedSignal:")
|
||||||
|
print(" - venues:", agg.venues)
|
||||||
|
print(" - features:", agg.feature_vector)
|
||||||
|
return agg
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
run_pipeline()
|
||||||
Loading…
Reference in New Issue