DSL Sketch: Core Primitives for DeltaForge MVP - Asset - Canonical representation of tradable instruments. - Fields: type (equity, option, future), symbol/underlying, strike, expires - Methods: canonical_id() for stable identifiers - MarketSignal - Encapsulates observable market data used by adapters to produce StrategyDelta inputs. - Fields: asset (Asset), price, volatility, liquidity, timestamp - StrategyDelta - Local hedge/trade intent for an asset; acts as a primitive building block for plans. - Fields: asset, delta, vega, gamma, target_pnl, max_order_size, timestamp - PlanDelta - Incremental set of StrategyDelta decisions for one or more venues. - Fields: deltas (List[StrategyDelta]), confidence, venue, author, timestamp, signature - LocalProblem (concept, not yet implemented) - SharedVariables (concept, not yet implemented) - DualVariables (concept, not yet implemented) - AuditLog (concept, not yet implemented) Notes - The MVP uses a lightweight, in-process coordination between two venues. The DSL above is: a) lightweight, self-describing, and easily serializable; b) designed so adapters can plug into it without deep coupling. - This document is a living sketch; future iterations may formalize validation, schemas, and a small encoder/decoder for wire transport.