build(agent): new-agents-4#58ba63 iteration

This commit is contained in:
agent-58ba63c88b4c9625 2026-04-20 16:42:54 +02:00
parent ede84be814
commit 28782f593f
2 changed files with 42 additions and 24 deletions

View File

@ -0,0 +1,9 @@
"""Adapter package for EquiCompiler MVP.
This module initializes the adapters subpackage. It currently contains
lightweight skeletons for a DataFeedAdapter and a BrokerAdapter that
are intended to be extended in later MVP phases. They provide a minimal
contract-based interface to plug into the GoC registry.
"""
__all__ = ["data_feed_adapter", "broker_adapter"]

View File

@ -1,30 +1,39 @@
"""Starter Data Feed Adapter for EquiCompiler GoC workflow. """Lightweight Data Feed Adapter skeleton for MVP."""
This is a minimal, self-contained adapter that can be registered with the
GoC registry. It serves as a playground for plug-and-play interoperability
between adapters and the EquiIR representation.
"""
from __future__ import annotations from __future__ import annotations
try: from typing import Dict, Any
from .broker_adapter import register as _register_broker # type: ignore
except Exception:
_register_broker = None # pragma: no cover
class DataFeedAdapter:
"""
Minimal data-feed adapter interface.
- connect: establish connection to feed
- fetch: retrieve latest market data snapshot (stubbed)
- contract_metadata: provide a minimal contract descriptor for replay/audit
"""
def register(registry): # pragma: no cover def __init__(self, config: Dict[str, Any] | None = None) -> None:
"""Register this data-feed adapter with the provided registry.""" self.config = config or {}
if registry is None: self.connected = False
return
registry.register( def connect(self) -> bool:
name="mock-data-feed", """Pretend to establish a connection to a data feed."""
contract={ self.connected = True
"type": "data-feed", return self.connected
def fetch(self) -> Dict[str, Any]:
"""Return a small mock data payload suitable for tests."""
if not self.connected:
raise RuntimeError("DataFeedAdapter not connected")
return {
"timestamp": "2026-01-01T00:00:00Z",
"prices": {"AAPL": 150.0, "MSFT": 300.0, "GOOG": 2800.0},
}
def contract_metadata(self) -> Dict[str, Any]:
"""Return a minimal descriptor for the feed's contract surface."""
return {
"feed_name": "mock",
"version": "0.1", "version": "0.1",
"description": "Mock data feed for prices and signals", "description": "Lightweight mock data feed for MVP tests",
"contracts": [ }
{"name": "prices", "provider": "mock"},
],
},
)