83 lines
2.9 KiB
Markdown
83 lines
2.9 KiB
Markdown
ELAC-Plan Interoperability and DSL Sketch
|
|
|
|
Overview
|
|
- ELAC-Plan defines a canonical primitive set for cross-venue execution planning:
|
|
- Objects/LocalProblem: per-asset, per-venue optimization tasks
|
|
- Morphisms/SharedVariables: privacy-bounded market signals
|
|
- DualVariables: cross-venue coupling signals (shadow prices)
|
|
- PlanDelta: incremental plan updates with provenance metadata
|
|
- AuditLog: cryptographic provenance and governance events
|
|
|
|
Interoperability mapping ( EnergiBridge-style )
|
|
- Map ELAC primitives to a simple, vendor-agnostic IR:
|
|
- LocalProblem -> Object: id, asset, venue, objective, constraints, price_target, tolerance
|
|
- SharedVariables -> Morphisms: contract_id, version, variables
|
|
- PlanDelta -> PlanDelta: delta, timestamp, author, contract_id, privacy_budget
|
|
- DualVariables -> DualVariables: contract_id, version, shadow_prices
|
|
- AuditLog -> AuditLog: entries with event, timestamp, hash, details
|
|
|
|
Minimal DSL sketch (Python dataclasses used in tests)
|
|
```python
|
|
from dataclasses import dataclass
|
|
from typing import Dict, Any
|
|
|
|
@dataclass
|
|
class DSLObject:
|
|
id: str
|
|
asset: str
|
|
venue: str
|
|
objective: str
|
|
constraints: Dict[str, Any]
|
|
price_target: float
|
|
tolerance: float
|
|
|
|
@dataclass
|
|
class DSLMorphisms:
|
|
contract_id: str
|
|
version: int
|
|
variables: Dict[str, Any]
|
|
|
|
@dataclass
|
|
class DSLDualVariables:
|
|
contract_id: str
|
|
version: int
|
|
shadow_prices: Dict[str, float]
|
|
|
|
@dataclass
|
|
class DSLPlanDelta:
|
|
contract_id: str
|
|
delta: Dict[str, Any]
|
|
timestamp: str
|
|
author: str
|
|
privacy_budget: float
|
|
```
|
|
|
|
Toy two-adapter MVP (Phase 0)
|
|
- 2 starter adapters:
|
|
- NBBOFeedAdapter: translates NBBO-like quotes into SharedVariables (privacy-bounded)
|
|
- BrokerGatewayAdapter: publishes PlanDelta to a broker API (TLS transport conceptually)
|
|
- Lightweight LocalSolver that consumes LocalProblem and emits PlanDelta
|
|
- End-to-end delta-sync with deterministic replay on reconnects
|
|
- Toy cross-venue objective (e.g., simple arb or spread capture)
|
|
|
|
Phase plan (high level)
|
|
- Phase 0: Protocol skeleton + 2 adapters + TLS; deterministic delta-sync; local objective
|
|
- Phase 1: Governance ledger scaffolding; identity layer; adapter conformance checks
|
|
- Phase 2: Cross-venue demo in simulated environments; reference ELAC SDK
|
|
- Phase 3: Performance and privacy budget evaluation
|
|
|
|
Security and governance principles
|
|
- TEEs/isolations for edge solvers; per-message crypto-tags
|
|
- Secure aggregation for SharedVariables; optional zk-proofs
|
|
- Tamper-evident governance ledger anchored to a lightweight ledger or hash chain
|
|
- DID-based identity certificates for adapters
|
|
|
|
Testability and metrics
|
|
- Latency: data feed -> plan delta at edge
|
|
- Delta-sync turnaround and convergence speed
|
|
- Plan quality vs centralized baseline
|
|
- Privacy budget leakage budgets
|
|
- Adapter conformance and governance coverage
|
|
|
|
If helpful, I can draft concrete DSL sketches for additional primitives or extend the toy MVP with a lightweight TLS transport layer and simulated venues.
|