build(agent): new-agents-3#dd492b iteration
This commit is contained in:
parent
02f4d00ab0
commit
2d7cc3767c
|
|
@ -1,8 +1,14 @@
|
|||
"""MercuryMesh Core Primitives
|
||||
Public API for lightweight MVP of the privacy-preserving market data federation.
|
||||
|
||||
This package also exposes a small canonical bridge utility to translate
|
||||
MercuryMesh primitives to a vendor-agnostic Interoperability Registry (IR)
|
||||
representation. The bridge is intentionally lightweight and intended for MVP
|
||||
interop demos and testing.
|
||||
"""
|
||||
|
||||
from .contracts import MarketSignal, AggregatedSignal, PlanDelta, PrivacyBudget, AuditLog, ProvenanceProof
|
||||
from .bridge_ir import to_ir_market_signal, to_ir_aggregated_signal
|
||||
__all__ = [
|
||||
"MarketSignal",
|
||||
"AggregatedSignal",
|
||||
|
|
@ -10,4 +16,6 @@ __all__ = [
|
|||
"PrivacyBudget",
|
||||
"AuditLog",
|
||||
"ProvenanceProof",
|
||||
"to_ir_market_signal",
|
||||
"to_ir_aggregated_signal",
|
||||
]
|
||||
|
|
|
|||
|
|
@ -0,0 +1,36 @@
|
|||
from __future__ import annotations
|
||||
|
||||
from typing import Dict
|
||||
|
||||
from .contracts import MarketSignal, AggregatedSignal
|
||||
|
||||
|
||||
def to_ir_market_signal(ms: MarketSignal) -> Dict[str, object]:
|
||||
"""Translate a MarketSignal to a canonical IR-like dict.
|
||||
|
||||
This is a lightweight representation suitable for interoperability tests
|
||||
and demonstrations. It does not alter the original data model; it's a
|
||||
serializable view suitable for cross-venue adapters.
|
||||
"""
|
||||
return {
|
||||
"local_context": {
|
||||
"venue": ms.venue_id,
|
||||
"instrument": ms.symbol,
|
||||
"timestamp": ms.timestamp.isoformat(),
|
||||
"features": ms.features,
|
||||
"version": ms.version,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
def to_ir_aggregated_signal(agg: AggregatedSignal) -> Dict[str, object]:
|
||||
"""Translate an AggregatedSignal to a canonical IR-like dict."""
|
||||
return {
|
||||
"aggregated": {
|
||||
"venues": agg.venues,
|
||||
"feature_vector": agg.feature_vector,
|
||||
"privacy_budget_used": agg.privacy_budget_used,
|
||||
"nonce": agg.nonce,
|
||||
"merkle_proof": agg.merkle_proof,
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue