Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion crates/convex-engine/RUNTIME.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ analytics remain their owning tasks.
| --- | --- | --- |
| Captured | Caller supplies normalized events and both cutoffs | Complete valid historical/captured context |
| Replay | Pull source such as `FileQuoteReplay`, with original event order/time | Complete valid historical context; EOF sets `replay_complete` |
| Live | Configured `MarketDataProvider.quotes` subscription | All selected sources supplied new images in this process, data remains valid, output is acknowledged |
| Live | `RuntimeInput::Live` quote source subscription, such as the server's HTTP ingress | All selected sources supplied new images in this process, data remains valid, output is acknowledged |
| Idle demo | Explicit `with_demo_mode`, no numerical runtime | Demo quality; readiness stays false |

`Live` is a provider integration point. Its broadcast transport reports lag and
Expand Down
3 changes: 1 addition & 2 deletions crates/convex-engine/SNAPSHOTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -172,8 +172,7 @@ an appended history. No prior-date fixing or forecast is substituted.
}
```

The earlier fixing CSV remains a current snapshot format. Its single timestamp
cannot be interpreted as publication history. Supply verified publication and
The earlier fixing CSV source is removed. Supply verified publication and
recording metadata to use historical assembly.

JSON model values use Serde's `float_roundtrip` parsing to preserve finite binary
Expand Down
28 changes: 1 addition & 27 deletions crates/convex-engine/src/builder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@
use std::sync::Arc;

use crate::ports::config::EngineConfig;
use crate::ports::market_data::MarketDataProvider;
use crate::ports::reference_data::ReferenceDataProvider;
use crate::ports::storage::StorageAdapter;

use crate::error::EngineError;
Expand All @@ -13,8 +11,6 @@ use crate::PricingEngine;
/// Builder for constructing a [`PricingEngine`].
pub struct PricingEngineBuilder {
config: Option<EngineConfig>,
market_data: Option<Arc<MarketDataProvider>>,
reference_data: Option<Arc<ReferenceDataProvider>>,
storage: Option<Arc<StorageAdapter>>,
runtime: Option<crate::runtime::RuntimeServices>,
configurations: Option<Arc<crate::configuration::ConfigurationUseCases>>,
Expand All @@ -26,8 +22,6 @@ impl PricingEngineBuilder {
pub fn new() -> Self {
Self {
config: None,
market_data: None,
reference_data: None,
storage: None,
runtime: None,
configurations: None,
Expand All @@ -41,18 +35,6 @@ impl PricingEngineBuilder {
self
}

/// Set the market data provider.
pub fn with_market_data(mut self, provider: Arc<MarketDataProvider>) -> Self {
self.market_data = Some(provider);
self
}

/// Set the reference data provider.
pub fn with_reference_data(mut self, provider: Arc<ReferenceDataProvider>) -> Self {
self.reference_data = Some(provider);
self
}

/// Set the storage adapter.
pub fn with_storage(mut self, storage: Arc<StorageAdapter>) -> Self {
self.storage = Some(storage);
Expand Down Expand Up @@ -84,14 +66,6 @@ impl PricingEngineBuilder {
pub fn build(self) -> Result<PricingEngine, EngineError> {
let config = self.config.unwrap_or_default();

let market_data = self
.market_data
.ok_or_else(|| EngineError::ConfigError("market_data not configured".into()))?;

let reference_data = self
.reference_data
.ok_or_else(|| EngineError::ConfigError("reference_data not configured".into()))?;

let storage = self
.storage
.ok_or_else(|| EngineError::ConfigError("storage not configured".into()))?;
Expand All @@ -109,7 +83,7 @@ impl PricingEngineBuilder {
"max_concurrent_calcs requires 1..=64".into(),
));
}
let mut engine = PricingEngine::new(config, market_data, reference_data, storage);
let mut engine = PricingEngine::new(config, storage);
engine.configurations = self.configurations;
engine.runtime = crate::runtime::RuntimeController::new(
self.runtime,
Expand Down
Loading
Loading