contract
Owned boundaries
Nautilus owns market and trading meaning; Anthera owns service metadata, durable projections, and browser contracts.
- Question
- Which types are allowed to become durable contracts?
- Binding decision
- Nautilus model values are canonical inside the runtime; infrastructure and browser shapes remain narrow projections.
- Owner input
- Exact target crate paths are reconciled against the Tradingview workspace in Phase 0.
- source
- provider · dataset · schema · instrument
- series
- aggregation · step · price source · generation
- time
- event · receive · commit watermark
- order
- record identity · sequence · correction lineage
- scope
- tenant · entitlement · query budget
- proof
- coverage · completeness · exhaustion · provenance
External SDK and infrastructure types terminate outside this boundary.
The kernel dependency rule
The runtime composes core, model, live/node, Databento, trading, and IBKR at one revision. Data, system, portfolio, risk, and execution form the coherent kernel. QuestDB, Redis, workflow, and browser adapters depend outward from bounded Anthera projection ports.
- Nautilus model → kernel → bounded projection ports
- QuestDB, Redis, workflow, and browser adapters implement Anthera service ports
- runtime and CLI own lifecycle, composition, and proof commands
- every workspace crate inherits strict Rust lints
EvidenceARCHITECTURE.md and scripts/check-arch.sh.
The provider is already integrated
nautilus-databento uses Databento's official Rust client and supplies file loading, historical requests, live subscriptions, a LiveMarketDataClient, DBN decoding, and Arrow/catalog support. Anthera validates that adapter instead of building another normalization path.
- DBN schema coverage, symbology, timestamps, precision, and skipped-record behavior are fixture tested.
- All Nautilus crates share one revision, feature set, precision policy, and license review.
- Raw DBN and broad internal Data enums do not become QuestDB or browser contracts.
EvidenceOfficial Databento integration docs and crates/adapters/databento source.
mise x -- task check:archOutward dependencies and missing workspace lint inheritance fail.